codeforces
AC_alvin
这个作者很懒,什么都没留下…
展开
-
【ASC44】F - Funny Card Game
题意:给你一列牌,让你找到k个连续的子串,其中每一个子串出现次数最多的数字的出现次数为得分,问最多可以有多少分。 分析:首先可以先贪心地想一下,如果选择出来了这k个子串,那么我们总可以通过适当地对子串进行收缩,使得子串的两边既是子串的众数,那么我们就可以考虑每一个数,要么这一段只有这一个数,要么这一段的最前面一个数和这个数相同。因此我们可以用dp[i][j]来表示前i张牌分成j段且第j个人必须取原创 2015-07-13 13:00:21 · 672 阅读 · 0 评论 -
【codeforces #310】div1 A -- C
A题: 题意:给你n个数以k组的形式排列,每组数内保证递增。每次操作可以取出一个数或者把一个数放在一列的最后,问最少经过多少次操作可以使得1--n排列在一列。 分析:首先可以假设若所有数都要先取下,再放到某一列,则要进行2 * n - k - 1次操作。 然后因为若1--i直接在一起,那么可以减少(i - 1)*2次操作,故可得代码。 #include using namespace st原创 2015-07-06 20:33:01 · 370 阅读 · 0 评论 -
【Codeforces#311】 div.2 C--E
C: 题意:一张桌子有n条腿,每条腿都有锯掉所要消耗的能量。一张桌子如果最长的腿超过一半,则称稳定的。问使桌子稳定的最小需要能量。 枚举最长的腿的长度,然后用set维护一下就好了。 #include using namespace std; const int N = 100005; struct elem{ int l,d; void add(){ scan原创 2015-07-06 20:13:25 · 385 阅读 · 0 评论