LightOJ - 1422**

题意:按顺序参加聚会,每个聚会有指定的衣服,每次可以脱去一些或者穿上一件衣服,问最少穿上的衣服次数

题解:压根没想到怎么用区间DP做…感觉是线性递推的。
dp[i][j]表示区间[i,j]区间所需的最小服装数量

初始化:dp[i][i]=1,当然不是最优的,但在递推的时候会取最优的

状态转移方程:很明显两种情况,[i,j-1]没有和j一样的衣服,直接+1
dp[i][j]=dp[i][j-1]+1

否则有的话就一直脱到有的那一天和直接+1比较,所以枚举k,i<=k<=j-1,dp[i][j]=min(dp[i][j],dp[i][k],dp[k+1][j-1]);

#include<iostream>
#include<cstdio>
#include<cstring>using namespace std;
const int maxn=110;
int dp[maxn][maxn],a[maxn],tot=0;
int main()
{int t,n;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i=1;i<=n;++i){scanf("%d",&a[i]);dp[i][i]=1; }for(int len=2;len<=n;++len){for(int i=1;i+len-1<=n;++i){int j=i+len-1;dp[i][j]=dp[i][j-1]+1;      //选择穿新for(int k=i;k<=j-1;++k){if(a[k]==a[j])dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j-1]);//看之前的 } } }printf("Case %d: %d\n",++tot,dp[1][n]);} return 0;
}

LightOJ - 1422相关推荐

  1. LightOJ 1422:Halloween Costumes(区间DP入门)

    http://lightoj.com/volume_showproblem.php?problem=1422 题意:去参加派对,有n场派对,每场派对要穿第wi种衣服,可以选择外面套一件,也可以选择脱掉 ...

  2. LightOJ 1422 Halloween Costumes

    题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27130 ---------------------------- ...

  3. LightOJ 1422 区间DP Halloween Costumes

    d(i, j)表示第i天到第j天至少要穿多少件衣服. 先不考虑第i天和后面 i+1 ~ j 天的联系,那就是至少要穿 1 + d(i+1, j)件衣服. 再看状态转移,如果后面第k(i+1 ≤ k ≤ ...

  4. LightOJ - 1422 (区间DP)

    题意:有t组数据,对于每组,有n个聚会需要参加,下面依次是参加各个聚会需要的衣服编号,要求所需要的衣服一定穿在外面,在操作的时候,可以选择穿上一件衣服或脱下一件衣服,脱下的衣服不能继续使用,问最少需要 ...

  5. LightOJ - 1422 区间DP

    题目链接 https://vjudge.net/problem/LightOJ-1422 题意 不同舞会穿不同衣服.可以随时按栈的方式穿脱.同一件衣服脱了不能重复利用,任何时候都可以穿多件衣服.问最小 ...

  6. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  7. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

  8. [kuangbin]各种各样的题单

    [kuangbin]各种各样的题单 专题1 简单搜索 POJ 1321 POJ 2251 POJ 3278 POJ 3279 POJ 1426 POJ 3126 POJ 3087 POJ 3414 F ...

  9. DP分类题目 转载 《志当存高远》大神的 没有冒犯的意思 只是拿过来学习的

    A.各种背包,就根据背包九讲的内容来做吧! --不会背包的可以边看背包九讲边练习 =========================================================== ...

最新文章

  1. 与后台通讯,首先要了解AMF协议
  2. BootStrap学习(2)
  3. 区块链新经济蓝图及导读pdf_区块链加快产业数字化转型,区块链新零售模式为企业发展加码提速...
  4. python不等式编程_在Python中pandas列上的不等式
  5. HTML5入门之新的选择器
  6. flash写保护原理_为什么固态会掉盘?著名的30分钟大法修复是什么原理?
  7. 前端学习(2892):如何异步请求封装
  8. Android Bluetooth BLE相关开发资源汇总
  9. C++ 程序员要像医生一样调试代码?
  10. View绑定式监听器实现原理
  11. 加密保护软件 WinLicense常见问题整理大全(四)
  12. python和什么语言类似_python与其他语言的对比
  13. UITableViewCell高度自适应变化
  14. 【Hibernate教程】集合映射
  15. 思科模拟器CIsco Packet Tracer路由器上配置 DHCP
  16. 如何对计算机c盘进行清理,C盘清理,小编教你怎么给电脑C盘进行清理
  17. 教学目标四个维度_【深度好文】体育教案中的教学目标与学习目标应如何表述...
  18. c语言数据流量换算算法,流量累积计算.doc
  19. sfc /scannow是什么意思,有什么作用?
  20. 关于uni-app获取完整的iccid(中间带有字母的iccid)

热门文章

  1. python连接并简单操作SQLserver数据库
  2. Windows Server 2022 Install Veeam ONE 12
  3. Elasticsearch Analyzer 的内部机制
  4. 修复服务器启动项,windows7启动项修复的方法【图解】
  5. Luogu P1376 机器工厂
  6. 广东省计算机学会优秀论文优秀奖算什么级别,有关“庆祝广东省计算机学会成立30周年优秀论文评选活动”的通知.doc...
  7. 计算机无法写入U盘,解决Mac无法写入U盘问题:无需安装软件,让Mac支持NTFS读写...
  8. 2021.11.15-11.17 周一----周三 java学习日志
  9. 思科ASA 5510配置教程 - 学习如何配置Cisco ASA 5510防火墙
  10. Webpack,凉了