2016个人训练赛8
金金金金鑫
这个作者很懒,什么都没留下…
展开
-
Codeforces 435A Queue on Bus Stop
题意:有n个团队,每个团队a[i]个人,一辆公交一次能载m个人,属于同一团队的人要么都上要么都不上,公车最少需要载几次才能载完这些人。思路:直接模拟一遍。#includeconst int MAX=105;int n,m;int a[MAX];int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ scan原创 2016-07-26 19:45:46 · 257 阅读 · 0 评论 -
Codeforces 435B Pasha Maximizes
题意:给你一个数a思路:要使数最大,那么要在后面找一位大的数来替换前面小的数,这样我们从前面开始,每次从后面找能够通过k次移动的最大的那个数,然后将它移到前面来。#include#includeusing namespace std;typedef __int64 LL;LL a;int k,cnt,d[20];int main(){ scanf("%I64d%d原创 2016-07-26 19:54:24 · 256 阅读 · 0 评论 -
Codeforces 435C Cardiogram
题意:给你n个数a[i],要你模拟出一座每列高a[i]的山。思路:题目说了所有的a[i]和不会超过1000,那么这就简单了,开个3000*3000的数组(因为这些山的高度是有落差的),然后从r=1500行开始模拟就可以啦。注意这里空白的地方要输出空格(坑)。#include#include#includeusing namespace std;const int MAX=原创 2016-07-26 19:58:00 · 281 阅读 · 0 评论 -
Codeforces 435D Special Grid
题意:给你n1.三角形上的点都是白点2.三角形的边沿着图给出的连边3.三角形的边上不能有黑点思路:根据样例,比划下,很快就能发现其实这些满足条件的三角形都是等腰直角三角形,对于图上的每一个白点,我们能够以它为顶点旋转获得八个方向的三角形(都以它为该等腰直角三角形的顶点)想象下。所以我们只需暴力枚举顶点,然后分别判断下。还有一个问题是如何判断黑点,我们可以利用前缀和来O(1)原创 2016-07-26 19:59:10 · 512 阅读 · 0 评论 -
Codeforces 439A Devu, the Singer and Churu, the Joker
题意:Devu有n首歌必须唱,但是时间只有d,给出每首歌的时间t[i]分钟,每唱一首歌后他就得休息10分钟。Churu想利用这些时间空余去讲笑话,每次讲5分钟。问在Devu完成所有歌的前提下,Churu讲笑话的个数最多多少个。思路:Devu休息10分钟Churu能讲2个笑话,最后一首歌唱完不休息,所以在Devu休息时Churu能够讲(n-1)*2的笑话,如果时间允许,他还能将(d-su原创 2016-07-26 20:08:37 · 302 阅读 · 0 评论 -
Codeforces 439B Devu, the Dumb Guy
题意:有n个课,每个c[i]个章节,一开始上一个课每个单元需要花x小时,但是上完一个课x-1(x最少为1),问如何安排上课才能使总时间最小。思路:贪心。章节少的课先上。#include#includeusing namespace std;typedef __int64 LL;const int MAX=1e5;int n;LL x,c[MAX];int main原创 2016-07-26 20:15:19 · 317 阅读 · 0 评论 -
Codeforces 439C Devu and Partitioning of the Array
题意:给你n个数a[i]和k、p,表示将这些数一共分成k组,组内数和为偶数的有p组(其他的为奇数),问你是否可以分。思路:这里我们只关心数的奇偶不关心大小,所以我们把所有奇数和偶数分开存。然后考虑下列公式:偶数+偶数=偶数奇数+奇数=偶数奇数+偶数=奇数可知,奇数个数不能创造的,所以我们可以先判断奇数个数num1是否大于k-p。然后先放奇数组,每组放1个奇数其他拿去原创 2016-07-26 20:16:23 · 294 阅读 · 0 评论 -
Codeforces 439D Devu and his Brother
题意:给你n个数a[i]和m个数b[i],你每次能选择一个数组中的一个数加1或减1,问你最少需要操作几次才能使a数组的最小值大于等于b数组的最大值。思路:我们来考虑下最终的状态,最后数组a和数组b肯定是有一排一样的数,我们称这个数为中间值c,现在如何找到这个数呢?其实不需要找,我们来推导下:假设有a为a数组中最小的数,b为b数组中最大的数,c为我们所要转换的中间值,设a加上x达到c原创 2016-07-26 20:27:43 · 427 阅读 · 0 评论