2017多校第4场 HDU 6078 Wavel Sequence DP,计数
来源:互联网 发布:matlab mac 2015b官方 编辑:程序博客网 时间:2024/06/15 17:47
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6078
题意:求两个序列的公共波形子序列的个数。
解法:官方题解:
涨姿势,我只能说敝队现在真是被吊打,只能赛后补一补题。
#include <bits/stdc++.h>using namespace std;typedef long long LL;const int maxn = 2010;int T,n,m;LL dp[maxn][2], s[maxn][2];int a[maxn],b[maxn];const int mod = 998244353;int main(){ scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) { scanf("%d", &a[i]); } for(int i=1; i<=m; i++) { scanf("%d", &b[i]); } memset(dp,0,sizeof(dp)); memset(s,0,sizeof(s)); LL ans=0; LL cnt1,cnt2; for(int i=1; i<=n; i++) { cnt1=1,cnt2=0; //cnt1统计前面波谷的情况,同时自己属于波峰 //cnt0统计前面波峰的情况,同时自己属于波谷 for(int j=1; j<=m; j++) { if(a[i]==b[j])//相等更新对应波峰波谷的值 { dp[j][0]=cnt1;//波峰 dp[j][1]=cnt2;//波谷 ans=(ans+cnt1+cnt2)%mod;//答案 } else if(a[i]>b[j])//a[i]比b[j]大所以a可以在波峰 { (cnt2+=s[j][0])%=mod; } else { (cnt1+=s[j][1])%=mod;//相反 } } for(int j=1; j<=m; j++) { if(a[i]==b[j])//把上一轮a[i]的次数加上这一轮 { (s[j][0]+=dp[j][0])%=mod; (s[j][1]+=dp[j][1])%=mod; } } } printf("%lld\n", ans); } return 0;}
阅读全文
0 0
- 2017多校第4场 HDU 6078 Wavel Sequence DP,计数
- HDU 6078 Wavel Sequence 计数dp(思维)
- hdu--6078--Wavel Sequence(dp)
- 2017多校训练赛第四场 HDU 6078 Wavel Sequence(dp+优化)
- 多校4 HDU-6078 Wavel Sequence 前缀和 & 优化dp
- HDU 6078 Wavel Sequence【DP+优化】
- HDU 6078 Wavel Sequence(dp)
- HDU 6078 Wavel Sequence (dp)
- HDU 6078 Wavel Sequence (dp + 树状数组, 2017 Multi-Univ Training Contest 4)
- HDU 6078 Wavel Sequence
- HDU 6078 Wavel Sequence
- HDU 6078Wavel Sequence
- HDU 6078 Wavel Sequence
- HDU 6078 Wavel Sequence
- HDU 6078 Wavel Sequence
- hdu6078 Wavel Sequence 2017多校第四场1012 dp
- HDU-6078 Wavel Sequence(dp+树状数组)
- 2017多校四 1012题 hdu 6078 Wavel Sequence dp好题
- 设计模式C++实现(16)——状态模式
- 剑指offer:反转链表
- thinkPHP5.0在PHP中的基本操作-------(二)
- 习题 3.6 请编程序将"China"译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。
- 计算几何之判断线段是否相交
- 2017多校第4场 HDU 6078 Wavel Sequence DP,计数
- Openlayers4中地图的导出
- Java开发学习笔记:Java实现多线程的方法
- git(十三)-git subtree
- HashMap实现原理及源码分析
- 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新6.9】
- Linux--系统yum安装软件(二)
- let、var、const的区别
- 大数据生态系统基础:Apache Kafka基础(二):最新kafka编程入门:Producer API