上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 182 下一页
摘要: 题意:求一个文章(长度5.1e6)里面出现了多少个指定的模式串。重复出现只记一次。而且如果两个模式串都出现的情况下,一个是另一个的子串,则该子串不算出现过。分析:AC自动机。由于子串不算所以加一些特殊处理:1.在文章匹配过程中,如果出现了一个模式串我们不是把匹配数量+1,而是记录那个出现过vis[i... 阅读全文
posted @ 2015-03-12 10:05 金海峰 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 数位DP#include #include using namespace std;const int MAX_DIGIT = 15;const int MAX_K = 10005;long long n;int f[MAX_DIGIT];long long memoize[MAX_DIGIT][M... 阅读全文
posted @ 2015-02-24 20:04 金海峰 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 基本的数位DP,注意记录那些状态可以用最小的空间判断出整除性。#include #include using namespace std;#define D(x) const int MAX_DIGIT_NUM = 20;int f[MAX_DIGIT_NUM];long long memoize[... 阅读全文
posted @ 2015-02-24 11:29 金海峰 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 数位dp,许多数位dp需要统计某种模式(子串)出现的数量,这种题通常需要在递归参数中加入高位已经出现过的模式的数量。#include #include using namespace std;#define D(x) const int MAX_DIGIT = 40;long long n;int ... 阅读全文
posted @ 2015-02-23 18:19 金海峰 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 数位dp,需要记录前导0。数位dp中需要注意统计0,00,000……这些数字。数位dp的写法可以分为两类。由于我们通常采用记忆化搜索的方式进行dp,所以我们有一个记忆化数组。一种是记忆化数组的意义是不通用的,对于不同case,该数组的值不同。另一种是通用的,不同case,数组的值不变。对于第一种情况... 阅读全文
posted @ 2015-02-23 13:02 金海峰 阅读(262) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 182 下一页