LightOJ 1422 区间DP Halloween Costumes

d(i, j)表示第i天到第j天至少要穿多少件衣服。

先不考虑第i天和后面 i+1 ~ j 天的联系,那就是至少要穿 1 + d(i+1, j)件衣服。

再看状态转移,如果后面第k(i+1 ≤ k ≤ j)天所穿的衣服和第i天一样的话,那么完全可以把第i+1~k-1天所穿的衣服脱下来。

所以状态转移方程就是d(i, j) = min{ d(i+1, k-1) + d(k, j) | a[i] == a[k] },这里不用加1,因为第i天穿的那件衣服,已经包含在d(k, j)中了。

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 const int maxn = 100 + 10;
 7 
 8 int n;
 9 int a[maxn];
10 int d[maxn][maxn];
11 
12 int main()
13 {
14     int T; scanf("%d", &T);
15     for(int kase = 1; kase <= T; kase++)
16     {
17         scanf("%d", &n);
18         for(int i = 0; i < n; i++) scanf("%d", a + i);
19         memset(d, 0, sizeof(d));
20         for(int i = 0; i < n; i++)
21             for(int j = i; j < n; j++)
22                 d[i][j] = j - i + 1;
23         for(int i = n - 2; i >= 0; i--)
24             for(int j = i + 1; j < n; j++)
25             {
26                 d[i][j] = d[i + 1][j] + 1;
27                 for(int k = i + 1; k <= j; k++) if(a[i] == a[k])
28                     d[i][j] = min(d[i][j], d[i+1][k-1] + d[k][j]);
29             }
30         printf("Case %d: %d\n", kase, d[0][n - 1]);
31     }
32 
33     return 0;
34 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4695738.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php自动获取m3u8,PHP自动Get监控源码分享

使用方法&#xff1a;创建个PHP文件放到你的网站根目录里面&#xff0c;访问后不会出现结果&#xff0c;等待个20秒左右关闭页面&#xff0c;就会自动执行了。如果不重启php服务器 或者重启服务器&#xff0c;get监控一直会处于运行状态。测试了一下 秒赞网的监控&#xff0c;效…

前端学习(1575):复习todoMVC

系统再演示一下angular的实现原理流程 分装实现 两个文件 js和html

蛋疼的中文编码及其计算机编码历史

更好的博客&#xff1a;http://my.oschina.net/goldenshaw/blog?catalog536953 一&#xff1a;编码发展&#xff1a; 1 ANSI编码&#xff1a;计算机在美国出现&#xff0c;使用单字节8位编码&#xff0c;共可以表示255个状态。&#xff08;0-32&#xff08;0x00-0x20&#xff…

php io select,Python IO多路复用之——select方案服务端和客户端代码【python源码详解】...

准备文件&#xff1a;IO.py 服务端代码tcp_c.py 客户端代码IO.py 代码&#xff1a;from select import * #引入 select 模块from socket import * #引入 socket 模块s socket() #实例化一个socket 对象s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) #设置端口可重用s.bind((0.0.0…

matlab 数字图像滤波,数字图像处理 (基于Matlab) 滤波

《数字图像处理》实验报告一、实验目的(不少于200字)一、第一个实验用的是各种空间域的方式来滤波&#xff0c;也就是直接把图像和空间滤波器的模板做卷积&#xff0c;当然图像处理很重要的一个部分还有频域的处理。这就涉及到图像的傅里叶变换&#xff0c;通过将空域内的图像傅…

matlab 8.4,《DSP using MATLAB》Problem 8.42

代码&#xff1a;%% ------------------------------------------------------------------------%% Output Info about this m-filefprintf(‘\n***********************************************************\n‘);fprintf(‘ Problem 8.42 \n\n‘);banner();%% ------------…

lua的string.gsub初使用

今天在学习lua&#xff0c;熟悉项目代码的过程中&#xff0c;发现string.gsub好高级&#xff0c;所以在此mark下。 以下是lua5.1的官方文档介绍。 string.gsub (s, pattern, repl [, n])Returns a copy of s in which all occurrences of the pattern have been replaced by a …

php程序变量,PHP 变量

PHP 变量变量是用于存储信息的"容器"&#xff1a;实例$x5;$y6;$z$x$y;echo $z;?>运行实例 与代数类似x5y6zxy在代数中&#xff0c;我们使用字母(如 x)&#xff0c;并给它赋值(如 5)。从上面的表达式 zxy &#xff0c;我们可以计算出 z 的值为 11。在 PHP 中&…

漏洞:WebRTC 泄漏用户IP

WebRTC又称为“网页即时通信”&#xff0c;是一组API函数&#xff0c;它经过W3C组织的认证&#xff0c;支持浏览器之间的语音通话、视频聊天和P2P模式分享文件。 这个协议主要包括&#xff1a;getUserMedia&#xff0c;RTCPeerConnection&#xff0c;RTCDataChannels&…

怎么在电脑安装php文件夹在哪个文件夹,php进行文件上传时找不到临时文件夹怎么办,电脑自动保存的文件在哪里...

php进行文件上传时找不到临时文件夹怎么办PHP上传文件时找不到临时文件夹怎么办&#xff0c;php上传文件时找不到临时文件夹的解决方案&#xff1a;先打开php.ini配置文件&#xff1b;然后修改内容[upload _ tmp _ dir’ c :/windows/temp ‘]&#xff0c;文件夹路径要根据自己…

【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。...

【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术 作者&#xff1a;西川善司日文链接 http://www.4gamer.net/games/202/G020288/20150811091/计算机图形和交互技术的学术大会【SIGGRAPH 2015】&#xff0c;在北美时间的8月9日到13日召…

php边框圆角,css3圆角和圆角边框使用方法总结

在CSS3出现之前&#xff0c;想要实现圆角的效果可以通过图片或者用margin属性实现&#xff0c;传统的圆角生成方案&#xff0c;需要多张图片作为背景图案。CSS3出现以后&#xff0c;就不需要浪费时间去制作多张图片了&#xff0c;大大的减少了工作量&#xff0c;提高了网页的性…

php中二进制函数,PHP-----函数和二进制

递归-----函数本身调用本身。每一个栈中的变量都是独立的&#xff0c;不受外部变量的影响&#xff0c;除非传参。这一点和Js不一样。在一个php页面中要引用其他的php文件可以使用require&#xff0c;require_once或者include&#xff0c;include_once;require引入的文件如果不存…