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创建一个注册表单,如何实现一个简单的注册表单

创建一个注册表单是非常容易的 - 它事实上意味着&#xff0c;你只需要创建一个表单&#xff0c;表单将更新一些User的模型对象(这个例子是一个Doctrine实体)并保存它。受欢迎的FOSUserBundle 提供了一个注册表单&#xff0c;重置密码表单和其他用户管理功能。如果你先前没有一个…

php 图片不让下载,php让图片可以下载的方法

php让图片可以下载的方法发布于 2014-10-04 11:16:18 | 102 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor&#xff0c;中文名&#xff1a;“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点&#xff0c;…

while语法php格式,PHP While 循环

循环执行代码块指定的次数&#xff0c;或者当指定的条件为真时循环执行代码块。PHP 循环在您编写代码时&#xff0c;您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。在 PHP 中&#xff0c;提供了下列循环语句&#xff1a;while–…

【转】一句话的设计模式

转自&#xff1a;http://www.cnblogs.com/lzhlyle/p/4696645.html 如题&#xff0c;实际上&#xff0c;我想这是很困难的。 除非——只是为了给自己做一个提醒&#xff0c;能够看一眼就快速回想起该设计模式的种种记忆。 下列是我之前在学习《大话设计模式》时做的笔记总结&…

php代码导入sql,php导入SQL文件(示例代码)

/*************PHP导入.sql文件运行版本:php5,php4作者:panxp邮件:coolpan123gmail.com*编辑整理&#xff1a;bbs.it-home.org**************/$host "localhost";$user "root";$pwd "";$file_dir dirname(__FILE__);$file_name "bar.s…

jQuery遍历Json数组

var jsonArray [{ "name": "张三", "password": "123456"},{ "name": "李四", "password": "123456"}]; $.each(obj, function (n, value) { n&#xff1a;数组中的位置&#xff1b; val…

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

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

Vertex and Fragment Shader

Semantics语义词&#xff1a;   定义&#xff1a;GPU工作时&#xff0c;数据通常暂存在寄存器&#xff0c;那么在Cg中&#xff0c;语义词就指定了输入/输出数据和图形硬件寄存器之间的映射关系。   原理&#xff1a;根据输入语义&#xff0c;图形处理器从某个寄存器取数据&…

linux php cgi.sock,nginx中unix:/tmp/php-cgi.sock错误解决解决

出现这种问题一般是因为/tmp/php-cgi.sock功能是负责流量最主要的特征就是unix socket比tcp快,下面来解决办法。首先建立/tmp/php-cgi.sock文件&#xff0c;然后将之改所有者改为www-data&#xff1a;#我直接改成nginx的用户&#xff0c;好像必须要属于nginx的用户组才能正常使…

erlang套接字

Erlang的套接字可以有三种打开模式&#xff1a;主动&#xff08;active&#xff09;、单次主动&#xff08;active once&#xff09;或被动&#xff08;passive&#xff09;。这是通过在gen_tcp:connect(Address, Port, Options)或gen_tcp:listen(Port, Options)的Options参数里…

php 类学习,php的类学习(一)

function __autoload($class_name){//require_once语句在脚本执行期间包含并运行指定文件。此行为和 require()语句完全相同&#xff0c;唯一区别是如果该文件中的代码已经被包含了&#xff0c;则不会再次包含require_once $class_name . .php;}$obj new testAAA();$obj2new ty…

前端学习(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…

java异常处理机简答题,【简答题】JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分别代表什么意义?...

【简答题】JAVA 语言如何进行异常处理&#xff0c;关键字&#xff1a; throws,throw,try,catch,finally 分别代表什么意义&#xff1f;更多相关问题用蒸汽进行设备管线吹扫时,应将被吹扫的设备管线,相应部位仪表引线阀关闭,防止损坏仪表。()铝壶内装有2.5kg的水&#xff0c;其温…

阐述linux IPC(五岁以下儿童):system V共享内存

【版权声明&#xff1a;尊重原创。转载请保留源&#xff1a;blog.csdn.net/shallnet 要么 .../gentleliu&#xff0c;文章学习交流&#xff0c;不用于商业用途】system V共享内存和posix共享内存类似&#xff0c;system V共享内存是调用shmget函数和shamat函数。 shmget函数创…

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…

NDK和项目依赖

NDK使用 JDK:Java Development KitSDK:Software Development KitNDK:Native Development KitJNI: Java Nattive InterfaceNDK开发流程&#xff1a; 下载NDK并配置NDK路径新建项目 修改build.gradle文件 替换classpath:com.android.tools.build:gradle-experimental:0.4.0 替换a…