题目链接:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5122
ZOJ Problem Set - 3740
Water Level
Time Limit: 2 Seconds Memory Limit: 65536 KB
Hangzhou is a beauti...
分类:
其他好文 时间:
2014-05-10 10:12:56
阅读次数:
432
题目链接:hdu 4722 Good Numbers
题目大意:给出a,b,问从a到b之间,有多少个好数字,好数字的定义为:每个位的数字相加是10的倍数。
解题思路:dp[i][j]表示第i位,前i-1位的和为j(j可以从200简化成10,以为只需要考虑最后的数是否是10的倍数即可)有多少个数,需要注意的就是恰好为b的情况,所以要有一个跟踪值s。
#include
...
分类:
其他好文 时间:
2014-05-10 09:46:45
阅读次数:
232
题意:奶牛群有P种问题,每个问题可以在一个月的时间内修复。修复每个问题要付出相应的代价。对于修复第i个问题,修复月开始时候要付出预付Bi,修复完的下个月初要付出Ai。必须按照1-p的顺序修复(可以多个在同一个月修复)。每个月,奶牛们可以产生M的价值,每个月产生的价值只能再下个月使用,不能累计。问最快可以几天完成所有修复。
解法:ans[i][j]表示最后一个月(其实是倒数第二个月)修复了...
分类:
其他好文 时间:
2014-05-10 09:35:04
阅读次数:
455
看似dp,但是数据太大,不过n很小,可以暴力解决。
由于30个数组合情况太多,所以可以分成两边,首先预处理前n/2个数能组成哪些数,并且最小消耗多少砝码,map保存下来。
然后处理右边能组合成什么数,相加就够了。
注意这样会漏掉两种情况,就是光一边就能组成最终答案的(因为map没有存数也是0),特殊处理一下就行。
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-05-10 09:16:39
阅读次数:
245
我是个逗比。。。真心不是搞算法的料
不太中规中矩的分组背包,分组至少选一件商品。dp[i][j] 可以由当前dp[i-1][j-c] 和 dp[ i ][j-c]更新得到。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(link...
分类:
其他好文 时间:
2014-05-10 09:10:20
阅读次数:
301
题意:给出n个地点 和 每个地点的油价 ,有 m 条边 , 并给出每条边长度 。1单位汽油可以走1千米 , 油箱的容量为 c , 在初始点 s 时 , 油箱中的油为 0 , 求s 到 t 的最小花费 。
解法: 定义 状态 d[i][j] 表示到达 地点 i 且油箱中有 j 单位油时的最小 花费。 对于状态的转移时 , 有两种方法:
1、把每个点的所有状态都求出
2、不把每个点的状...
分类:
其他好文 时间:
2014-05-10 09:08:57
阅读次数:
365
http://acm.hdu.edu.cn/showproblem.php?pid=3033
大致题意:某人要买鞋子,有k种鞋,要求每种鞋至少买一双,给出每双鞋子的花费和价值,问m元钱可以买到的鞋子的最大价值是多少。
思路:分组背包问题。与传统的分组背包不同:每组物品至少取一件;且每组中物品任意取。
想一想传统的分组背包,每组至多选一件:
for 所有的组k
fo...
分类:
其他好文 时间:
2014-05-10 08:48:59
阅读次数:
325
题意:一个人要买通若干支持者,这些支持者的关系形成一棵森林,只要买通树根他的孩子节点也会被买通,问你至少要买通m个守卫要花多少钱。思路:由于是一颗森林我们需要加一个结点使得他到每个点都建一条边,然后dp[i][j]表示i为根的结点买通j个需要的最小花费。dp[v][j]
= min(dp[v][j]...
分类:
其他好文 时间:
2014-05-08 19:51:40
阅读次数:
310
Increasing Speed LimitsTime Limit: 2000/10000 MS
(Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s):
481Accepted Submission(s):...
分类:
其他好文 时间:
2014-05-07 18:28:10
阅读次数:
475
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:
有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?
已经告诉你了,这是个DP的题目,你能AC吗?Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整...
分类:
其他好文 时间:
2014-05-07 10:19:03
阅读次数:
276