C语言 多文件项目

将所有文件放到一个项目下,可以一次编译所有 cpp 文件,通过 main 文件引用别文件中函数的方法:将所有函数声明在一个.h 文件中,在需要调用这个函数的文件中#include".h"即可(文件前面加上#pragma once,可以保证头文件只被编译一次,避免一些错误) #include<> 首先

基础 

拓扑排序 最短工期 PTA

题目: 一个项目由若干个任务组成,任务之间有先后依赖顺序。项目经理需要设置一系列里程碑,在每个里程碑节点处检查任务的完成情况,并启动后续的任务。现给定一个项目中各个任务之间的关系,请你计算出这个项目的最早完工时间。 输入格式: 首先第一行给出两个正整数:项目里程碑的数量 N(≤)和任务总数 M。这里

 

STL常用容器总结之十一:heap

头文件 algorithm make_heap();建堆,大顶堆从小到大排序,小顶堆从大到小排序 pop_heap();把第一个和最后一个调换,然后把[first,end-1]重新构堆 push_heap();假设一开始是个有效堆,加进来一个或者一组元素重新构堆 sort_heap();堆排序 #i

STL 

约瑟夫环

n 个人中每数到 m 出队一人,第 k 次出队人的编号 //约瑟夫环// #include<stdio.h> //返回的是第K次出队的人的编号// int ysfh(int n, int m, int k) { if (k == 1) return (n + m - 1) %

递归 

c语言中time函数的用法

头文件 time.h @函数名称: localtime 函数原型: struct tm *localtime(const time_t *timer) 函数功能: 返回一个以 tm 结构表达的机器时间信息 函数返回: 以 tm 结构表达的时间,结构 tm 定义如下: struct tm{

基础 

STL常用容器总结之八:map

map 的详细用法: map 是 STL 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在 map 中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下 map 内部数据的组织,map 内

STL 

STL常用容器总结之九:set

set 的概念 set 翻译为集合,是一个内部有序且不含重复元素的容器,可用于删除重复元素的题目。 set 的基本操作 头文件#include<set> set<typename> s;定义一个 set; s.insert(x);将 x 插入 set 容器中,并自动排序和去重 O(logN)//注意

STL 

STL常用容器总结之十:string

string的概念 可以用来存放字符串,操作方便 string的基本操作 头文件#include<string> String s;定义一个string; 初始化 string s=”abc”;定义的时候直接赋值; Cin>>string;输入一个字符串,以空格、tab、换行结束; getline(

STL 

莫队算法

莫队算法我早有耳闻。。可惜前不久才去学习。 但是自己看了看论文,也就 1h 左右,就能够全部理解了。 也就是说其实这个算法不难。。 好了,让我们进入正题。 我们首先来看一道例题: Description 有n个数字,给出k,以及m个查询。 每次查询的格式是L,r,求L~r(左右包含)这个区间内数字的

算法 

背包模板

模板 /** * 多重背包: * 有N种物品和一个容量为 V的背包。第i种物品最多有 num[i]件可用, * 每件耗费的空间是C[i],价值是W[i]。 * 求解将哪些物品装入背包可使这些物品的耗费的空间总和不超过背包容量,且价值总和最大。 */ #include <iostream> #in