
GFOJ
HbFS-
di4CoveRy
展开
-
[多校][HDU5343]MZL's Circle Zhou后缀自动机+动态规划
对两个字符串都构建后缀自动机对第一个字符串,求F[i]表示从rt到i节点有多少不同的路径(即求不同的子串的个数);对第二个字符串,求G[i]表示从节点i开始往下走能走出多少不同的路径(即求不同的子串的个数);这两个动态规划都可以用拓扑排序和ch[][]数组转移完成,第二个dp可能需要将ch[][]里面的每一条边反向。枚举第一个后缀自动机里的节点u,若该节点的出边j不存在,则原创 2017-01-09 20:33:22 · 386 阅读 · 0 评论 -
[51NOD 1595] 回文度 manacher
这题题意难读懂,写起来不难。算是重温了一遍manacher还顺便给初三的小朋友讲了一遍,这下估计是不会忘了#include #include #include #define N 10000050using namespace std;int s[N],F[N],n;int main() { #ifndef ONLINE_JUDGE //freopen("1.原创 2017-01-09 22:44:47 · 462 阅读 · 3 评论 -
[GDKOI2016] Day1 魔卡少女 线段树
很久之前写的题,今天看到的一句话概括了这道题的精髓: xor的每一位具有独立性,分开维护即可10棵线段树+1e8+7,很好写很好过#include <iostream>#include <cstdio>#define N 2000050#define mod 100000007#define mid ( (l+r)>>1 )#define ls l,mid,(t<<1)#define rs原创 2017-01-27 23:16:28 · 718 阅读 · 0 评论 -
[GDKOI2016] Day1 不稳定的传送门 结论
对每个点可以走的传送门排序算期望即可 对于任意两个可以走的传送门推一个偏序关系就可以了#include <iostream>#include <cstdio>#include <vector>#include <algorithm>#define N 200050#define INF 1<<30using namespace std;typedef double db;db F[N];原创 2017-01-27 23:33:30 · 414 阅读 · 0 评论 -
[GDKOI2016] Day1 寻宝 01分数规划+最大权闭合子图
还有一个点没过……好奇怪 留坑先吧原创 2017-01-27 23:35:03 · 408 阅读 · 0 评论 -
[GDKOI2016] Day2 QT与泰剧 数位dp
诶终于到博客第100篇了,值得纪念啊数位dp有很多种写法,大部分是记忆化搜索或者多一维表示是否受限制,我之前的写法一直是一遍普通dp+一遍普通搜索,虽然很好理解但是写起来很挫,这次尝试了一下多一维的做法(实际上我开了两个数组)F[i][p1][p2]F[i][p1][p2]表示第ii位(以个位为第一位),p1表示是否全部为质数,p2表示模3的余数。 特别注意处理前导零(我真是菜鸟在这里处理了好久,原创 2017-01-29 14:13:56 · 356 阅读 · 0 评论 -
[GDKOI2016] Day2 染色大战 记忆化搜索
出题人讲这题的时候扯到了模拟退火,遗传算法,alphabeta剪枝等等 然而这题一个记忆化搜索就能跑过去#include <iostream>#include <cstdio>#define INF (1<<30)#define N 22using namespace std;int n,m,tp,e[N][N],map[N][N],v[N][N];int vis[2][1<<N];c原创 2017-01-29 16:30:12 · 357 阅读 · 0 评论