随笔分类 -  综合

摘要:题目链接:http://codeforces.com/problemset/problem/378/B题目意思:有n个参赛者,他们都需要参加两场半决赛。第一场半决赛的成绩依次是a1, a2, ..., an,分别对应第1~第n个人的成绩。第二场则是b1, b2, ..., bn。其中这两个序列都是以递增方式排列的。需要从中找出有机会跻身于总决赛的人(标记为1)包括成绩排名前k人(对应成绩是a1,b1;a2,b2,...,ak,bk)和处在两场半决赛的总成绩处在n-2k排名的人。至于k是不确定的,只知道范围是:0 ≤ 2k ≤ n 首先可以知道k可以取的最大数是n/2(当然有可能除不尽的,即n是 阅读全文
posted @ 2014-01-11 20:38 windysai 阅读(311) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/363/B题目意思:给定整数n和k,需要从n个数中找出连续的k个数之和最小,输出这连续的k个数中的第一个数的下标。 直接暴力果断TLE,于是想到之前做的那条332B - Maximum AbsurdityDP题的做法,决定开多一个额外的数组b[],在输入的时候把a[i]中前i个数的和都记录到b[i]中,这样通过b[i] - b[i-k]即可得出序列h1, h2, ..., hn(1 ≤ hi ≤ 100) 所有连续的k个数之和。特别要注意,当i-k >= 0的时候才能进行相减的操作,防止数组下标越 阅读全文
posted @ 2013-11-19 16:09 windysai 阅读(239) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/305/A题目意思:给出一个序列,需要从中选择一些数,这些数需要满足:任意的两个数中每一位至少有一个数满足该位有0。例如,406, 10(可以看成010)是符合条件的; 406, 11 就不符合条件,因为个位上这两个数都不包含0。 一开始想得太过复杂:把整型的数保存到字符数组中,再用strstr函数找出是否有0的存在,但是这样做根本不能解决问题,因为不能得出0的具体位置。并且不能判断出两个数中的不同位至少有一个有0这个问题;后来甚至想到用位运算,看了下tutorial,原来又把问题想复杂了。 其实,解决 阅读全文
posted @ 2013-10-24 22:52 windysai 阅读(355) 评论(0) 推荐(0)
摘要:题目链接: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 阅读全文
posted @ 2013-10-17 09:59 windysai 阅读(282) 评论(0) 推荐(0)
摘要:题目链接: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 =... 阅读全文
posted @ 2013-10-16 21:32 windysai 阅读(485) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/336/C题目意思:给出一个递增的正整数序列 a1, a2, ..., an,要求从中选出一堆数b1, b2, ..., bk,这堆数进行完按位&运算之后(b1 and b2 and ... and bk),能被2v整除。除此,还要求所选中的这堆数是两两不同的,&之后要最大,换句话来说,v 要尽可能最大,如果找到最大的v的方法有多种,即在 a1, a2, ..., an 中有很多种不同的组合 & 完后能求得最大的v,则挑中的这堆数要尽可能最多。如果得到最多的数还是有多种,只需要写 阅读全文
posted @ 2013-08-21 11:00 windysai 阅读(353) 评论(0) 推荐(0)