- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 【HDU】5164 Matching on Array 【AC自动机】
传送门:【HDU】5164 Matching on Array 【AC自动机】题目分析:系数通过两两相除或者log后差分可以消除,然后就变成了匹配问题了,时间允许,可以用kmp,如果时间严格,就用ac自动机,ac自动机需要做一些改造,我想到的就是每个节点用map存指向下一个节点的指针,为了准确起见,用两两相除得到的分数形式作为关键字,因为数大小在1~10000内,所以可以用分子*100
2015-01-25 20:33:14 1106
原创 【HDU】5156 Harry and Christmas tree 【lca】
传送门:【HDU】5156 Harry and Christmas tree题目分析:每一种颜色我们分开考虑他们对所有节点的贡献,对于两个颜色同为c的节点u和v(假设u!=v),那么在lca(u,v)的时候我们需要-1,因为在lca(u,v)一直到根的路径上,颜色c只能影响一次。基于此,我们对每种颜色的所有节点按照dfs序排好序,首先每个节点+1,然后对dfs序相邻的两个节点(注意颜色
2015-01-04 19:20:58 871
原创 【HDU】5157 Harry and magic string 【Palindromic Tree】
传送门:【HDU】5157 Harry and magic string题目分析:回文树裸题。令n为字符串长度,字符串下标从0开始。从字符串最后一个字符开始插入回文树构造回文树,记录以下标i~n-1为起点的回文串的个数的sum[i]。然后再正着构造一次回文树,边构造边累加答案,设x为以下标i的字符为结尾的回文串个数,则ans+=x*sum[i+1]。最后输出ans即可。PS:如
2015-01-03 22:11:49 1432
原创 【HDU】5155 Harry And Magic Box 【容斥原理】
传送门:【HDU】5155 Harry And Magic Box题目分析:很容易发现容斥的方法,首先我们不管是否每一列都有星星,但是一定保证每一行至少一个星星,因此我们得到了一个方法,这时有方案数(c[m][1]+c[m][2]+...+c[m][m])^n,但是这里包括了不合法的情况,于是我们用容斥减掉。最后的答案就是:这个就是用了容斥的方法把恰好为1~m-1个列为空的情况
2015-01-03 22:02:07 1523
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人