DP+bitset

 HDU5716

dp[i][j] = dp[i-1][j-1] && (s[i] in set[j]); 第二维压bitset

 #include <bits/stdc++.h>
#define X first
#define Y second
#define mp make_pair
#define pii pair<int, int>
#define gg puts("gg");
using namespace std;
const int N = 2e6+;
int id(char c){
if(c >= ''&& c <= '') return c-'';
if(c >= 'a'&& c <= 'z') return c-'a'+;
if(c >= 'A'&& c <= 'Z') return c-'A'+;
return -;
}
char s[N], t[];
bitset<> se[], dp;
int main(){
while(gets(s+)){
for(int i = ; i < ; i++) se[i].reset();
dp.reset();
int m, n; scanf("%d", &n);
for(int i = ; i <= n; i++){
scanf("%d", &m);
scanf(" %s", t);
for(int j = ; t[j]; j++)
se[ id(t[j]) ].set(i);
}
dp.set();
bool tag = true;
for(int i = ; s[i]; i++){
if(id(s[i]) >= )
dp = (dp<<)&se[ id(s[i]) ];
else
dp.reset();
dp.set();
if(dp.test(n))
tag = false, printf("%d\n", i-n+);
}
if(tag) puts("NULL");
getchar();
}
return ;
}

 HDU5745


dp[i][j] = (dp[i-1][j-1]&&s1[i] == s2[j])|(dp[i-2][j-2]&&s1[i] == s2[j-1]&&s1[i-1] == s2[j])

压小的一维T了,压大的一维可以AC.

 #include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e5+;
char s1[N], s2[];
bitset<N> se[], dp[];
int main(){
int t; scanf("%d", &t);
while(t--){
int n, m;
scanf("%d%d", &n, &m);
scanf("%s%s", s1+, s2+);
int l1 = strlen(s1+), l2 = strlen(s2+);
for(int i = ; i < ; i++){
se[i].reset();
for(int j = ; j <= l1; j++)
se[i][j] = (s1[j] == 'a'+i);
}
//se[i][j]: s1的第j个字符是不是i
dp[].set();
for(int i = ; i <= l2; i++){
dp[i%] = (dp[(i+)%]<<)&se[s2[i]-'a'];
if(i >= )
dp[i%] |= (dp[(i+)%]<<)&se[s2[i-]-'a']&(se[s2[i]-'a']<<);
dp[i%][] = ;
}
for(int i = l2; i <= l1; i++)
printf("%d", dp[l2%][i] == );
for(int i = ; i < l2; i++) putchar('');
puts("");
}
return ;
}

HDU5716, HDU5745【dp+bitset】的更多相关文章

  1. 【dp专题】NOIP真题-DP专题练习

    这里学习一下DP的正确姿势. 也为了ZJOI2019去水一下做一些准备 题解就随便写写啦. 后续还是会有专题练习和综合练习的. P1005 矩阵取数游戏 给出$n \times m$矩阵每次在每一行取 ...

  2. [ZPG TEST 118] 最大值【dp+离线】

    题4  最大值(findmax) [题目描述] 找到一个数组的最大值的一种方法是从数组开头从前到后对数组进行扫描,令max=a[0](数组下表从0..N-1),如果a[i]>max,就更新max ...

  3. 【8.14校内测试】【DP专题】

    nlogn做法,dp[i]表示当前长度为i的最长上升子序列末尾元素的值. 不会写lower_bound(qwq,贴一个以前的好看点的代码 #include<iostream>//使用low ...

  4. uva 10069 Distinct Subsequences 【dp+大数】

    题目:uva 10069 Distinct Subsequences 题意:给出一个子串 x 和母串 s .求子串在母串中的不同序列的个数? 分析:定义dp[i][j]:x 的前 i 个字母在 s 的 ...

  5. ZOJ 2972 Hurdles of 110m 【DP 背包】

    一共有N段过程,每段过程里可以选择 快速跑. 匀速跑 和 慢速跑 对于快速跑会消耗F1 的能量, 慢速跑会集聚F2的能量 选手一开始有M的能量,即能量上限 求通过全程的最短时间 定义DP[i][j] ...

  6. CodeForces 189A 166E 【DP ·水】

    非常感谢 Potaty 大大的援助使得我最后A出了这两题DP ================================== 189A : 求切分后的ribbon最多的数目,不过要求切分后只能存 ...

  7. 【DP专辑】ACM动态规划总结

    转载请注明出处,谢谢.   http://blog.csdn.net/cc_again?viewmode=list          ----------  Accagain  2014年5月15日 ...

  8. hdu 1025 Constructing Roads In JGShining’s Kingdom 【dp+二分法】

    主题链接:pid=1025">http://acm.acmcoder.com/showproblem.php?pid=1025 题意:本求最长公共子序列.但数据太多. 转化为求最长不下 ...

  9. 愤怒的小鸟【$DP$优化】

    卡常的状压\(DP\),愤怒的小鸟. 其实本来是个很水的状压\(DP\),但因为最后三个点\(n=18\),成功地把我的不可能达到的下界为\(\Omega(2^nn^2)\),紧确的上界为\(O(2^ ...

随机推荐

  1. fork和exec一起使用

    先预览一下工程的目录树: 实现的功能:master进程启动slave进程. 看看Makefile内容: all: master.out slave.out master.out: master.cpp ...

  2. 【PHP设计模式 09_ZhuangShiQi.php】装饰器模式 (decorator)

    <?php /** * [装饰器模式 (decorator)] * 有时候发布一篇文章需要经过很多人手,层层处理 */ header("Content-type: text/html; ...

  3. 28、Oracle(四)用户权限控制

    一)用户Oracle中的用户分为二大类1)Oracle数据库服务器创建时,由系统自动创建的用户,叫系统用户,如sys.2)利用系统用户创建的用户,叫普通用户,如scott,hr,c##tiger,zh ...

  4. Codeforces 741A:Arpa's loud Owf and Mehrdad's evil plan(LCM+思维)

    http://codeforces.com/problemset/problem/741/A 题意:有N个人,第 i 个人有一个 a[i],意味着第 i 个人可以打电话给第 a[i] 个人,所以如果第 ...

  5. HDU 5794:A Simple Chess(Lucas + DP)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5794 题意:让一个棋子从(1,1)走到(n,m),要求像马一样走日字型并只能往右下角走.里 ...

  6. SQL基础教程

    第一范式: 列仅包含原子值: 没有重复的组. 第二范式: 满足第一范式: 非部分函数依赖.(如果组合键中任何一列值改变,将导致非键列的值需要被更新) 那么,主键是一列(不是组合的)满足第二范式:所有列 ...

  7. [C++][重载]

    运算符重载 C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作.例如: class complex {  public:   complex(d ...

  8. 类型引起的bug

    1.当类型是整型时 $type = 12; 2.当类型是字符型 $type = '12';

  9. 基于SURF特征的图像与视频拼接技术的研究和实现(一)

    基于SURF特征的图像与视频拼接技术的研究和实现(一)      一直有计划研究实时图像拼接,但是直到最近拜读西电2013年张亚娟的<基于SURF特征的图像与视频拼接技术的研究和实现>,条 ...

  10. 准确率(Precision)、召回率(Recall)以及F值(F-Measure)

    转载自:http://blog.csdn.net/yechaodechuntian/article/details/37394967 https://www.zhihu.com/question/19 ...