随笔分类 - 来源----BZOJ
摘要:似乎大家全部都用的是hash?那我讲一个不用hash的做法吧。 首先考虑只有一位不同的是哪一位,那么这一位前面的位上的字符一定是全部相同,后面的字符也是全部相同。首先考虑后面的字符。 我们对n个串的反串建trie树,这样,每一个后缀就对应一个trie树上的唯一一个节点,不同的后缀对应的就是不同的节点
阅读全文
摘要:"BZOJ 5424: 烧桥计划" 目前暂居rk1QAQ 首先,设f[i][k]为前i个点中,选了第i个点,总共选了k个点的答案。那么就有: $$f[i][k]=min_{jm] (s[i 1] s[j])$。 那么转移的时候,大于m的很显然的可以用前缀和,而小于等于m的可以用单调队列处理。这样
阅读全文
摘要:这题就是树链剖分,对于多种宗教就开多个线段树,动态开点就好了。 ~~记得卡内存~~ 然而一个城市的宗教变了之后还能在变回来,导致我调了一下午。。。 cpp include include include include include define qmin(x,y) (x=min(x,y)) de
阅读全文
摘要:这个题目就是特别裸啊,很明显就是先树链剖分,然后在线段树每个节点上维护两个堆,来维护插入和删除,查询的时候就暴力查就好了。 ~~似乎很简单啊~~,我竟然在luogu上1A了,结果交到bzoj上MLE,看过讨论后把找重儿子改成大于等于就A了。。 不过我感觉这样是假的啊,一条链在线段树上有$\log^2
阅读全文