摘要:
通道题意:求所有回文按长度排序后,前k个奇数长度的子串乘积之和。思路:len[i]代表长度为i的有多少个子串,避免超时,树状数组维护即可代码:#include #include #include using namespace std;typedef long long ll;const int M... 阅读全文
摘要:
通道 阅读全文
摘要:
通道题意:2个字符串,求相同的回文串对数 (S, T), 其中S == T思路:由于并不需要本质不同,所以需要count一下,然后相同部分肯定dfs是一样的,累加即可。代码:#include #include #include using namespace std;typedef long lon... 阅读全文
摘要:
通道题意:求最长不相交双回文串思路:dp1[i]表示[1,i]的回文串,dp2[i]表示[i+1,len]的回文串,ans=max(dp1[i]+dp2[i]);代码:#include #include #include using namespace std;typedef long long l... 阅读全文
摘要:
通道题意:每加入一个字符,求增加了多少个本质不同的子串思路:可知增量要么1要么0,避免超时,字符输出即可。代码:#include #include #include using namespace std;typedef long long ll;const int MAX_N = 5000005;... 阅读全文
摘要:
通道题意:定义一个字符串的子串的值为该子串的长度乘以数量,求这个最大值思路:直接统计即可。代码:#include #include #include using namespace std;typedef long long ll;const int MAX_N = 600005;const int... 阅读全文
摘要:
通道题意:求每读入一个字符,对答案贡献了多少个本质不同的回文串。思路:我们知道回文自动机上每个节点就代表不同的回文串,所以统计节点数即可。代码:#include #include const int MAX_N = 600005;const int SIG = 26 ;struct PTree { ... 阅读全文
摘要:
转自:http://blog.csdn.net/u013368721/article/details/42100363今天我们来学习一个神奇的数据结构:Palindromic Tree。中译过来就是——回文树。那么这个回文树有何功能?假设我们有一个串S,S下标从0开始,则回文树能做到如下几点:1.求... 阅读全文
摘要:
通道题意:一群猴子围成圈,每个猴子互相不认识,猴王要给大家互相认识,每个猴子认识别人需要一个时间花费,而且A猴子认识B猴子,则A猴子认识的所有猴子和B猴子认识的所有猴子都能认识,这个代价为所有AB猴子认识的猴子的时间花费和。思路:运用动态规划,枚举每个区间的分割点,从而找到最小花费。因为题目中给出的... 阅读全文