LightOJ 1422 Halloween Costumes 区间DP
来源:互联网 发布:微信恶搞软件 编辑:程序博客网 时间:2024/06/07 01:20
题意:给你n天分别要穿的衣服,可以套着穿,但是一旦脱下来就不能再穿了,问这n天要准备几件衣服。
dp[i][j]为第i天到第j天要穿的最少衣服,考虑第i天,如果后面的[i+1, j]天的衣服不要管,那么dp[i][j] = dp[i + 1][j] + 1。
然后在区间[i +1, j]里面找到和第i天衣服一样的日子,尝试直到那天都不把i脱掉,
那么就变成dp[i][j] = dp[i + 1][k - 1] + dp[k][j],你可能会发现第i天不见了,其实只要把+两边换一下就好说了,就是第k天的衣服一直穿着。
#include <set>#include <map>#include <stack>#include <queue>#include <deque>#include <cmath>#include <vector>#include <string>#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define L(i) i<<1#define R(i) i<<1|1#define INF 0x3f3f3f3f#define pi acos(-1.0)#define eps 1e-9#define maxn 200010#define MOD 1000000007int n;int a[110];int dp[115][115];int main(){ int t,C = 1; scanf("%d",&t); while(t--) { scanf("%d",&n); memset(dp,0,sizeof(dp)); for(int i = 0; i < n; i++) { scanf("%d",&a[i]); dp[i][i] = 1; } for(int i = n-2; i >= 0; i--) for(int j = i+1; j < n; j++) { dp[i][j] = dp[i+1][j] + 1; for(int k = i+1; k <= j; k++) if(a[i] == a[k]) dp[i][j] = min(dp[i][j],dp[i+1][k]+dp[k+1][j]); printf("%d %d %d\n",i,j,dp[i][j]); } printf("Case %d: %d\n",C++,dp[0][n-1]); } return 0;}
0 0
- Lightoj 1422 Halloween Costumes(区间DP)
- LightOJ 1422 Halloween Costumes 区间DP
- LightOJ - 1422 Halloween Costumes (区间DP)
- LightOJ 1422 Halloween Costumes(区间dp)
- LightOJ 1422 Halloween Costumes(区间DP)
- LightOJ 1422 - Halloween Costumes(区间DP)
- 区间dp LightOj 1422 Halloween Costumes
- lightoj 1422Halloween Costumes(区间dp)
- LightOJ 1422 Halloween Costumes 【区间DP】
- LightOJ 1422 Halloween Costumes (区间dp)
- LightOJ 1422 Halloween Costumes (区间DP)
- lightoj-1422-Halloween Costumes 区间dp
- LightOJ - 1422 Halloween Costumes 区间DP
- LightOJ 1422 Halloween Costumes(区间DP )
- lightoj 1422 - Halloween Costumes 【区间dp入门】
- lightoj 1422 - Halloween Costumes(区间DP)
- LightOj 1422 Halloween Costumes(区间DP)
- LightOJ 1422 Halloween Costumes (区间DP)
- 判断满二叉树中有不同子树的节点有多少个
- 九度OJ 1076 N的阶乘 (大整数运算)
- LeetCode 91 Decode Ways
- 基于Python的二叉树遍历算法
- HandlerThread解析
- LightOJ 1422 Halloween Costumes 区间DP
- Java 或 Android属性生成工具
- Bloom
- Java设计模式的六大原则
- springmvc 多数据源 SSM java redis
- 常见的sql查询语句
- 三角形输出
- 快递单号跟踪借口 API免费接口 各种提供JSON格式数据返回服务网站的API接口
- Android 中应用的字体大小不受系统字体大小影响