摘要: 题目链接:http://codeforces.com/contest/334/problem/A题意:有n个人,将1~n袋(第 i 袋共有 i 颗糖果,10)输出即可。可能方法有点笨,希望热心的读者可以提出些更好的方法,让我学习学习。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 10000 + 10; 7 8 int main() 9 {10 int i, j, k, l, n, temp[maxn];11 while (scanf("%d", &n) != 阅读全文
posted @ 2013-07-27 22:28 windysai 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/332/problem/B题意:在一个序列中,在所有长度为k的区间里找出两个不重叠的最大和,输出这两个最大和所对应的开头的位置a和b。 一开始没有想到用dp来做,于是有了以下的错误思路(读者可以忽略):声明一个结构体,包括head(保存起始点)、tail(保存结束点)还有sum(保存长度为k的区间的和)。计算出整个序列所有k个小区间的和sum,按sum从大到小排序(隐含的弊端:排序会导致区间与区间之间起始点和结束点的位置很不确定)由于a、b不能相交,所以当找到没有重叠的部分,就找到当前最优解,但不一定是整个题目的最优解。还要 阅读全文
posted @ 2013-07-27 21:31 windysai 阅读(347) 评论(0) 推荐(0) 编辑