2016个人训练赛3
文章平均质量分 55
金金金金鑫
这个作者很懒,什么都没留下…
展开
-
Codeforces 405A Gravity Flipt
题意:有n列,每列有a[i]个方块,一开始方块的重心朝下,问方块重心朝右时,每列的方块个数。思路:很明显,每列中方块越多的最后越靠右边。直接sort一遍。#include#includeusing namespace std;const int MAX=105;int n,a[MAX];int main(){ scanf("%d",&n); for(int i=原创 2016-07-16 17:54:39 · 296 阅读 · 0 评论 -
Codeforces 405C Unusual Product
题意:给你一个n*n的01矩阵,定义一个unusual square的计算模式,接下来有1,2,3三种操作,1为将某一行的数全部取反,2为将某一列的数全部取反,3为unusual square的值,该值为模2后的值。思路:假设有一个矩阵为那么该矩阵的unusual square值为(a1*a1+a2*b1+a3*c1)+(a2*b1+b2*b2+b3*c2)+(a3*c原创 2016-07-16 18:20:06 · 283 阅读 · 0 评论 -
Codeforces 405D Toy Sum
题意:给你一个X集合,让你构造Y集合,满足Y集合里的数不能在X集合里出现,并且对于X集合里的每一个数都有且X、Y集合里的数均小于10的6次方。思路:构造。枚举X里的元素,对于一个元素x,它能对应一个Y集合中的元素y,满足y=1e6-x+1,若这样的y没有出现在集合X里,那么取,如果出现在X集合里,那么先放在一边。对于所有放在一边的元素,它们必定死偶数个,因为是成对的,那么接下来只需原创 2016-07-16 18:23:21 · 285 阅读 · 0 评论 -
Codeforces 387A George and Sleep
题意:给你两个时间,问你它们之间差多少时间。思路:直接计算。#includeint h1,m1,h2,m2;int main(){ scanf("%d:%d",&h1,&m1); scanf("%d:%d",&h2,&m2); if(m1<m2) h1--,m1=(m1-m2+60); else m1=(m1-m2); if(h1<h2) h1=(h1-h2+24原创 2016-07-16 18:37:15 · 241 阅读 · 0 评论 -
Codeforces 387B George and Round
题意:George要准备n个复杂度为a[i]的题目,现在他已经做好了m个复杂度为b[i]的题目,一个题目合格当且仅当b[i]>=a[i],问George最少需要再准备多少个题目。思路:贪心。对于一个b[i]复杂度的题目来说,用它去匹配最接近的a[i]是最完美的。#include#includeusing namespace std;const int MAX=3005;i原创 2016-07-16 18:37:56 · 240 阅读 · 0 评论 -
Codeforces 387C George and Number
题意:给你一串数字,问你如何划分这些数字,使其按严格递减顺序,划分完后的数字个数最多是多少个。思路:由于不能有前导0,所以我们先把所有的数字单独划分出来。然后从头开始,枚举每一个数,并维护Max,若该数小于Max,则该数可以独立,ans++,并合并到Max中(由于题目所给的操作是允许不同数合并后成为新数去比较的),否则该数要和之前所有的数都合并,ans=1。注意:由于所给数字太大,得用原创 2016-07-16 18:45:21 · 310 阅读 · 0 评论 -
Codeforces 405B Domino Effect
题意:给你一堆多米勒骨牌,.表示不动,L表示向左倒,R表示向右倒。问最后没有倒的多米勒骨牌有几个。思路:模拟。对于一个L方向的骨牌,将其左边不动的骨牌标记为倒。对于一个R方向的骨牌,从它右边第一个骨牌开始一直枚举到一个方向为L的骨牌,若没有直接枚举完,记录它们直接的骨牌个数。若个数为奇数,则中间那个骨牌不会倒,ans+=1。#include#includeconst int原创 2016-07-16 17:55:17 · 237 阅读 · 0 评论