TCO Final 2010 题解

首先这个题解基本上是看Petr的分析和rng_58的代码。。
题目自己去看TC看吧囧。。
第一题:
此题看上去很容易。。其实很恶心。。各种贪心很容易悲剧。。
最好的办法是用对偶原理
就是最小必定可行值=最大不可行值+1
我们只需要通过DP求得最大不可行值即可。。
状态可以是Dp[i][win][lose]表示前i个位置,win个位置取得了胜利,lose个位置挂掉了的最大投票数。。
然后DP出这个玩意。。。
再以此求出最大不可行值就可以了。。
第二题:
这个题目很囧。。由于机房要关门了。。晚上再发。。
第三题:
首先显然对于一个特定的取方格的方式,只有RGB的数量有关系。。
然后欲处理一下。。枚举出所有可行的R,G,B的数量。。
然后我们枚举R,G的数量,设Max[r][g]为R选r个,G选g个,B最多有几个。。
那么如果我们无视那个两个串翻转之后一样算一个的条件。。
设Max[r][g]=b
那么在这种情况下。。答案为C(r+g,r)*(C(r+g,0)+C(r+g+1,1)+C(r+g+2,2)…+C(r+g+b,b))
那么看右边(C(r+g,0)+C(r+g+1,1)+C(r+g+2,2)…+C(r+g+b,b))
。。这式子只跟r+g和b有关系。。所以随便预处理一下就OK了。。
然后考虑翻转的条件。。只要算出所有对称的字符串的数量就OK了。。
而对称的字符串由前半部分决定。。。
用一样的办法就可以了。。
注意一下处理长度的奇偶性。。。
//嘿嘿。。我是WJMZBMR的分割线
看了这些题目之后。。我感觉TCO的难度其实是不及NOI的。。。
由于时间限制的原因,TCO的题目也不会考那种特别难的算法或者数据结构。。。
但是题目还是很考验各种能力的。。rng_58确实是强到极点了。。Orz Sro Orz。。。
我决定去看看他之前在各种SRM和TCO中的代码。。。从中吸取经验囧。。。
//嘿嘿。。我是WJBZBMR的分割线。。
其实。。我打算再去弄场模拟赛。。大家说是搞成ACM形式放在BZOJ上好呢?
还是搞成OI形式放在TYVJ或者RQNOJ上好呢?

10 thoughts on “TCO Final 2010 题解

Leave a Reply

Your email address will not be published. Required fields are marked *