hdu6078 Wavel Sequence(分析优化递推过程,好题)
来源:互联网 发布:51单片机难的设计题目 编辑:程序博客网 时间:2024/06/05 00:17
题意:
序列a有n个数,序列b有m个数。问,两个序列有多少个公共子序列满足“波浪状”。“波浪状”数组形如 a1 < a2 > a3 < a4 > a5 ……
1 <= n,m <= 2000
分析:
看了一个博客分析的非常好
http://blog.csdn.net/weyoungg/article/details/76735843
代码就是按照这个博主的思路,只不过用滚动数组把第一维滚掉了。
代码:
#include <iostream>#include <algorithm>#include <queue>#include <stack>#include <vector>#include <set>#include <cmath>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define ms(a,b) memset(a,b,sizeof(a))typedef long long ll;const int MAXN = 2005;const double EPS = 1e-8;const int INF = 0x3f3f3f3f;const int MOD = 998244353;int n, m, a[MAXN], b[MAXN];ll f[MAXN][2];int main() { int T; 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]); ms(f, 0); ll ans = 0; //f[][1] 波峰 f[][0] 波谷 for (int i = 1; i <= n; i++) { ll top = 1, btm = 0; for (int j = 1; j <= m; j++) { if (a[i] == b[j]) { f[j][0] += top; f[j][1] += btm; ans = (ans + top + btm) % MOD; } else if (a[i] > b[j]) { (btm += f[j][0]) %= MOD; } else { (top += f[j][1]) %= MOD; } } } printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- hdu6078 Wavel Sequence(分析优化递推过程,好题)
- HDU6078-Wavel Sequence
- HDU6078 Wavel Sequence(动态规划)
- HDU 6078 Wavel Sequence【dp递推】【好题】【思维题】
- hdu6078 Wavel Sequence 2017多校第四场1012 dp
- 2017多校训练Contest4: 1012 Wavel Sequence hdu6078
- HDU 6078 Wavel Sequence【DP+优化】
- 2017多校四 1012题 hdu 6078 Wavel Sequence dp好题
- hdu6078 wave sequence dp
- 2017多校训练赛第四场 HDU 6078 Wavel Sequence(dp+优化)
- HDU 6078 Wavel Sequence(dp)
- HDU 6078 Wavel Sequence (dp)
- 多校4 HDU-6078 Wavel Sequence 前缀和 & 优化dp
- HDU 6078 Wavel Sequence
- HDU 6078 Wavel Sequence
- HDU_6078 Wavel Sequence
- HDU 6078Wavel Sequence
- HDOJ 6078-Wavel Sequence
- DAO模式
- NSURLSession之get请求模拟登录
- 小车事故处理参考
- 我的外婆
- 登录脚本重构by封装
- hdu6078 Wavel Sequence(分析优化递推过程,好题)
- 航信概要设计-3
- 传统机顶盒(STB)知识框架
- 抽象类和接口
- 阿里云linux服务器如何挂载数据盘
- Linux帮助命令和压缩和解压命令
- c# 三方集合库C5介绍
- 堆排序
- 福建工程大学OJ --- 2570 university 【二分 , lower_bound 的运用】