2019年8月9日

回文树上dfs——牛客多校第六场C

摘要: /* set里的一定是本质不同的回文串,所以先建立回文树 当a可以通过nxt指针到达b,或者b可以通过fail指针到达a时,a就是b的子串 对于回文树里的每个结点u,我们可以将和其有关的结点为两部分: 1.结点下方的子树,这部分的所有结点都可以由u在两边加点得到,设大小为 size[u] 2.结点向上的fail链,这条链上的所有结点都是u的回文后缀,设大小为 tot[u] 那么... 阅读全文

posted @ 2019-08-09 19:45 zsben 阅读(175) 评论(0) 推荐(0)

字符串hash+回文树——hdu6599

摘要: 拖了很久才补的回文树,感觉网上的博客都是一个做法。。回文树统计不同种类的回文串出现次数,然后用字符串hash来判每个回文子串是否符合要求 阅读全文

posted @ 2019-08-09 16:32 zsben 阅读(232) 评论(0) 推荐(0)

数位dp——牛客多校H

摘要: /* x[1,A] y[1,B] x^yC 把ABC拆成二进制后按位进行数位dp dp[pos][s1][s2][f1][f2] 表示从高到低第pos位,条件一状态为s1,条件2状态为s2,x在pos为的限制状态为f1,y在pos的限制状态为f2的方案数 条件状态s=0|1|2表示前pos位数运算结果C前pos位数 dp时枚举下一位的所有可能情况,如果当前状态已经确定(满足或不满足),那么下... 阅读全文

posted @ 2019-08-09 15:04 zsben 阅读(243) 评论(0) 推荐(0)

线段树区间离散化——牛客多校E

摘要: 这个区间离散化把我调死了。。 总之用vector来离散化,然后叶子节点维护的是一段区间,记录下每个叶子结点的起点+长度 千万要注意下标不能弄错! update:其实用数组离散化也可以,,只是我的数组开小了一直不知道错在哪里。。 阅读全文

posted @ 2019-08-09 00:41 zsben 阅读(246) 评论(0) 推荐(0)

导航