04 2018 档案
摘要:约翰有太多的工作要做。为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间。 他的工作日从0时刻开始,有10^8个单位时间。在任一时刻,他都可以选择编号1~N的N(1 <= N <= 10^6)项工作中的任意一项工作来完成。 因为他在每个单位时间里只能做一个工作,而每项工作又有一个截止日
阅读全文
摘要: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
阅读全文
摘要:DJ算法就是求单源最短路的算法,但是时间复杂度不太理想,所以在此献上用最小堆来优化的算法。 如果不懂优先队列可以先去看STL分类关于优先队列的介绍; ///POJ 2387为例 #include<stdio.h> #include<string.h> #include<queue> #include
阅读全文
摘要:优先队列 引入 优先队列是一种特殊以及强大的队列。 那么优先队列是什么呢? 说白了,就是一种功能强大的队列。 它的功能强大在哪里呢? 四个字:自动排序。 优先队列的头文件&&声明 头文件: 其次,一个优先队列声明的基本格式是: priority_queue<结构类型> 队列名; 不过这是新手级别的,
阅读全文
摘要:声明||作用 string类本不是STL的容器,但是它与STL容器有着很多相似的操作,因此,把string放在这里一起进行介绍。 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足
阅读全文
摘要:二分乘法主要是解决乘法的结果远超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
阅读全文
摘要: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;
阅读全文
摘要: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
阅读全文
摘要:参考文献:1. http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html 2 . https://www.cnblogs.com/hadilo/p/5914302.html 一、欧几里得算法(重点是证明,对后续知识有用) 欧几
阅读全文
摘要:题意: 给出n,m,代表微波炉有n个按钮,要求达到总时间为m 然后给出n个数,代表n个按钮能增加的时间,问最少几步,能够使得按出的总时间大于等于要求的时间,并且相差最小 输出最小的步数与相差的最小值 要求,当总时间小于0时,时间为0,大于3600时,时间为3600 题意: 给出n,m,代表微波炉有n
阅读全文
摘要:Description In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be . Giv
阅读全文
摘要:【题意】 牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离, 现在去掉M块石头,要求去掉M块石头后,剩下的石头之间以及石头与河岸的最小距离的最大值。 Sample Input Sample Output #include<stdio.h> #in
阅读全文
摘要:和最大化最小值类似,最大化平均值也可以通过二分法求得。 比如下面这个经典的问题: 有n个物品的重量和价值分别是wi和vi,从中选出k个物品使得单位重量价值最大。 样例输入: 样例输出: 分析: 一般先想到的是将每个物品的单位重量价值算出来,然后排个序,从大到小贪心进行选择,可惜这样是不对的,这样不能
阅读全文
摘要:描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发
阅读全文
摘要:最小化最大值. 和"河中跳房子","Agressive Cows"等最大化最小值问题正好相反的最小化最大值问题,同样用二分解决,原理基本相同,差别主要在C条件的判断上. 1.最大化最小值: 相当于n个东西分给m个人,使得每个人至少拿x个,那么每个人拿够了就走,给后面的人多留一点,只要能分够>=m个人
阅读全文
摘要:在输出小数的问题中,一般都会指定允许的误差范围或者是指定输出中小数后面的位数。 因此在使用二分搜索的时候,有必要设置合理的结束条件来满足精度的要。 如POJ:1064 的两份代码一样,注意EPS如果设置的太小,就有可能因为浮点小数的精度的原因导致陷入死循环,请注意了
阅读全文
摘要:Description Inhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised
阅读全文
摘要:问题: 给定长度为N的单调不下降数列,求满足ai>=k的最小i。 输入: 5 3 2 3 3 5 6 输出: 1 #include<stdio.h> int main() { int n,k; int a[100]; scanf("%d%d",&n,&k); for(int i=0;i<n;i++)
阅读全文
摘要:Description Farmer John是一个令人惊讶的会计学天才,他已经明白了他可能会花光他的钱,这些钱本来是要维持农场每个月的正常运转的。他已经计算了他以后N(1<=N<=100,000)个工作日中每一天的花费moneyi(1<=moneyi<=10,000),他想要为他连续的M(1<=M
阅读全文
摘要:Description Farmer John wants the cows to prepare for the county jumping competition, so Bessie and the gang are practicing jumping over hurdles. They
阅读全文
摘要:题目 为了让奶牛们娱乐和锻炼,约翰建造了一个美丽的池塘。这个池塘是矩形的,可以分成M×N个方格。一些格子是坚固得令人惊讶的莲花,还有一些是岩石,其余的只是美丽,纯净,湛蓝的水。贝西正在练习芭蕾舞,她站在一朵莲花上,想跳到另一朵莲花上去,她只能从一朵莲花跳到另一朵莲花上,既不能跳到水里,也不能跳到岩石
阅读全文
posted @ 2018-04-22 16:35
shuai_hui

浙公网安备 33010602011771号