上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 57 下一页
摘要: 题目链接:http://codeforces.com/problemset/problem/315/A题目意思:有n个soda bottles,随后给出这n个soda bottles的信息。已知第 i 个bottle来自品牌ai,你可以用这个品牌 ai 来开所有属于品牌bi 的bottles。注意,other特别用黑色粗体来强调,表明该行的除外,也就是说,假如i = 1(隐含的),ai = 1,bi = 1,这个bottle 1 是不能被打开的。需要找出无论用什么方式都不能打开的bottle的总个数。 另外,有可能同一个bottle可以被多个不同的ai 打开,所以要增加一个额外的vis数组来防 阅读全文
posted @ 2013-11-19 16:56 windysai 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/361/B题目意思:有n个数,这些数的范围是[1,n],并且每个数都是不相同的。你需要构造一个排列,使得这个排列上的数与它所在位置的序号的最大公约数满足 > 1,并且这些数的个数恰好满足k个,输出这样的一个排... 阅读全文
posted @ 2013-11-19 16:39 windysai 阅读(424) 评论(4) 推荐(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 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/359/B题目意思:给定n和k的值,需要构造一条长度为2n(每个元素取值范围只能是[1,2n])且元素各不相同的序列,这条序列符合等式。 首先非常感谢乌冬兄和syy的帮助!!尤其是乌冬兄。 刚开始做的时候完全没有思路,写出那条等式的展开式也没有发现规律。在他们的思维引导之下,我终于明白了这个问题其实可以简化为求一对数(假设为ai-1,ai)的差,这个差 = k 即可,但是k必须为负数!!!也就是ai-1 aj 即可。 为什么可以这样做?注意这条等式。除了那一对数的差之外,其他对数是可以消去的,前提是.. 阅读全文
posted @ 2013-11-09 10:00 windysai 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/358/B题目意思:给出n个单词(假设为word1,word2、word3...wordn)和一句test message,需要判断的是,这个 test message在去除一系列随机插入的英文字符后,是否满足 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int maxin = 1e5 + 10; 8 const int maxsave = 1e6 + 10; 9 char a[maxin], b[maxin... 阅读全文
posted @ 2013-11-08 20:59 windysai 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/358/A题目意思:在横坐标上给出n个不同的点,需要把前一个点跟后一个点(这两个点的顺序是紧挨着的)用一个半圆弧来连接。现在要判断的是这些符合条件的点连接以后,圆弧之间是否相交了。是则输出yes,否则输出no。 假设序列是x1,x2,x3,x4.....xn。相交其实只有两种情况,第一种就是样例已经给出了的:即 x1 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 1000 + 10; 7 int a[maxn]... 阅读全文
posted @ 2013-11-07 21:28 windysai 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/359/A题目意思:给出一个n行m列的table,你需要选择一个good cell(假设为(x, y), 1 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 int i, j, n, m, t, f2, f; 9 while (scanf("%d%d", &n, &m) != EOF)10 {11 // freopen("in.txt", "r" 阅读全文
posted @ 2013-11-07 20:54 windysai 阅读(248) 评论(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 阅读(345) 评论(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 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 题目链接: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... 阅读全文
posted @ 2013-10-17 09:39 windysai 阅读(356) 评论(0) 推荐(0) 编辑
上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 57 下一页