DP
文章平均质量分 62
ff_666
开心最好。。但现在正是奋起之时!!!
展开
-
又见食物链——题解
题目大意: 在一个有向图中,求从无入度的点到达无出度的点的路径条数(单点除外!!!) n≤100000,E≤200000n≤100000,E≤200000n≤100000,E≤200000这题较水,定义个F[i]F[i]F[i]表示以节点i为终点的路径条数,拓扑顺推或反建图DFS 最后统计无出度的点(重要的事情说三遍:单点除外!!! 单点除外!!! 单点除外!!!)#includ...原创 2018-07-07 11:08:57 · 174 阅读 · 0 评论 -
longpo的回文——题解
题目大意给出一个字符串,用三种操作使其变成回文串 * 添加 addaddadd xxx costcostcost * 删除 eraseeraseerase xxx costcostcost * 改变 changechangechange xxx costcostcostDP全靠猜,第一次基本猜对字符串DP 定义区间DP F[L][R]F[L][R]F[L][R]表示将L~R...原创 2018-08-18 14:20:47 · 209 阅读 · 0 评论 -
数字分割——题解
题目大意如题,求将一个NNN位数字分割开的方案数,要求割出的数字从左往右严格递增,且数字不能有前导0 N<=5000N<=5000NO(N3)O(N3)O(N^3)的DP: F[i][j]F[i][j]F[i][j]表示前iii位,其中最后一个数字位数为jjj的方案数 则F[i][j]=(∑j−1k=1F[i−j][k])+F[i−j][j]|当前数字[i−j+1,i]大于上...原创 2018-08-18 14:56:21 · 1035 阅读 · 0 评论 -
LOJ10060(BZOJ3172)【TJOI 2013】
LOJ10060这题题目大意:给你N个单词(也是N段文章),求每个单词在这N段文章里的出现次数然后随手写了个AC自动机——TLE了一个点。。#include<bits/stdc++.h>#define gt() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++)#de...原创 2018-08-25 11:03:30 · 419 阅读 · 0 评论 -
LOJ10061(BZOJ1195)(Luogu2322)【HNOI 2006】
LOJ10061N这么小,果断状压 那么构造AC自动机,直接暴力枚举添加字符即可。。 并且别忘了将nxt[x]的状态传递过来 ——因为如果当前串已经出现,那么nxt[x]也一定出现 所以就在构造AC自动机时加一句话:void getnxt(){ int hed=0,tal=0,x,i; for(int i=0;i<26;i++) if(AC.c[0][i]...原创 2018-08-25 13:00:51 · 141 阅读 · 0 评论 -
LOJ10063(BZOJ1030)(Luogu4052)【JSOI 2007】
LOJ10063这题,不就是给你N个单词,在26N26N26^N个文章里查嘛 然后肯定建好AC自动机后,考虑计数DP 正难则反,我们定义这样的DP: F[k][x]表示走了k步,走到Trie上的第x个节点,且严格组成“火星文”的方案数 ——那么显然,当儿子可走时累计答案:F[k+1][son]+=F[k][x]F[k+1][son]+=F[k][x]F[k+1][son]+=F[k][...原创 2018-08-25 15:15:33 · 162 阅读 · 0 评论