题意:给出要n个时间穿的服装。服装脱下就不能再穿。问最少要准备多少?

dp[i][j]表示i到j之间最少花费。如果n=1(n指长度),肯定结果为1,n=2时,也很好算。然后n=3的时候dp[i][j],到前面找和它相同的k,因为只有和它相同的才能在n=3的时候利用上。dp[i][k]的结果k肯定在最外层,不脱掉它,在dp[k+1][j-1]就套在第k件外边,第j时刻,将[k+1,j-1]脱掉。或者dp[i][j]在dp[i][j-1]的基础上加一件,要么利用原来的一件。利用原先的一件只能在某个第k时刻不脱掉它,在它的外层套。

#pragma comment(linker,"/STACK:1024000000,1024000000")
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<vector>
#include<cmath>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<algorithm>
#include <stack>
using namespace std;
const int SZ=1e2+,INF=0x7FFFFFFF;
typedef long long lon;
int n,arr[SZ],res[SZ][SZ]; void init()
{
cin>>n;
for(int i=;i<=n;++i)cin>>arr[i];
for(int len=;len<=n;++len)
{
for(int i=;i+len-<=n;++i)
{
int r=i+len-;
res[i][r]=res[i][r-]+;
for(int j=i;j<r;++j)
{
if(arr[r]==arr[j])res[i][r]=min(res[i][r],res[i][j]+res[j+][r-]);
}
}
}
cout<<res[][n]<<endl;
} int main()
{
std::ios::sync_with_stdio();
int casenum;
cin>>casenum;
for(int time=;time<=casenum;++time)
{
cout<<"Case "<<time<<": ";
init();
}
return ;
}

Lightoj Halloween Costumes的更多相关文章

  1. LightOj 1422 Halloween Costumes(区间DP)

    B - Halloween Costumes Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit ...

  2. Lightoj 题目1422 - Halloween Costumes(区间DP)

    1422 - Halloween Costumes   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 ...

  3. LightOJ - 1422 Halloween Costumes —— 区间DP

    题目链接:https://vjudge.net/problem/LightOJ-1422 1422 - Halloween Costumes    PDF (English) Statistics F ...

  4. LightOJ - 1422 Halloween Costumes (区间dp)

    Description Gappu has a very busy weekend ahead of him. Because, next weekend is Halloween, and he i ...

  5. 区间DP LightOJ 1422 Halloween Costumes

    http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...

  6. LightOJ 1422 Halloween Costumes 区间dp

    题意:给你n天需要穿的衣服的样式,每次可以套着穿衣服,脱掉的衣服就不能再穿了,问至少要带多少条衣服才能参加所有宴会 思路:dp[i][j]代表i-j天最少要带的衣服 从后向前dp 区间从大到小 更新d ...

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

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

  8. 【LightOJ 1422】Halloween Costumes(区间DP)

    题 题意 告诉我们每天要穿第几号衣服,规定可以套好多衣服,所以每天可以套上一件新的该号衣服,也可以脱掉一直到该号衣服在最外面.求最少需要几件衣服. 分析 DP,dp[i][j]表示第i天到第j天不脱第 ...

  9. LightOJ 1422 Halloween Costumes

    dp[i]][j]=min(dp[i+1][j]+1,dp[i+1][k-1]+dp[k][j]) 表示第i天到j的最小数量.如果第i天的衣服只自己穿的话,不考虑后面的就是dp[i][j]=dp[i+ ...

随机推荐

  1. [Data Access] ORM 原理 (11): 效能議題

    這絕對是 ORM 的使用者,開發人員與 DBAs 共同想要問的議題,到底我使用了 ORM 和使用傳統的 ADO.NET 下 SQL 指令的方式會差多少? 這個問題不但會發生在 Entity Frame ...

  2. [转]使用C#开发ActiveX控件全攻略

    前言: 这段时间因为工作的需要,研究了一下ActiveX控件.总结如下: 先说说ActiveX的基本概念. 根据微软权威的软件开发指南MSDN(Microsoft Developer Network) ...

  3. js 操作数字类型

    1.内置函数 Number().parseInt().parseFloat() var num = "88.88abc888"; Number(num);              ...

  4. 【译】理解node.js事件轮询

    Node.js的第一个基本论点是I/O开销很大. 当前编程技术中等待I/O完成会浪费大量的时间.有几种方法可以处理这种性能上的影响: 同步:每次处理一个请求,依次处理.优点:简单:缺点:任何一个请求都 ...

  5. JavaScript Image对象 / Tabel对象 / Select对象 / Form对象

    JavaScript Image / Tabel / Select / Form 对象 版权声明:未经授权,严禁转载! Image 对象 Image 对象,代表 <img> 元素. < ...

  6. 20145321 《网络对抗》 Web基础

    20145321 <网络对抗> Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签——这里面包含了处理表单数据所用CGI程序 ...

  7. 我们能从 jQuery 的一个正则表达式中学到什么?

    注意,该篇文章当前为粗糙的 v0.9 版本,会在稍后润色更新. 让我们来看一道思考题,根据 rejectExp,分析其正则执行过程中如何进行过滤?包含哪些执行步骤? rejectExp 变量的值如下: ...

  8. 64bit ubuntu如何使能安装32bit软件

    答:使用一下命令即可: sudo dpkg --add-architecture i386

  9. 基于bootstrap的后台管理系统

    ace metro'nic 基于bootstrap的后台admin system ace [eis], 扑克牌中的A 表示 非常棒, 杰出, 顶好的... gallery: 画廊, 走廊; 在网页中常 ...

  10. Linq 对List的一些操作

    代码: public class Person { public int ID { get; set; } public string Name { get; set; } public int Ag ...