2017第四次多校联合hdu6078
来源:互联网 发布:淘宝头条怎么申请 编辑:程序博客网 时间:2024/06/14 17:51
题目
题意:给你a,b两个序列,想要找出两个序列f,g(均为递增序列),使
题解:固定
波浪一定会有波峰和波谷,如果对于一个
(代码还是比较好懂的)
#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=20005;const int mod=998244353;ll dp[maxn][2],sum[maxn][2];int n,m;int a[maxn],b[maxn];int main(){ int t; scanf("%d",&t); while(t--) { memset(dp,0,sizeof dp); memset(sum,0,sizeof sum); 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]); ll ans=0; for(int i=1;i<=n;i++) { int p=1,v=0; for(int j=1;j<=m;j++) { if(a[i]==b[j]) { dp[j][0]=p; dp[j][1]=v; ans=(ans+p+v)%mod; } else if(a[i]>b[j]) { v=(v+sum[j][0])%mod; } else if(a[i]<b[j]) { p=(p+sum[j][1])%mod; } } for(int j=1;j<=m;j++) { if(a[i]==b[j]) { sum[j][0]=(sum[j][0]+dp[j][0])%mod; sum[j][1]=(sum[j][1]+dp[j][1])%mod; } } } printf("%lld\n",ans); }}
阅读全文
0 0
- 2017第四次多校联合hdu6078
- hdu6078 Wavel Sequence 2017多校第四场1012 dp
- 2017第四次多校联合hdu6070
- hdu6078
- 2017第四场多校联合 hdu6069
- 2017多校训练Contest4: 1012 Wavel Sequence hdu6078
- HDU6078-Wavel Sequence
- hdu6078 wave sequence dp
- 2017第六次多校联合hdu6103
- 2017第八次多校联合hdu6143
- 2017多校联合第四场1011/hdu6181(次短路)
- 2017多校联合第四场/HDU 6068 Classic Quotation(kmp+dp)
- 2013多校联合训练第四场
- HDOJ多校联合第四场
- 2016多校联合第四场 HDU5768
- MyBatis第四步、多表联合查询
- HDU6078 Wavel Sequence(动态规划)
- HDU/HDOJ 3875 Euclidean Algorithm 多校联合第四场
- 事件的处理
- JS内置对象
- PHP MySQL Selec
- Ubuntu中wine安装的程序如何卸载
- CodeForces 385 E.Bear in the Field(dp+矩阵快速幂)
- 2017第四次多校联合hdu6078
- Postgres-XL9.5集群安装与配置
- 已有文件夹添加到ASP.NET解决方案资源管理器中
- 剑指offer-丑数
- Kotlin Reference (十二) Extensions
- Longest Ordered Subsequence --DP
- 【剑指offer】把数组排成最小的数
- 松果
- 软件安全测试需要更加灵活