![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 79
code_beauty
豆瓣:
http://www.douban.com/people/43788804/
展开
-
砝码称重
<br /> <br />砝码称重<br />设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),<br />要求:<br /> 输入方式:a1 a2 a3 a4 a5 a6<br /> (表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)<br /> 输出方式:Total=N<br /> (N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)<br />如输入:1_1_0_0_原创 2010-06-27 11:16:00 · 462 阅读 · 0 评论 -
状态压缩dp cover题解
<br /> <br />平面上有N 个点, 第i个点的坐标是(x[i], y[i]). 给你M种正方形, 第i种正方形的边长是sides[i] ,费用是cost[i]. 现在要你用这些正方形,把所有的点都套在正方形内(点在正方形边框上也可以), 至少要花费多少钱?同一种类型的正方形有无穷多个,随便你用,用一个就要给一个的钱.<br />输入格式:<br /> 多组测试数据.<br /> 第一行: 一个整数t,表示有t组测试数据. 1 <= t <=5.<br /> 每组测试数据格原创 2010-11-04 22:03:00 · 457 阅读 · 0 评论 -
没有上司的晚会 树型DP
<br /> <br />树形DP是DP中的一种,还是比较容易的。<br /> <br />一般采用树形DP,都是从叶子到根. 也有从根到叶子的听说,目前没见到。<br /> <br />做了两题<br /> <br />1.<br />没有上司的晚会 <br /> <br />背景 <br />有个公司要举行一场晚会。 <br />为了能玩得开心,公司领导决定:如果邀请了某个人,那么一定不会邀请他的上司 <br />(上司的上司,上司的上司的上司……都可以邀请)。 <br /> <br /> <br /原创 2010-06-21 10:45:00 · 600 阅读 · 0 评论 -
加分二叉树 树型DP
<br /> <br />题目:<br />设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),<br />记第j个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下:<br />subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数<br />若某个子树为主,规定其加分为1,叶子的加分就是叶节点本身的分数。不考虑它的空<原创 2010-06-21 10:43:00 · 389 阅读 · 0 评论 -
方格取数 双线DP
<br /> <br />设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。如下图所示(见样例):<br /> <br />某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。<br />此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。<br /> <br />输入格式<br />输入的第一行为一个整数N(表示N*N的方格图),接下来的每行有三个原创 2010-06-21 10:40:00 · 524 阅读 · 0 评论 -
书的复制
<br /> <br />书的复制<br /> <br />现在要把m本有顺序的书分给k个人复制(抄写),每一个人的抄写速度都一样,<br />一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三、第四本书给同一个人抄写。 <br />现在请你设计一种方案,使得复制时间最短。复制时间为抄写页数最多的人用去的时间。 <br /> <br />输入格式<br />第一行两个整数m,k;(k<=m<=500) <br />第二行m个整数,第i个整数表示第i本书的页数。<br原创 2010-06-20 10:19:00 · 831 阅读 · 0 评论 -
noip2008 传纸条
<br /> <br />noip2008 传纸条<br /> <br />传纸条是就是双线问题,这类题目还有经典的方格取数问题。通常遇到这种问题,可以选择加维和增加状态判断解决。<br /> <br />我把从上走到下和从下走到上,看做是两条线从上往下走。<br /> <br />其中加入一个判断条件就是两个点不能从一个相同的点走过来。这样即使他们目前是走到相同的点,那么这个状态以后不会被用到。而到终点的时候就不会冲突了。<br /> <br />我要表示两个点的位置需要两个坐标。那么我需要DP[A][B原创 2010-06-20 10:15:00 · 855 阅读 · 0 评论 -
奶牛的锻炼
<br />题目描述:<br /><br /><br />奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息。若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加1(初始为0)。若她在第i分钟休息,则疲倦程度减少1。无论何时,疲倦程度都不能超过M。另外,一旦她开始休息,只有当疲惫程度减为0时才能重新开始跑步。在第N分钟后,她的疲倦程度必须为0。<br /><br /><br />具体题目及评测:http://www.tyvj.cn/ 题目代号为 P1023<br /><br /><br />今天原创 2010-06-17 22:44:00 · 595 阅读 · 0 评论 -
尼克的任务
<br /> <br />尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,<br /> <br />每个任务由一个开始时刻与一个持续时间构成。<br /> <br />尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。<br /> <br />如果在同一时刻有多个任务需要完戍,尼克可以任选其中的一个来做,而其余的则由他的同事完成,<br /> <br />反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务原创 2010-06-20 10:20:00 · 745 阅读 · 0 评论 -
多边形游戏
<br />题目描述:多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。<br />游戏第1步,将一条边删除。<br />随后n-1步按以下方式操作:<br />(1)选择一条边E以及由E连接着的2个顶点V1和V2;<br />(2)用一个新的顶点取代边E以及由E连接着的2个顶点V1和V2。将由顶点V1和V2的整数值通过边E上的运算得到的结果赋予新顶点。<br />最后,所有边都被删除,游戏结束。游原创 2010-06-18 19:12:00 · 475 阅读 · 0 评论 -
[树形dp] 选课(多叉树解) & 通向自由的钥匙(转二叉树解)
题目描述及提交:http://www.tyvj.cn:8080/Problem_Show.asp?id=1051这是一道典型的树形动态规划,被教程资料当做例子引用了很多。网上普遍的解法是转换成二叉树来解。但是我对第一儿子+兄弟的树表示法情有独钟,所以打算用多叉树来解。最开始的状态表示是:F[i][j]表示以i为根的树中选j门课的最大值(当然i是必须要选的)结果发现转移为:F[i][j] = max{ sigma( F[i.son[n]][kn] } + v[i]sigma( kn ) = m-1灾难,如果你原创 2010-08-02 20:24:00 · 626 阅读 · 0 评论 -
找啊找啊找GF 题解
<br />具体题目及提交:http://www.rqnoj.cn/Problem_57.html<br /> <br />题目大意:<br />现在找GF需要花钱,花RP,还要花时间。现在有n个女孩,给出她们需要花费的钱,RP,时间。求出在保证mm最多的情况下用的时间最少。<br /> <br />这一题的时间是一个干扰条件。如果先不看时间,要你求出最多能搞到多少个mm,很明显的二维费用背包。现在多了个时间,但是它是不是多个费用呢?不是!<br /> <br />题目给我们的限制是只有一定的钱和rp,而对原创 2010-07-31 17:08:00 · 493 阅读 · 0 评论 -
数字游戏题解
<br />题目描述:<br /> <br />丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。游戏的要求是使你所得的k最大或者最小。<br />例如,对于下面这圈数字(n=4,m=2):<br /><br />当要求最小值时,((2-1) mod 10)×((4+3) mod 1原创 2010-07-29 20:36:00 · 841 阅读 · 0 评论 -
rqnoj 386(11月15日的快乐) 求数列上限制长度的有最多不同数的区间
题目:http://www.rqnoj.cn/Problem_386.html题目大意:给出n个数,和一个范围d.要求一个长度不大于d的区间,含有的不同的数字最多,且这个区间的长度要尽量小。这题的数据规模很大(n 要动态的维护一个数组c。逐次读入数字,如果当前处理第i个数字。那么c[k]表示 i-d+1 到 i 之间有多少k。这样每次读入第i个字符a[i],那么 ++c[a[i]],--c[a[i-d]]如果c[a[i]]为1,表示a[i]在 i-d+1 到 i 之间只有一个,且是新进来的,计数加一。如果原创 2010-11-06 21:07:00 · 467 阅读 · 0 评论