
动态规划
soundwave_
Talk is cheap. Show me the code.
展开
-
[线性DP]最长不下降子序列(LIS)
题目:在线性动态规划中状态是一维的,第i个元素的状态与前i-1个元素的状态有关,前i-1个状态组成一个决策序列,它是其他类动态规划的基础。典型的应用有LIS(最长不下降子序列),LCS(最长公共子序列)以及它们的应用。例1 求最长不下降子序列。由n个不相同的整数组成的数列,记为:a(1),a(2),…,a(n)且a(i)≠a(j)(i≠j),例如,3,18,7,14,10,12,23,原创 2016-07-26 08:05:33 · 1879 阅读 · 1 评论 -
[01背包]vijos1334 NASA的食物计划
P1334NASA的食物计划Accepted标签:[显示标签]背景NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时,解决方法也许只能让航天员出仓维修,但是多次的维修会消耗航原创 2016-07-29 11:06:34 · 491 阅读 · 0 评论 -
[记忆化搜索]vijos 1599 货币
背景又是一道水题描述在某个神秘的星球上有一种货币,它有一种奇怪的兑换规则你有且仅有一枚面值为n的金币,你可以去银行进行兑换,也可以不兑换如果去银行兑换,兑换的规则是这样的:用面值为a的金币去兑换可以换到a/2,a/3,a/4这三枚硬币(如果是小数则截尾取整),你可以兑换多次读入n输出你最后最多能拥有的钱数w每个测试点中有T组数据原创 2016-07-22 14:21:57 · 497 阅读 · 0 评论 -
[记忆化搜索]vijos 1547 逆转,然后再见
描述上届的高三在这个暑假终于要到各个城市奔向他们的大学生活了。奇怪的是学校这次异常阔气,说要用三台车子去载他们上学。上届高三的师兄们异常兴奋……可惜的是临行的时候,学校终于露出它“狰狞”的面孔:一、油费要学生自己给二、去第k 个城市的条件是,前k-1 个城市都要被去过三、同时只能有一部车子在动师兄们也只能不断地锤胸口……但是改乘飞机已经来不及了……他们只好利原创 2016-07-22 13:42:51 · 449 阅读 · 0 评论 -
[DP]poj 1050 To the Max
DescriptionGiven a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. The sum of a rectangl原创 2016-07-22 14:25:33 · 322 阅读 · 0 评论 -
[模板]二进制状态压缩DP模板(详解
题目:在 n*n(n≤20)的方格棋盘上放置 n 个车(可以攻击所在行、列),求使它们不能互相攻击的方案总数。思路:根据组合数学很明显是n!(n的阶乘)我们把二进制中的 1 看做放了一个车,0 作为不放;整个模板我们以n = 5的5*5的矩阵为例子①开个for:1 to (1为什么是(1一开始for循环是一行一行找,找到最后每一列都有车,显然这就是我们要找的最终状态原创 2016-08-03 11:08:14 · 2944 阅读 · 0 评论 -
[线性DP]尼克的任务
题目描述尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。 尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务原创 2016-07-23 16:42:34 · 915 阅读 · 0 评论 -
[DP]poj3176 Cow Bowling
poj3176 Cow Bowling题意: 7 * 3 8 * 8 1 0 * 2 7 4 4 * 4 5 2 6 5到达某点后,只能像左下或右下走,累计所得分数,求分数最大值思路:水题,简单dp状态转移方程:原创 2016-10-23 13:25:10 · 371 阅读 · 0 评论 -
[线性DP]poj1836 Alignment(LIS的简单应用)
poj1836 Alignmen题意:我是个被水题虐的zz……身高要呈金字塔型,问最少出去几个人表述很迷,说一个人要至少能看到一个extremity极端(意思是无穷远处)(与队尾队首之间没有身高>=他的)才能留在队列里思路:和合唱队形(NOIP2014)一样,从来两边LIS一遍,加起来找最大值即可,略不一样的是不能找同一个i加起来(dp_l[i]+dp_r[i]是错原创 2016-10-21 21:18:34 · 368 阅读 · 0 评论 -
[背包]poj1276 Cash Machine
题意:求不大于所给金额且不超过所给面额的数量限制之下的,最大金额所给金额不超10w,所给面额不过10种,每种面额不超1000张val[]金额, n[]数量;思路:以前做过一遍,是多重背包的变形,dp[i]表示如果能达到i面额dp[i]就赋值1,否则为0代码:/******************************************************原创 2016-10-20 23:47:51 · 322 阅读 · 0 评论 -
[背包]poj1837 Balance
poj1837 Balance点击打开链接题意:谜一样的题意,英语太菜看了很久……有一个天平左右有很多钩子,每个钩子有不同的重量,而每个钩码有不同的价值,重量*钩码是其力矩,求把所有钩码挂到钩子上平衡(力矩平衡)的方案数思路:感觉就是背包……天平差看做体积,dp[i][j] 挂前i个钩子j平衡度(左右力矩之差)的方案数,不需要比较……至于为什么这么想,因为题目规原创 2016-10-20 23:24:29 · 381 阅读 · 0 评论 -
[记忆化搜索]poj 1088 滑雪
思路:记忆化搜索代码:#include using namespace std;typedef map mii;typedef vector vi;typedef pair pii;//状态转移方程 d[i][j] = max(d[i-1][j],d[i+1][j],d[i][j-1],d[i][j+1]) + 1;const int dx[4] = {-1,1,0,0}原创 2016-07-22 14:23:17 · 326 阅读 · 0 评论 -
[DP+记忆化搜索]poj1191 棋盘分割
题意:把棋盘切割成n份,但是要按照规则,不管横切竖切要一刀贯穿,所以并不是普通的切割,求切割后各矩形棋盘总分的最小均方差思路:肯定要把看着繁复的均方差公式简化,由于根号、除以n、x平均值(也就是8*8总矩阵和/n)的都不会妨碍均方差求最小值,所以我们只需要让xi^2的总分的平方和最小即可公式证明(设sum为总矩阵和):σ= (∑(xi-x)^2/n)^(1/2)= ([原创 2016-10-23 13:33:49 · 357 阅读 · 0 评论 -
[DP]poj1018 Communication System
Communication SystemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 26958 Accepted: 9612DescriptionWe have received an order from Pizoor Communication原创 2016-08-15 22:34:06 · 251 阅读 · 0 评论 -
[状态压缩]poj1185 炮兵阵地
炮兵阵地Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 25243 Accepted: 9748Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也原创 2016-08-04 16:51:11 · 329 阅读 · 0 评论 -
[Floyd+状态压缩DP]poj3311 Hie with the Pie
Hie with the PieTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 6539 Accepted: 3531DescriptionThe Pizazz Pizzeria prides itself in delivering pizzas t原创 2016-08-03 14:31:39 · 299 阅读 · 0 评论 -
[01背包]vijos1013 找啊找啊找GF
P1013 找啊找啊找GF时间: 1000ms / 空间: 131072KiB / Java类名: Main背景MM七夕模拟赛描述"找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见.""诶,别再见啊..."七夕...七夕...七夕这个日子,对于sqybi这种单身的菜鸟来说是多么的痛苦...虽然他听着这首叫做"找啊找啊找原创 2016-07-29 11:41:02 · 393 阅读 · 0 评论 -
[01背包]vijos1407 古韵之刺绣
P1407古韵之刺绣Accepted标签:[显示标签]描述日暮堂前花蕊娇,争拈小笔上床描,绣成安向春园里,引得黄莺下柳条。——胡令能《咏绣障》古时女子四德中有一项——女红。女红的精巧程度对于女子来说是十分重要的。韵哲君十分爱好女红,尤其是刺绣。当衬衣公司的Immortal掌柜在知道韵哲君有这一手原创 2016-07-29 11:09:05 · 895 阅读 · 0 评论 -
[01背包]vijos1317 开心的金明
P1317开心的金明Accepted标签:NOIP普及组2006[显示标签]描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯原创 2016-07-29 11:00:40 · 338 阅读 · 0 评论 -
[线性DP]机器分配
题目描述某总公司拥有高效生产设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为总公司提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。 分配原则:每个公司有权获得任意数目的设备,但总台数不得超过总设备数M。其中M输入第一行为两个整数M,N。接下来是一个N×M的矩阵,其中矩阵的第i行的第j列的数Aij表明第i个公司分配j台机器的盈原创 2016-07-23 16:50:33 · 699 阅读 · 0 评论 -
[线性DP]奶牛的锻炼
题目描述奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息。若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加1(初始为0)。若她在第i分钟休息,则疲倦程度减少1。无论何时,疲倦程度都不能超过M。另外,一旦她开始休息,只有当疲惫程度减为0时才能重新开始跑步。在第N分钟后,她的疲倦程度必须为0。输入第一行,两个整数,代表N和M。 接下来N行,每行一个整数,代表D_原创 2016-07-23 15:31:08 · 927 阅读 · 0 评论 -
[线性DP]合唱队形(NOIP2004)(LIS的简单应用)
题目:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为,,…,,则他们的身高满足 (1≤i≤K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入文件:输入文件的第一行是一个整数N(2≤N≤100),原创 2016-07-26 08:36:00 · 457 阅读 · 0 评论 -
[线性DP]轮渡问题(LIS应用)
题目:有一个国家被一条河划分为南北两部分,在南岸和北岸总共有n个城镇,每一城镇在对岸都有唯一的友好城镇。任何两个城镇都没有相同的友好城镇。每一对友好城镇都希望有一条航线来往,于是他们向政府提出了申请。由于河终年有雾,政府决定不允许有任两条航线交叉(如果两条航线交叉,将有很大机会撞船)。你的任务是编写一个程序来帮政府官员决定他们应拨款兴建哪些航线以使得没有出现交叉的航线数量最多。输入原创 2016-07-26 08:23:38 · 1941 阅读 · 0 评论 -
[区间DP]Tyvj1015 公路乘车
P1015 公路乘车时间: 1000ms / 空间: 131072KiB / Java类名: Main描述一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如样例的第一行就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1输入格式 第一行十个整数分别表示行走1到10公里的费用(原创 2016-07-29 14:57:35 · 602 阅读 · 0 评论 -
[完全背包]Tyvj1199 邮票问题
P1199 邮票问题时间: 1000ms / 空间: 131072KiB / Java类名: Main描述给定一个信封,最多只允许粘贴N(N≤100)张邮票,我们现在有M(M≤100)种邮票,面值分别为:X1,X2……Xm(Xi≤255为正整数),并假设各种邮票都有足够多张。要求计算所能获得的邮资最大范围。即求最大值MAX,使1-MAX之间的每一个邮资都能得到。原创 2016-07-29 16:36:27 · 416 阅读 · 0 评论 -
[区间DP]石子合并
题目:在一个圆形操场的四周摆放n堆石子(n≤500),现要将石子有次序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。编一程序,由文件读入堆数n及每堆的石子数;⑴ 选择一种合并石子的方案,使得做n-1次合并,得分的总和最小;⑵ 选择一种合并石子的方案,使得做n-1次合并,得分的总和最大。输入文件:第1行为n,代表n堆石子;原创 2016-07-31 21:05:56 · 401 阅读 · 0 评论 -
[区间DP]乘积最大
题目:今年是国际数学联盟确定的“2000-世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛活动,你的好朋友,XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为N的数字串,要求选手使用M个乘号将它分成M+1个部分,找出一种分法,使得这M+1个部分的乘积最大。同时,为了帮助选手能够原创 2016-07-31 21:08:00 · 703 阅读 · 0 评论 -
[背包]poj1157 LITTLE SHOP OF FLOWERS
LITTLE SHOP OF FLOWERSTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 20753 Accepted: 9587DescriptionYou want to arrange the window of your flower sho原创 2016-08-17 19:24:00 · 215 阅读 · 0 评论 -
[01背包]vijos1625 精卫填海
P1625精卫填海(HOI)未递交标签:HOI[显示标签]描述【版权说明】本题为改编题。【问题描述】发鸠之山,其上多柘木。有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨。是炎帝之少女,名曰女娃。女娃游于东海,溺而不返,故为精卫。常衔西山之木石,以堙于东海。——《山海经》精卫终于快把东海填平了!只剩下了最后的一小片区域了。同时,原创 2016-07-29 13:31:29 · 552 阅读 · 0 评论 -
[01背包]vijos1025小飞侠的游园方案
描述经过抽签选择,小智将军第一个进入考场。菜虫:(身上散射出华贵(?)的光芒)欢迎你,第一位挑战者!!小智:……(走到菜虫身后,关灯)女王陛下,虽然我们国家现在很富裕,但也请您不要浪费电来用这么大功率的灯泡。菜虫(汗):啊啊~~爱卿所言甚是~~那么,你的题目是……我们的情报组织探听到敌人的重要将领——小飞侠星期天会邀他的灵儿妹妹到公园去玩。公园里有很多娱乐项目,可并不是每一项他原创 2016-07-29 10:30:48 · 350 阅读 · 0 评论 -
[01背包]vijos1104 采药(01背包模板
P1104采药Accepted标签:NOIP普及组2005[显示标签]描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也原创 2016-07-29 10:43:09 · 394 阅读 · 0 评论 -
[01背包]vijos1133 装箱问题
P1133装箱问题Accepted标签:NOIP普及组2001[显示标签]描述有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数)。要求从 n 个物品中,任取若千个装入箱内,使箱子的剩余空间为最小。格式输入格式第一行,一个整原创 2016-07-29 10:57:18 · 397 阅读 · 0 评论 -
[状态压缩]poj3254 Corn Fields
A - Corn FieldsTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 3254DescriptionFarmer John has purchased a lush new rectan原创 2016-08-05 13:26:34 · 516 阅读 · 0 评论