码迷,mamicode.com
首页 > 其他好文 > 详细

3月集训2

时间:2015-03-08 14:07:24      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

3月7日

今天是第一天

我的得分: 0   最高分: 230

T1

简单的dp, 只有我没做出来。

计算每棵子树 包涵 k 个子节点时的最大答案, 裸的 n3 dp。

但是由于DP的复杂度不是状态*转移,而是sigma转移复杂度。 所以可以证明这个东西的复杂度其实是 n2 的。
l[i],r[i]表示i点的左右子树。
以下证明:f[i]<0.5*(s[i]+1)^2
预处理单独计算后叶节点复杂度为0显然成立。
f[i]=f[l[i]]+f[r[i]]+(s[l[i]]+1) * (s[r[i]]+1)
<0.5*((s[l[i]]+1)^2+(s[r[i]]+1)^2+2*(s[l[i]]+1) * (s[r[i]]+1))
=0.5*(s[l[i]]+s[r[i]]+2)^2
=0.5*(s[i]+1)^2

我在考试中没怎么读懂这道题觉得很神然后就没有去做。 总之是自己太弱了。

T2

数学题。

易得ans = sigma{i=0..n3,i=kp+ri} binom(n1,i)*binom(n2,n3-i)*binom(n3,i)

然后根据lucas 定理直接暴力可以的 30分。

T3

裸的用 点分治 维护一棵Trie。

考虑用 Trie 维护一个数是否存在, 如果这个树的二进制可以在Trie上走出来就说明它存在。

考虑用 Trie 求出一个数在一堆数中 与之 亦或最大的那个数, 只需要在Trie 中能走 相反的边就走相反的边并把统计的亦或值加上这一位, 否则走相同的边, 走到最后就是答案了。

这种做法很巧妙我在之前没有见过但其他人都见过很多边了说明我做题太少。

之后的点分治就是裸的了没什么可说的, 值得注意的是在处理到以一个节点为根的时候要把它的所有儿子先正着扫一边再倒着扫一遍, 才能更新出正确答案。

这场比赛的题并不难, 但我的0分将很多问题都暴露出来我必须面对它们。

从两天前CCC的完挂再到这里的爆0, 前段时间还天真地相信自己渐入佳境直到血淋淋的事实在我面前撕开, 真的很难受。

不过自己现在唯一的应对措施就是振作起来, 以更认真的方式做更多的题, 总结自己的失败。

自己现在的代码能力就是上不来快要哭死了。 应对措施: 多打写恶心的数据结构题 打些码农题。

总觉得自己的付出没有得到等量的回报, 但我应该联系到我在做题时三心二意的状态, 经常对自己敷衍了事。

如果连自己都对自己敷衍了事, 还有什么人, 什么东西会回报我, 会重视我呢。

我相信所有大神也都是从我这样的被虐一路走过来的,总没有人生下来就会虐人 T^T

我相信我一定可以顺利走出低谷期获得能力的突破!

那么多人都相信着我呢, 我没有理由不去相信自己。 相信自己有天赋, 相信自己可以更努力。

 

这些天要做的事情:

把 jiry_2 的博客上 屯过的那些题都做了。

3月集训2

标签:

原文地址:http://www.cnblogs.com/lixintong911/p/4321576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!