![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 68
StrACPgirl
这个作者很懒,什么都没留下…
展开
-
codevs动态规划 金明的预算方案
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子: 主件附件电脑打印机原创 2017-03-01 16:34:58 · 302 阅读 · 0 评论 -
训练题 序列
一个长度为k的整数序列b1,b2,…,bk(1≤b1≤b2≤…≤bk≤N)称为“好序列”当且仅当后一个数是前一个数的倍数,即bi+1是bi的倍数对任意的i(1≤i≤k-1)成立。给定N和k,请算出有多少个长度为k的“好序列”,答案对1000000007取模。分析:动规题,f[i,j]表示以数字i为第一个数取j位的“好序列”数量。动态转移方程: f[i,j]:=(f[i,j]+f[i原创 2017-03-24 19:53:57 · 581 阅读 · 0 评论 -
codves动态规划 最长上升子序列
熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们要研究最长公共上升子序列了。小沐沐说,对于两个串A,B,如果它们都包含一段位置不一定连续的数字,且数字是严格递增的,那么称这一段数字是两个串的公共上升子串,而所有的公共上升子串中最长的就是最长公共上升子串了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子串。不原创 2017-03-14 21:09:08 · 434 阅读 · 0 评论 -
codevs天梯 最大全0子矩阵
在一个0,1方阵中找出其中最大的全0子矩阵,所谓最大是指O的个数最多。分析:说是一道动规题,其实完全不算,就是先统计前缀和,然后纵行统计。uses math;const n=2010;var inn,ans,i,j,lo,ro:longint; h,l,r:array[0..n] of longint; o:array[0..n,原创 2017-03-14 21:00:28 · 316 阅读 · 0 评论 -
codevs天梯 棋盘染色2
有一个5*N的棋盘,棋盘中的一些格子已经被染成了黑色,你的任务是对最少的格子染色,使得所有的黑色能连成一块。分析:这题很容易想到是广搜,但数据那么大,如果一个一个点来更新就gg了==。所以开出一个树状数组对最大块进行预处理,剩下就没什么好说的了。 const maxn=102; type node=record x,y转载 2017-03-23 20:38:01 · 475 阅读 · 0 评论 -
codevs动态规划
小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以转载 2017-03-07 21:25:11 · 332 阅读 · 0 评论 -
codevs动态规划 数字游戏
丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。游戏的要求是使你所得的k最大或者最小。例如,对于下面这圈数字(n=4,m=2):原创 2017-03-07 20:07:12 · 959 阅读 · 0 评论 -
codevs动态规划 能量项链
在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的原创 2017-03-07 19:55:42 · 506 阅读 · 0 评论 -
codevs动态规划 选菜
在小松宿舍楼下的不远处,有PK大学最不错的一个食堂——The Farmer’s Canteen(NM食堂)。由于该食堂的菜都很不错,价格也公道,所以很多人都喜欢来这边吃饭。The Farmer’s Canteen的点菜方式如同在超市自选商品一样,人们从一个指定的路口进去,再从一个指定的路口出来并付款。由于来这里就餐的人数比较多,所以人们自觉地在进入口的时候就排成一个长队,沿着长长的摆放着各式各样佳转载 2017-03-06 21:02:09 · 326 阅读 · 0 评论 -
codevs天梯 统计单词个数
给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份(1单词在给出的一个不超过6个单词的字典中。要求输出最大的个数。分析:比较容易的划分动态规划, 状态转移方程:f[i,j]=max(f[l,j-1]+total[l+1,i]);同时,total也要动态规划(否则要超时==)原创 2017-03-06 20:58:43 · 524 阅读 · 0 评论 -
codevs天梯 选菜
在小松宿舍楼下的不远处,有PK大学最不错的一个食堂——The Farmer’s Canteen(NM食堂)。由于该食堂的菜都很不错,价格也公道,所以很多人都喜欢来这边吃饭。The Farmer’s Canteen的点菜方式如同在超市自选商品一样,人们从一个指定的路口进去,再从一个指定的路口出来并付款。由于来这里就餐的人数比较多,所以人们自觉地在进入口的时候就排成一个长队,沿着长长的摆放着各式各样佳原创 2017-03-06 19:38:50 · 487 阅读 · 0 评论 -
codevs动态规划 数字三角形
如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,使路径上的值最大。分析:超菜的一道倒推题(完全无脑==)动态转移方程:f[i,j]:=max(f[i+1,j],f[i+1,j+1])+f[i,j];const maxn=100;var a:array[1..maxn,1..maxn] of longint原创 2017-03-08 16:54:48 · 349 阅读 · 0 评论 -
codevs动态规划 方格取数
设有N*N的方格图(N 某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。 分析:因为路径要走两次,一看n竟然只有10时,发现这题是真的简单==。就是一个4重DP。动态转移方程:原创 2017-03-01 17:05:29 · 447 阅读 · 0 评论 -
codeves 动态规划 乘积最大
今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。原创 2017-02-25 09:39:10 · 381 阅读 · 0 评论 -
codevs动态规划 老鼠的旅行
You are a mouse that lives in a cage in a large laboratory.你是一只生活在笼子里的实验室老鼠。The laboratory is composed of one rectangular grid of square cages, with a total of R rows and C columns of cages (1原创 2017-03-15 17:11:34 · 462 阅读 · 0 评论