hdu 5791 dp简单
来源:互联网 发布:tiny core linux 中文 编辑:程序博客网 时间:2024/06/01 17:55
分析
模拟序列添加的过程即可。
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define pr(x) cout << #x << ": " << x << " " #define pl(x) cout << #x << ": " << x << endl;struct jibancanyang{ int n, m; int A[1009], B[1008]; long long dp[1009][1009]; int mod = int(1e9) + 7; void fun() { while (~scanf("%d%d", &n, &m)) { for (int i = 1; i <= n; ++i) scanf("%d", &A[i]); for (int j = 1; j <= m; ++j) scanf("%d", &B[j]); A[0] = B[0] = 0; memset(dp, 0, sizeof(dp)); for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1]; if (A[i] == B[j]) dp[i][j] += dp[i - 1][j - 1] + 1; dp[i][j] = (dp[i][j] % mod + mod) % mod; } } printf("%lld\n", dp[n][m]); } }}ac;int main(){#ifdef LOCAL freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout);#endif ac.fun(); return 0;}
0 0
- hdu 5791 dp简单
- HDU 1087 简单DP
- hdu 1978 简单dp
- hdu 2830 简单dp
- hdu 2151 简单dp
- hdu 3199 简单dp
- HDU DP 简单题
- hdu 4540(简单dp)
- hdu 2152(简单dp)
- HDU 4502 简单DP
- hdu 1087 简单dp
- HDU 1003(简单dp)
- hdu 1087 简单dp
- hdu 2751 简单dp
- hdu 2084 简单dp
- hdu 2577 简单dp
- hdu 1978 简单dp
- hdu 2059 简单dp
- java 连接Mysql 中文查询不到结果的问题解决方案,已经字符串拼接方法
- 第三方支付
- 关于OOP和AOP的释义
- 记录2
- 车联网概念——转载自互联网
- hdu 5791 dp简单
- Mac OS X 下如何配置才能通过 sz/rz 命令下载/上传文件
- HDU 1576 扩展欧几里得&&暴力
- Java String 首字母大小写问题
- 记录3
- ImageLoader的简单使用
- OPENCV入门教程九:图像旋转任意角度
- Android studio 常用快捷键
- 记录4