比较经典的动态规划的题目了
一般动态规划的想法都是先判断是否有最优子结构,无后效性。接着从状态转移入手,尽量细分状态(即给定N得到N+1),完了再递推计算
难点:转移方程,其一般也难在如何描述一个结点
有时候不太好做就结合使用记忆化搜索(从大到小搜索,因为多个小的可能会组成一个大的导致无效计算过多)
/**************************************...
分类:
其他好文 时间:
2014-08-12 09:04:43
阅读次数:
181
题目链接:uva 11346 - Probability
题目大意:给定x,y的范围,以及s,问说在该范围内选取一点,和x,y轴形成图形的面积大于s的概率。
解题思路:首先达到方程xy ≥ s,即y = s / x。
S2的面积用积分计算,y = s / x的原函数为lnx
所以S2=s?(ln(a)?ln(x))
#include
#include
#inc...
分类:
其他好文 时间:
2014-08-12 00:47:53
阅读次数:
240
题目大意:
一条街上有很多个餐厅,现在要在n个餐厅中选取m个作为仓库。
使得其他的餐厅到这些仓库的距离的和最小。
思路分析:
状态方程: dp [i] [j] 表示 前 j 个餐厅已经建了 i 个仓库。
转移方程: dp[i] [j] = min ( dp[i-1] [k] + cost[k+1][j] ) ...cost[ p ][ q ] 表示在p q 之间建立一个仓库...
分类:
其他好文 时间:
2014-08-11 15:05:12
阅读次数:
216
用数轴描述一条高速公路,有V个村庄,每一个村庄坐落在数轴的某个点上,需要选择P个村庄在其中建立邮局,要求每个村庄到最近邮局的距离和最小。
cost记录每两个村庄之间建一个邮局的最小代价。
转移方程: dp[j][i]=Min(dp[j][i],dp[k][i-1]+cost[k+1][j])
前j个村庄建i个邮局=前k个村庄建I-1个邮局+第k+1村庄到第j村庄建一个邮局的代价
...
分类:
其他好文 时间:
2014-08-11 15:02:42
阅读次数:
156
挺有意思的一道题目,一开始发现了循环节,做了一下,发现许多小地方要补,比较繁琐,做了几个小时的无用功吧,但是循环节肯定可以只是我写搓了,后来又推了公式,发现可以的
首先当b=x的时候,这个时候只有c--,但是答案要求的 是多少次,在b=x,所以第二部分对答案有影响,但是 设方程的话 就不需要多设一个未知数,因为 第一部分肯定 是要进行(c - a)次才行
推一下b
第一步: b1 =...
分类:
其他好文 时间:
2014-08-11 15:02:32
阅读次数:
235
先把物品重量从小到大排序 d[i][j]表示前i件物品选j对的最小疲劳
若选了第i个物品 那么和它一对的必是第i-1个物品 注意是前i件
i=j*2时 没有选择 d[i][j]=d[i-2][j-1]+(w[i]-w[i-1])^2
i>j*2时 存在第i个选或者不选之分
若选了第i个的话 那么问题就转化为在i-2个物品中选j-1个了
若不选第i个的话 问题转化为在i-1个物品中选j个了
那么就有转移方程d[i][j]=min(d[i-1][j],d[i-2][j-1]+(w[i]-w[i-1...
分类:
其他好文 时间:
2014-08-11 12:09:32
阅读次数:
177
链接:poj 2184
题意:给定n头牛,每头牛的的智商(si)和幽默感(fi)已知,求在保证智商(S)的和及幽默感(F)的和都为非负的情况下,智商和幽默感(S+T)的最大值
分析:题的本质即从n头牛中选出S>=0&&T>=0时,S+T的最大值
以智商最为容量,幽默感作为价值,因为每头牛只能选一次,就转化01背包了,
dp[i]为智商为i时幽默感的最大值,则状态转移方程为 dp[j]=ma...
分类:
其他好文 时间:
2014-08-11 12:04:22
阅读次数:
136
UVA 1564 - Widget Factory
题目链接
题意:n种零件, 给定m个制作时间,每段时间制作k个零件,每种零件有一个制作时间,每段时间用Mon到Sun表示,求每个零件的制作时间,还要判断一下多解和无解的情况
思路:对于每段时间列出一个方程,这样一共列出m个方程解n个变元,利用高斯消元去求解,注意每个方程都是MOD 7的,所以在高斯消元过程中遇到除法要求该数字%7...
分类:
其他好文 时间:
2014-08-10 18:39:30
阅读次数:
345
http://poj.org/problem?id=2947题目大意:有n 种装饰物,m 个已知条件,每个已知条件的描述如下:p start enda1,a2......ap (1 2 #include 3 #include 4 #include 5 #include 6 #inc...
分类:
其他好文 时间:
2014-08-10 18:34:00
阅读次数:
264
UVA 1563 - SETI
题目链接
题意:根据题目那个式子,构造一个序列,能生成相应字符串
思路:根据式子能构造出n个方程,一共解n个未知量,利用高斯消元去解,中间过程有取摸过程,所以遇到除法的时候要使用逆元去搞
代码:
#include
#include
#include
using namespace std;
const int N = 105;
...
分类:
其他好文 时间:
2014-08-10 13:03:10
阅读次数:
206