会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
walfy
博客园
首页
新随笔
联系
管理
上一页
1
···
30
31
32
33
34
35
36
37
38
···
56
下一页
2017年9月21日
poj2778 ac自动机+矩阵快速幂
摘要: 给m个子串,求长度为n的不包含子串的母串数,最直接的应该是暴搜,肯定tle,考虑用ac自动机 将子串建成字典树,通过next表来构造矩阵,然后用矩阵快速幂求长度为n的数量 邻接矩阵https://wenku.baidu.com/view/d7b9787f1711cc7931b716b0.html 对
阅读全文
posted @ 2017-09-21 16:35 walfy
阅读(247)
评论(0)
推荐(0)
编辑
2017年9月19日
hdu3065 ac自动机
摘要: 傻逼多组测试,想了很久不知道为什么wa,结果是多组测试 ac自动机很多时候就是对End数组的操作,这题是用End数组记录末尾的字符串,query的时候sum综合一下End数组 #include<bits/stdc++.h> #define fi first #define se second #de
阅读全文
posted @ 2017-09-19 18:32 walfy
阅读(166)
评论(0)
推荐(0)
编辑
hdu2896 ac自动机
摘要: 这题还是ac自动机裸题,只不过就是格式很烦人 有几个坑点:输入可能有空格,ascll可见字符从32开始到126有95个 wa点,用string输入,不能含空格,用scanf输入字符数组时没有memset,每次计算set里面的末尾值之后就清空了 #include<bits/stdc++.h> #def
阅读全文
posted @ 2017-09-19 16:28 walfy
阅读(144)
评论(0)
推荐(0)
编辑
2017年9月18日
hdu2222 ac自动机
摘要: 貌似字典树也能过,原理不多赘述了,主要就是字典树+kmp 设匹配串长度为n,模式串共m个,第i个记为si。 时间复杂度为O(n+∑mi=1length(si))。 ac自动机大致就是用字典树存下每个分串,再处理出fail数组,最后根据母串和fail数组进行逐一匹配 在对fail数组进行处理的时候,f
阅读全文
posted @ 2017-09-18 19:43 walfy
阅读(145)
评论(0)
推荐(0)
编辑
HDU - 1251 字典树
摘要: 很久之前刷的专题,今天准备学ac自动机打算复习一下,突然发现博客里没有= = 所以把模板拉过来 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<
阅读全文
posted @ 2017-09-18 15:44 walfy
阅读(110)
评论(0)
推荐(0)
编辑
2017年9月14日
hdu2476 区间dp
摘要: 题目大意就是给两个长度相同的字符串,每次操作能使一段变成相同的一个字符,要求是串1变成串2的最小操作数目 (先假设从一个完全不相同的字符串变成串2)先用区间dp求出任意两点之间的最小操作数,dp[i][j]是i到j 的最小操作数 然后用一个数组求串1到串2的最小操作数,对于某一点,如果s[i]==p
阅读全文
posted @ 2017-09-14 16:43 walfy
阅读(185)
评论(0)
推荐(0)
编辑
hdu4283 区间dp
摘要: 转移方程:dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k+1][j]+(sum[j]-sum[k])*(k-i+1)+a[i]*(k-i)); 一开始思路好像出了一点问题,我是考虑每次更新时把k放到第j个位置,然后k+1到j整体前移,但是不知道错在哪里了, 正解是,对于转
阅读全文
posted @ 2017-09-14 10:16 walfy
阅读(140)
评论(0)
推荐(0)
编辑
poj1651 区间dp
摘要: 转移方程是dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]+mul[i][k][j]); k是中间的那个数,每次更新k的值 #include<map> #include<set> #include<cmath> #include<queue> #include<stac
阅读全文
posted @ 2017-09-14 10:12 walfy
阅读(149)
评论(0)
推荐(0)
编辑
2017年9月12日
lightoj1422 区间dp
摘要: 对于这一题想了很久真的是一点头绪也没有,还有组数明明是200,数据范围100,O(n^3)的复杂度居然不会爆掉(可能是因为一直在想怎么用O(n^2)的复杂度做这题 做法是先预处理dp,对于dp[i][i]只能等于1,因为dp数组代表i到j的最小带的衣服数量,从下至上更新 对于每一次的dp[i][j]
阅读全文
posted @ 2017-09-12 19:04 walfy
阅读(170)
评论(0)
推荐(0)
编辑
2017年9月11日
POJ - 2955 区间dp
摘要: poj不支持bits/stdc++.h这个头文件就很坑,区间dp,第一重循环是长度,第二重是起点,第三重是遍历起点到终点 dp[i][j]代表i到j最大匹配数目,每次枚举了起点之后判断一下是否出现了()【】匹配 复杂度O(n^3) #include<map> #include<set> #inclu
阅读全文
posted @ 2017-09-11 15:51 walfy
阅读(124)
评论(0)
推荐(0)
编辑
上一页
1
···
30
31
32
33
34
35
36
37
38
···
56
下一页
公告