分治
Last0rder
最后之作
展开
-
Codeforces 486 C Palindrome Transformation
time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputNam is playing with a string on his computer. The string consists原创 2015-05-15 21:56:47 · 774 阅读 · 0 评论 -
codeforces 557 C
因为期末,很久没刷题了,CF一直掉……这个题其实很简单。。因为做法很容易想到嘛。。就是枚举max=x时,最大能保留多少价值,不断更新ans,结果就是所有价值和减去ans就好由于最大能够保留的长度是199+200,所以当max=x时,算最大能保留多少价值,也是一个循环算出当前长度比x小的那个桌子角的最大的那几个价值之和保留就行了,这里写的比较绕。。反正看看代码一下原创 2015-07-01 22:19:27 · 1089 阅读 · 0 评论 -
hdu5269ZYB loves Xor I
这个题还挺有意思的,虽然做法还是很显然的,但是还是值得写篇博客标程是字典树,看起来比较蛋疼直接分治就好了,排序之后,使得ai不被排在它后面的管控,也就是lowbit(a[i])然后接下来分治,每次把区间分成两半,使得前面一半管控后面一半,一边拆一边算ans这里,我直接写了一发dfs,很显然递归深度最多也就logA,放心跑最后打原创 2015-06-14 10:10:43 · 844 阅读 · 0 评论 -
codeforces 556 D Case of Fugitive
这个题很显然,可以转换成这个问题:有n-1个区间,m个数,每个数最多只能用一次,第i个数只要能被第j个区间包含,那么这个数就可以放入这个区间内。求出,当所有区间里都恰有一个数时的情况。我们把所有区间按照下限升序排序,所有数升序排序之后分治即可。分治过程,维护一个元素为区间的小堆,堆顶是上限最小的区间。考虑第i个数,把所有能够包含它的区间都丢到堆中,然后从堆中丢一个区原创 2015-07-13 22:30:33 · 1428 阅读 · 0 评论