10 2013 档案
摘要:题目链接:http://codeforces.com/problemset/problem/305/A题目意思:给出一个序列,需要从中选择一些数,这些数需要满足:任意的两个数中每一位至少有一个数满足该位有0。例如,406, 10(可以看成010)是符合条件的; 406, 11 就不符合条件,因为个位上这两个数都不包含0。 一开始想得太过复杂:把整型的数保存到字符数组中,再用strstr函数找出是否有0的存在,但是这样做根本不能解决问题,因为不能得出0的具体位置。并且不能判断出两个数中的不同位至少有一个有0这个问题;后来甚至想到用位运算,看了下tutorial,原来又把问题想复杂了。 其实,解决
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/357/B题目意思:输入n个人和m场舞蹈,给出每场舞蹈(只有3个人参与)中参与的舞者的编号,你需要为这些舞者安排衣服的颜色,使得每场舞蹈中3个舞者的颜色都满足是白,红,绿的条件。特别要注意题目中的两句话:if some dance has two or more dancers from a previous dance, then the current dance stops being spectacular. 和 each dance has at most one dancer who has
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/357/A题目意思:将一堆人分成两组:beginners 和 intermediate coders 。每一个人都有一个point,给出每一个point里的总人数(Ci 个人有分数 i )和 x,y,需要找出划分为两组后,每一个组的人数(假设为a,b)符合 x = x时,就验证(总人数 - 这个从前往后依次累加的人数)是否也满足 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 1e4 + 10; 7 8 str...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/355/B题目意思:给出四种票种,c1: 某一部bus或者trolley的单程票(暗含只可以乘坐一次);c2、c3、c4乘坐次数没有限制。c2:某一部bus或者trolley可以乘坐无限次;c3:所有的bus或者trolley可以乘坐无限次;c4:所有的bus和trolley可以乘坐无限次。根据给出的n buses 和m trolleys 每一辆的乘坐次数,找出最便宜的买票方式,输出要花费的金额。 对于每一部bus或者trolley,无非从c1或者c2选择。这里以选择某一个序号为 i 的bus的票为例。
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/355/A题目意思:找出某个经过最多四次dr(n)操作等于d的k位数。 千万不要想得太复杂,想得越简单越好。由于它允许dr(n)的操作最多只能是四次,那么操作一次肯定是符合条件的。也就是经过一次dr(n)操作就能得出直接结果d的数(有k位)。 由于这个数不能有前导0,非常简便的一个方法是,这个k位数是这样的:d000...00(0的个数等于k-1)。要特别注意,什么时候应该输出“No solution”。答案是 k >= 2 并且 d = 0。000这样的数,你不会认为是符合合法数字的标准吧? 1
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/353/A题目意思:通俗地说,就是当上下两半的数的总和不完全是偶数时,通过上下调换某些骨牌来使这两半的数和变成偶数,统计并输出调换多少次;如果不行,则输出-1。 其实调换的次数最多只有1次,而实行调换的操作必须符合上下对应的数满足一奇一偶的条件,否则是白做的。如果调换一次之后,也不能使得上下两半的和都为偶数,那么就没必要继续判断了,直接输出“-1”。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int N =...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/352/B题目意思:给出一个长度为n的序列a1, a2, ..., an(序号i,1 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int maxn = 1e5 + 5; 9 10 struct pairs 11 { 12 int index; // 保存位置的编号i 13 int num; // 保存序列的数,即题目中的a[i] 14...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/352/A题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这个序列尽可能地大,并且能被90除尽。 做这道题目,是多次调试本场比赛的B,完全不成功后回头再做的,一开始什么思路都没有,因为觉得是考纯数学,直接看B......怎么说,很大程度是靠直觉的。只知道,这个序列肯定是这种形式:5xx...0或者像题目所说的特殊情况:0(不过前提是0的个数不为0)。其他就不得而知了。然后在纸上比划了下,发现能被90除尽的序列,5的个数必须满足是9的倍数:9,18... 。至
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/342/B题目意思:有n个spy,编号从1~n,从左到右排列。现在的任务是,spy s要把信息传递到spy f,但必须要满足:当spy li ~ spy ri 被观看时,这一段spy不能传递信息。 要注意的是,step数(也就是ti)不一定是按顺序排列下来的,它有可能与上一行的step相差好几轮。此时,这好几轮中,spy s 是可以继续往spy f的方向传递信息的,直到移动完这好几轮的数目为止。除此,有可能m未完全输出完,spy s已经把信息传到spy f 中了;还有编号为 s 的spy编号有可能比sp
阅读全文

浙公网安备 33010602011771号