摘要: 通道题意:从1开始 每次等概率从一个点到和他相邻的点 有向 走到不能走停止 求停止时每个点的期望思路:白书P156代码:#include #include #include #include using namespace std; const int N = 105; co... 阅读全文
posted @ 2015-08-15 23:02 mithrilhan 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 通道题意:按要求建一棵树,求树上的价值=sum(len*cnt),len为回文长度,cnt为该回文在树上出现了多少次思路:建好树从0开始往下跑就可以了,每跑完一条链,就回溯下。代码:#pragma comment(linker, "/STACK:102400000,102400000")#inclu... 阅读全文
posted @ 2015-08-15 22:40 mithrilhan 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 通道题意:相交回文对数思路:用总的方案数减去不相交方案数,注意内存优化,邻接表表示代码:#include #include #include #include using namespace std;typedef long long ll;typedef pair pii;const int MA... 阅读全文
posted @ 2015-08-15 21:32 mithrilhan 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 通道题意:求不相交回文对数思路:dp[i]代表以i为结尾有多少个回文,然后在求个前缀和,dp[i]就代表[1,i]以每一个结尾共有多少个,然后结果就是sum(dp[i-1]*add(s[len-i-1]))代码:#include #include #include using namespace s... 阅读全文
posted @ 2015-08-15 21:31 mithrilhan 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 通道题意:求所有回文按长度排序后,前k个奇数长度的子串乘积之和。思路:len[i]代表长度为i的有多少个子串,避免超时,树状数组维护即可代码:#include #include #include using namespace std;typedef long long ll;const int M... 阅读全文
posted @ 2015-08-15 21:31 mithrilhan 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 通道 阅读全文
posted @ 2015-08-15 21:30 mithrilhan 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 通道题意:2个字符串,求相同的回文串对数 (S, T), 其中S == T思路:由于并不需要本质不同,所以需要count一下,然后相同部分肯定dfs是一样的,累加即可。代码:#include #include #include using namespace std;typedef long lon... 阅读全文
posted @ 2015-08-15 21:28 mithrilhan 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 通道题意:求最长不相交双回文串思路: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... 阅读全文
posted @ 2015-08-15 21:27 mithrilhan 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 通道题意:每加入一个字符,求增加了多少个本质不同的子串思路:可知增量要么1要么0,避免超时,字符输出即可。代码:#include #include #include using namespace std;typedef long long ll;const int MAX_N = 5000005;... 阅读全文
posted @ 2015-08-15 21:25 mithrilhan 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 通道题意:定义一个字符串的子串的值为该子串的长度乘以数量,求这个最大值思路:直接统计即可。代码:#include #include #include using namespace std;typedef long long ll;const int MAX_N = 600005;const int... 阅读全文
posted @ 2015-08-15 21:24 mithrilhan 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 通道题意:求每读入一个字符,对答案贡献了多少个本质不同的回文串。思路:我们知道回文自动机上每个节点就代表不同的回文串,所以统计节点数即可。代码:#include #include const int MAX_N = 600005;const int SIG = 26 ;struct PTree { ... 阅读全文
posted @ 2015-08-15 21:23 mithrilhan 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/u013368721/article/details/42100363今天我们来学习一个神奇的数据结构:Palindromic Tree。中译过来就是——回文树。那么这个回文树有何功能?假设我们有一个串S,S下标从0开始,则回文树能做到如下几点:1.求... 阅读全文
posted @ 2015-08-15 21:20 mithrilhan 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 通道题意:一群猴子围成圈,每个猴子互相不认识,猴王要给大家互相认识,每个猴子认识别人需要一个时间花费,而且A猴子认识B猴子,则A猴子认识的所有猴子和B猴子认识的所有猴子都能认识,这个代价为所有AB猴子认识的猴子的时间花费和。思路:运用动态规划,枚举每个区间的分割点,从而找到最小花费。因为题目中给出的... 阅读全文
posted @ 2015-08-15 12:34 mithrilhan 阅读(397) 评论(0) 推荐(0) 编辑