题目链接:
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
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
题目大意:
有一种猜数字的游戏,你有G次机会以及L点生命值,游戏首先给定一个范围1~N,你要来猜在此范围内的一个数字X。你的每次猜测都会告诉你是猜高了还是低了,每次猜测都要损失一次猜测机会(即G--),但如果你猜的值比X高了,那么同时还要损失一点生命值(L--)。
现在主办人面临一个问题:若给定的范围太大,就有很有可能导致参赛者用尽机会和生命值也猜不到这个X;而范围太小的话又降低了趣味性。所以,需要你来帮忙,根据给定的G和L来确定一个尽量大的范围,同时确保该范围内的所有数字都是一定可以被猜到的。...
分类:
其他好文 时间:
2014-05-07 08:27:26
阅读次数:
387