随笔分类 - NOI 动态规划
摘要:###题目描述### 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一。跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画n个格子,这些格子都在同一条直线上。每个格子内有一个数字(整数),表示到达这个格子能得到的分数。玩家第一次从起点开始向右跳,跳到起点右侧的一
阅读全文
摘要:问题描述 政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为di(为正整数),其中,0 include include include include int num[1001],dist[1001][1
阅读全文
摘要:NYIST ACMer 括号配对问题I 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0 #include #include #include ...
阅读全文
摘要:有向无环图(DAG,Directed Acyclic Graph)上的动态规划是学习动态规划的基础。很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。 一、矩形嵌套 题目描述: 有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形X(a,b)可以嵌套在...
阅读全文
摘要:问题描述: "逢低吸纳”是炒股的一条成功秘诀。如果你想成为一个成功的投资者,就要遵守这条秘诀: "逢低吸纳,越低越买" 这句话的意思是:每次你购买股票时的股价一定要比你上次购买时的股价低.按照这个规则购买股票的次数越多越好,看看你最多能按这个规则买几次。 给定连续的N天中每天的股价。你...
阅读全文
摘要:本节回顾0-1背包的基本模型,关于它的实现有很多种写法,这里对不同实现做个简单列举,主要是写代码练手了,主要有以下几方面内容: ==0-1背包问题定义 & 基本实现 ==0-1背包使用滚动数组压缩空间 ==0-1背包使用一维数组 ==0-1背包恰好背满 ==0-1背包输出最优方案 ======...
阅读全文
摘要:【题目描述】 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分. 【输入格式】 数据的第1行试正整数N,1≤N≤100,表示...
阅读全文
摘要:树状动态规划定义 之所以这样命名树规,是因为树形DP的这一特殊性:没有环,dfs是不会重复,而且具有明显而又严格的层数关系。利用这一特性,我们可以很清晰地根据题目写出一个在树(型结构)上的记忆化搜索的程序。而深搜的特点,就是“不撞南墙不回头”。这一点在之后的文章中会详细的介绍。 首...
阅读全文
摘要:树形DP入门 poj 2342 Anniversary party 先来个题入门一下~ 题意: 某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,现在已知每个人的活跃指数和上司关系(当然不可能存在环),求邀请哪些人(多少人)来能使得晚会的...
阅读全文
摘要:理解动态规划 动态规划中递推式的求解方法不是动态规划的本质。 我曾经给学校参加NOIP的同学多次讲过动态规划,我试着讲一下我理解的动态规划,争取深入浅出。希望你看了我的答案,能够喜欢上动态规划。 0. 动态规划的本质,是对问题状态的定义 和状态转移方程 的定义。 引自维基百科 dyn...
阅读全文
摘要:数学之美——动态规划 今 年九月二十三日,Google、T-Mobile 和 HTC 宣布了第一款基于开源操作系统 Android 的 3G 手机,其中一个重要的功能是利用全球卫星定位系统实现全球导航。这个功能在其它手机中早已使用,并且早在五六年前就已经有实现这一功能的车载设备出售。其 中的关...
阅读全文
摘要:石子归并问题 1:任意版 有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为将的一堆石子的数量。设计一个算法,将这N堆石子合并成一堆的总花费最小(或最大)。 此类问题比较简单,就是哈夫曼编码的变形,用贪心算法即可求得最优解。即每次选两堆最少的,合并成...
阅读全文
摘要:动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加(分治思想,递归方法。往往会由于数据大导致递归层次过多而超时或爆栈,即使采用记忆化等优化策略,仍然可能解决...
阅读全文
摘要:例题: 1、N个数排成一排,你可以任意选择连续的若干个数,算出它们的和。问该如何选择才能使得和的绝对值最小。 如:N=8时,8个数如下: -20 90 -30 -20 80 -70 -60 125 如果我们选择1到4这4个数,和为20,还可以选择6到8这3个数,和为-5,|...
阅读全文
摘要:[NOIP2005] 采药 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值...
阅读全文
摘要:分析: 这一题虽然是加强版的,但也就是数据范围比原题大了点儿,思路都一样,在原题的基础上加一个高精度乘法就OK了,下面说一下算法:看到题首先想到的就是动态规划,你会发现这一题极像一道经典题目———添加号问题,只不过那个是加法。 设F[i][j]表示前j个数中加入i个乘号的最大值,则有状态转移方程...
阅读全文
摘要://<NOIP2013> 花匠/* 最优子结构性质,可以用动规。注意到存在30%的变态数据(1 ≤ n ≤ 100,000, 0 ≤ h_i ≤1,000,000),因此应当找到线性的算法 。A、B两种情况不仅不会增加复杂性,反而消除了对n奇偶性的讨论。 两种情况可以简化为一种锯齿状的数...
阅读全文
摘要:题目描述 Description 花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。 具体而言,栋栋的花的高度可以看成一列整数h_1, h_2, … , ...
阅读全文
摘要:机器分配 【题目描述】 某总公司拥有高效生产设备M 台,准备分给下属的N 个分公司。各分公司若获得这些 设备,可以为总公司提供一定的盈利。问:如何分配这M 台设备才能使国家得到的盈利最 大?求出最大盈利值。 分配原则:每个公司有权获得任意数目的设备,但总台数不得超过总设备数M 【输...
阅读全文
摘要:动态规划总结(by Amber) 动态规划总结 by Amber 1. 按状态类型分 写在前面: 从状态类型分,并不表示一题只从属于一类。其实一类只是一种状态的表示方法。可以好几种方法组合成一个状态,来解决问题。 1.1. 编号(长度)动态规划 共性总结 本类的状态是基...
阅读全文