ZOJ3541 The Last Puzzle
这道题是宁波集训的那道题,讲课时轻描淡写吧(应该是我听课不认真罢了),所以这样就要靠自己的理解了,
dp[i][j][0]表示从左端点开始完成整个区间的最小花费dp[i][j][1]表示从右端点开始完成整个区间的最小花费,就是这样的。
然后记录前驱,因为每次只会从端点开始,不然返回端点的时间是不必要的,这样就可以了,然后最后输出即可。
- #include<cstdio>
- #include<algorithm>
- #include<iostream>
- #include<cmath>
- #include<cstring>
- using namespace std;
- const int NN=,INF=1e9+;
- int n;
- int t[NN],d[NN];
- int f[NN][NN][],fa[NN][NN][];
- int main()
- {
- while (~scanf("%d",&n))
- {
- memset(f,,sizeof());
- memset(fa,,sizeof(fa));
- for (int i=;i<=n;i++)
- scanf("%d",&t[i]);
- for (int i=;i<=n;i++)
- scanf("%d",&d[i]);
- memset(f,,sizeof(f));
- for (int k=;k<=n;k++)
- {
- for (int i=;i+k-<=n;i++)
- {
- int j=i+k-;
- if (f[i+][j][]+d[i+]-d[i]<f[i+][j][]+d[j]-d[i])
- {
- f[i][j][]=f[i+][j][]+d[i+]-d[i];
- fa[i][j][]=;
- }
- else
- {
- f[i][j][]=f[i+][j][]+d[j]-d[i];
- fa[i][j][]=;
- }
- if (f[i][j][]>=t[i]||f[i][j][]>INF) f[i][j][]=INF;//没什么大不了的,防止溢出。
- if (f[i][j-][]+d[j]-d[j-]<f[i][j-][]+d[j]-d[i])
- {
- f[i][j][]=f[i][j-][]+d[j]-d[j-];
- fa[i][j][]=;
- }
- else
- {
- f[i][j][]=f[i][j-][]+d[j]-d[i];
- fa[i][j][]=;
- }
- if (f[i][j][]>=t[j]||f[i][j][]>INF) f[i][j][]=INF;//没什么大不了的,防止溢出。
- }
- }
- int l,r,w;
- if (f[][n][]<INF)
- {
- printf("");
- l=,r=n,w=fa[][n][];
- }
- else if (f[][n][]<INF)
- {
- printf("%d",n);
- l=,r=n-,w=fa[][n][];
- }
- else
- {
- printf("Mission Impossible\n");
- continue;
- }
- while (l<=r)
- {
- if (w==)
- {
- printf(" %d",l);
- w=fa[l][r][],l++;
- }
- else
- {
- printf(" %d",r);
- w=fa[l][r][],r--;
- }
- }
- printf("\n");
- }
- }
ZOJ3541 The Last Puzzle的更多相关文章
- Puzzle 面向服务/切面(AOP/IOC)开发框架 For .Net
Puzzle 面向服务/切面AOP开发框架 For .Net AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效 ...
- HDU5456 Matches Puzzle Game(DP)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5456 Description As an exciting puzzle game for ...
- one recursive approach for 3, hdu 1016 (with an improved version) , permutations, N-Queens puzzle 分类: hdoj 2015-07-19 16:49 86人阅读 评论(0) 收藏
one recursive approach to solve hdu 1016, list all permutations, solve N-Queens puzzle. reference: t ...
- poj3678 Katu Puzzle 2-SAT
Katu Puzzle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6714 Accepted: 2472 Descr ...
- POJ1651Multiplication Puzzle[区间DP]
Multiplication Puzzle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8737 Accepted: ...
- codeforce B Island Puzzle
B. Island Puzzle time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- poj 1651 Multiplication Puzzle (区间dp)
题目链接:http://poj.org/problem?id=1651 Description The multiplication puzzle is played with a row of ca ...
- Ignatius's puzzle
Ignatius's puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- A hard puzzle
A hard puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
随机推荐
- [js高手之路]设计模式系列课程-设计一个模块化扩展功能(define)和使用(use)库
模块化的诞生标志着javascript开发进入工业时代,近几年随着es6, require js( sea js ), node js崛起,特别是es6和node js自带模块加载功能,给大型程序开发 ...
- jmeter ---json几种读取方式,ArrayList循环读取
在之前写过提取json数据格式的文章,这次对jmeter读取json数据格式进行整理. 举例一个接口的response 格式如下: { "data" : { "devic ...
- Javascript的内容摘要
JS简介和变量 {JS的三种方式} 1 HTML中内嵌JS(不提倡使用) <button onclick="javascript:alert ...
- input标签新增属性
<input list='list_t' type="text" name='user' placeholder='请输入姓名' value="" / ...
- 动态创建angular组件实现popup弹窗
承接上文,本文将从一个基本的angular启动项目开始搭建一个具有基本功能.较通用.低耦合.可扩展的popup弹窗(脸红),主要分为以下几步: 基本项目结构搭建 弹窗服务 弹窗的引用对象 准备作为模板 ...
- 字符编码笔记:ASCII,Unicode和UT…
字符编码笔记:ASCII,Unicode和UTF-8 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才 ...
- 201521123015 《Java程序设计》第4周学习总结
本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.多态:使用单一接口操作多种类型的对象. 2.private修饰属性,public修饰方法. 3 ...
- 201521123101 《Java程序设计》第2周学习总结
1. 本周学习总结 使用码云保存管理自己的代码: 学习String和Array: 继续对JAVA的探索,希望以后能在编程上更顺畅一些 2. 书面作业 1.使用Eclipse关联jdk源代码(截图),并 ...
- 201521123056 《Java程序设计》第12周学习总结
1. 本周学习总结 2. 书面作业 将Student对象(属性:int id, String name,int age,double grade)写入文件student.data.从文件读出显示. 1 ...
- XML【介绍、用途、了解XML技术架构、语法】
什么是XML? XML:extensiable markup language 被称作可扩展标记语言 XML简单的历史介绍: gml->sgml->html->xml gml(通用标 ...