摘要: 约翰有太多的工作要做。为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间。 他的工作日从0时刻开始,有10^8个单位时间。在任一时刻,他都可以选择编号1~N的N(1 <= N <= 10^6)项工作中的任意一项工作来完成。 因为他在每个单位时间里只能做一个工作,而每项工作又有一个截止日 阅读全文
posted @ 2018-04-30 19:31 shuai_hui 阅读(275) 评论(0) 推荐(0) 编辑
摘要: t’s universally acknowledged that there’re innumerable trees in the campus of HUST. Thus a professional tree manager is needed. Your task is to write 阅读全文
posted @ 2018-04-30 17:05 shuai_hui 阅读(189) 评论(0) 推荐(0) 编辑
摘要: DJ算法就是求单源最短路的算法,但是时间复杂度不太理想,所以在此献上用最小堆来优化的算法。 如果不懂优先队列可以先去看STL分类关于优先队列的介绍; ///POJ 2387为例 #include<stdio.h> #include<string.h> #include<queue> #include 阅读全文
posted @ 2018-04-30 13:31 shuai_hui 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 优先队列 引入 优先队列是一种特殊以及强大的队列。 那么优先队列是什么呢? 说白了,就是一种功能强大的队列。 它的功能强大在哪里呢? 四个字:自动排序。 优先队列的头文件&&声明 头文件: 其次,一个优先队列声明的基本格式是: priority_queue<结构类型> 队列名; 不过这是新手级别的, 阅读全文
posted @ 2018-04-30 12:02 shuai_hui 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 声明||作用 string类本不是STL的容器,但是它与STL容器有着很多相似的操作,因此,把string放在这里一起进行介绍。 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足 阅读全文
posted @ 2018-04-30 10:47 shuai_hui 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 二分乘法主要是解决乘法的结果远超int范围,但需要的结果有取余的乘法运算 LL multi(LL a,LL b,LL m) { LL ans = 0; a %= m; while(b) { if(b & 1) { ans = (ans + a) % m; b--; } b >>= 1; a = (a 阅读全文
posted @ 2018-04-30 08:17 shuai_hui 阅读(189) 评论(0) 推荐(0) 编辑
摘要: long long quickpow(long long a, long long b) { if (b < 0) return 0; long long ret = 1; a %= mod; while(b) { if (b & 1) ret = (ret * a) % mod; b >>= 1; 阅读全文
posted @ 2018-04-30 08:10 shuai_hui 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1.什么是逆元 当求解公式:(a/b)%m 时,因b可能会过大,会出现爆精度的情况,所以需变除法为乘法: 设c是b的逆元,则有b*c≡1(mod m);///b*c%m=1%m; 则(a/b)%m = (a/b)*1%m = (a/b)*b*c%m = a*c(mod m); 即a/b的模等于a*b 阅读全文
posted @ 2018-04-30 08:05 shuai_hui 阅读(347) 评论(1) 推荐(1) 编辑