上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 对每个可能成为本质不同回文子串的串判一下就好了,复杂度$O(n)$。 阅读全文
posted @ 2017-03-28 09:23 f321dd 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 答案打出来发现是关于a/b的单峰函数,直接三分,复杂度$O(nlogw)$。 然后T了……卡常数…… 显然最大值在右上凸壳上,于是先跑个凸包。 然后上凸壳上的点数<=4…… 然后就过了这什么破题什么破数据…… 阅读全文
posted @ 2017-03-22 15:56 f321dd 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 题面原文大致如下: 有n个单词,从小到大填入表,对于序号为x的单词(1~x-1都已被填入): 求最小代价。 写题面的人脑子打了结吧能写出这种见鬼的描述,逻辑被狗吃了。 第二个条件相当于说:当它的所有后缀都被填入表内的情况下,表内的单词都不是它的后缀。 这句子是人写出来的吗。 然后你必须推导出这句话的 阅读全文
posted @ 2017-03-22 15:38 f321dd 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 可以倍增floyd,倍增判断走2^i步是否存在负环就好了。 其实和3763是一样的,然而那题数据挂了。 阅读全文
posted @ 2017-03-17 22:36 f321dd 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 离线LCT维护MST,和3082的方法一样。然而比较码农,适合颓废的时候写。 PS:线段树分治要好写得多,LCT比较自娱自乐。 阅读全文
posted @ 2017-03-13 21:42 f321dd 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 推了下发现没法树剖直接搞,于是强上分块……按dfs序分块,每个块存一个原编号的有序表,再维护一个前缀和。修改相当于到根的链都加上一个数,树剖之后每个区间$O(n^{0.5})$修改,查询在所有块中二分,总复杂度$O(n^{1.5}logn)$。 WA的人那么多,一定有坑,仔细研究了数据范围,发现刚好 阅读全文
posted @ 2017-03-07 00:14 f321dd 阅读(454) 评论(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 阅读(240) 评论(0) 推荐(0) 编辑
摘要: SCOI的数位统计问题都好鬼畜……另外这题数据有误,可能l>r…… 这题的预处理很简单,连DP都不用,然而统计的时候恶心死了……我的思路是计算每一位对所有区间的贡献,对于同一个右端点的所有区间其贡献是相同的,然后几个前缀和暴搞一下…… 阅读全文
posted @ 2017-02-19 01:21 f321dd 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 这题怎么这么难读懂……而且还读错了一次……mhy的游记里写的他写的二分+线段树,然后还说可以用set,表示非常懵逼……我只会线段树暴搞,维护到左右端点的最远和次远的0区间,查询分别查左右两半的答案,再设法合并……跑得巨慢…… UPD:确实用set维护一下所有0区间就好了……我怎么想出来这个线段树的… 阅读全文
posted @ 2017-02-15 19:54 f321dd 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 这题……我一般数位dp都是直接用一个dp把所有东西算完,然而……多组询问每次重新dp会T……然后只好先预处理再查询,然后还搞不了k=0,只好再单独写一个dp……烦死了…… k!=0时,数位的乘积总共就几万种,离散化再预处理转移。f[i][j]表示前i位,乘积为j。k==0时,f[i][2][2][2 阅读全文
posted @ 2017-02-14 19:30 f321dd 阅读(173) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页