Codeforces-185
一来就发现 roosaphu #1 。
然后 cp12321 #2 。
然后 kAc #5 。
其中必有引擎。我就呵呵不说话。
(这场 CF 真心是给国人做的)
(我不知道我对 unrated 是该高兴还是该悲伤)
Solution
B
原题可以抽象出这么个模型:给定 个数,要求分成 组,最后每个元素对答案的贡献为它所在组的最大值,求答案的最小值。
排序是显然的。然后序列上 dp : 表示前 个数分成 组,最小的总贡献是多少。转移考虑转入,枚举第 组的元素个数。
然后就可以斜率优化了。考虑两个决策 , 比 优的充要条件是 也就是
我相信只要你看了 杨哲 《凸完全单调性的一个加强与应用》,你就一定会做这个题。
C
我相信只要你看了 周奕超 《墨墨的等式》 出题报告,你就一定会做这个题。
一眼题不多说。
D
问题主要就出在那个啥三次方上吧。
你有没有感到很奇怪,为啥会给一个奇怪的数 9554272,还特意说明这是个素数?
其中必有隐情。
疑心重重, ,这个数与 3 是互质的。
于是我们试着在 的意义下求 3 的幂。
于是乎,你会发现 。
剩下的就不用我多说了。用线段树维护 0 到 47 次立方后的结果。
E
我相信只要你做了 Topcoder SRM 558 Div1 1000pts SurroudingBoard ,或者听懂了 曹钦翔 《线性规划与网络流》 ,你就一定会做这个题。
首先那个啥 friend 是用来搞笑的。
每个变量可以取 0 或 1 ,有些取 0 需要代价,有些取 1 需要代价。有种网络流的既视感……
剩下的就是那个特殊的获利的方法:当若干个变量全 0 或全 1 的时候,可以获得一定利润。
如果你突然有了 IDEA ,可以直接构出图:先把利润全部加入答案,然后对于每种获利方式建立一个节点。考虑啥时候需要这利润从答案里扣除。不妨设此时的限制为某些变量全 1 就得到利润吧,那么必定是这些变量中的一些为 0 那么就得扣除利润。某些变量为 0 的话,网络流中的表示为与 T 连通,我们直接把 S 连向利润这个点,容量为利润,再把利润这个点连向与其相关的那些变量,容量无穷大。这样的话一旦有个变量为 0 (图上对应的就是与 T 连通),那么利润这个点必定与 T 连通(无穷大的边你割不去),所以必定要割掉 S 与利润这个点的连边,相当于减去了利润。这就是个最小割模型。
当然你要是牛逼,直接上 cqx 的线性规划也是可以的。我试了一下,发现 SurroudingGame 和这个题都可以用线性规划建模的方法通杀,无比炫酷。
nonsense
节操掉尽,请勿再念。
@xiaodao 关于 #183 D 的 solution …… 我只能说 what the heck 当初觉得很明显的一步我居然不会证 →_→ 于是剩下的就坑了。
首先要证明数的大小一定是 ,然后就好证明了。(这一步怎么证明……我只能说 wiki 上有一句原话) 对于 ,我们有 ,在 意义下有 。由于对于每个 都存在这么一个 ,所以容易知道 一定为质数,且 是 的一个原根。
这次 CF 被拉过去当 Tester ,就写了 BCDE 的没写 A ,结果 A 的 checker 就挂了,真是不能更逗。不得不说他们几个(@lyd, @wqs, @zgx)还是很认真的