03 2017 档案

摘要:对每个可能成为本质不同回文子串的串判一下就好了,复杂度$O(n)$。 阅读全文
posted @ 2017-03-28 09:23 f321dd 阅读(263) 评论(0) 推荐(0)
摘要:答案打出来发现是关于a/b的单峰函数,直接三分,复杂度$O(nlogw)$。 然后T了……卡常数…… 显然最大值在右上凸壳上,于是先跑个凸包。 然后上凸壳上的点数<=4…… 然后就过了这什么破题什么破数据…… 阅读全文
posted @ 2017-03-22 15:56 f321dd 阅读(328) 评论(0) 推荐(0)
摘要:题面原文大致如下: 有n个单词,从小到大填入表,对于序号为x的单词(1~x-1都已被填入): 求最小代价。 写题面的人脑子打了结吧能写出这种见鬼的描述,逻辑被狗吃了。 第二个条件相当于说:当它的所有后缀都被填入表内的情况下,表内的单词都不是它的后缀。 这句子是人写出来的吗。 然后你必须推导出这句话的 阅读全文
posted @ 2017-03-22 15:38 f321dd 阅读(637) 评论(0) 推荐(0)
摘要:可以倍增floyd,倍增判断走2^i步是否存在负环就好了。 其实和3763是一样的,然而那题数据挂了。 阅读全文
posted @ 2017-03-17 22:36 f321dd 阅读(228) 评论(0) 推荐(0)
摘要:离线LCT维护MST,和3082的方法一样。然而比较码农,适合颓废的时候写。 PS:线段树分治要好写得多,LCT比较自娱自乐。 阅读全文
posted @ 2017-03-13 21:42 f321dd 阅读(186) 评论(0) 推荐(0)
摘要:推了下发现没法树剖直接搞,于是强上分块……按dfs序分块,每个块存一个原编号的有序表,再维护一个前缀和。修改相当于到根的链都加上一个数,树剖之后每个区间$O(n^{0.5})$修改,查询在所有块中二分,总复杂度$O(n^{1.5}logn)$。 WA的人那么多,一定有坑,仔细研究了数据范围,发现刚好 阅读全文
posted @ 2017-03-07 00:14 f321dd 阅读(468) 评论(0) 推荐(0)
摘要:首先直接点分+hash就可以做,每个点用hash判断是否为S重复若干次后的前缀或后缀,每个子树与之前的结果O(m)暴力合并。在子树大小<m时停止分治,则总复杂度为O(nlog(n/m))。 问题在于n<=1e6。据说有O(n)的DP做法?写点分的话需要一大波常数优化……据说SDOI现场写了这题的全卡 阅读全文
posted @ 2017-03-02 13:15 f321dd 阅读(257) 评论(0) 推荐(0)