摘要: 思路: 首先用manacher可以求出以i和i+1中间为对称轴,最长回文串能扩增的长度p[i]。然后4*(y-x)能更新答案,当且仅当y≤x+p[x]/2且y-p[y]≤x。按i-p[i]将所有点排序,依次插入set中,查询x+p[x]/2的前驱更新答案,时间复杂度O(n*logn... 阅读全文
posted @ 2016-12-28 15:28 SiriusRen 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 思路: i~n加到Trie树里 经过的边权+1 DFS一遍 搞定~//By SiriusRen#include #include #include using namespace std;#define N 3005int n,all;char a[N];struct Tri... 阅读全文
posted @ 2016-12-28 15:25 SiriusRen 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 求完网络流以后 tarjan一发 判一判//By SiriusRen#include #include #include #include #include using namespace std;#define N 122222int n,m,s,t;struct Node{in... 阅读全文
posted @ 2016-12-28 15:23 SiriusRen 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 思路: 求一遍网络流 在残余网络上DFS 从起点DFS 从终点把边反向DFS 一个边跟起点连通 跟终点反向的边连通 ans++注:此题不能用tarjan 因为有边权为0的边 //By SiriusRen#include #include #include #include ... 阅读全文
posted @ 2016-12-28 15:21 SiriusRen 阅读(256) 评论(0) 推荐(0) 编辑