自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(19)
  • 收藏
  • 关注

原创 poj1007 归并求逆序对

简单的归并求逆序对,再结构体排序。#include #include using namespace std;#define N 55#define M 105char tmp[N], a[N]; int ans;struct Node{ char s[N]; int k;} str[M];void Merge(int l_sta, int r_sta,

2011-10-30 19:54:59 856

原创 nLogn LCS 算法总结

参考:http://www.cs.ucf.edu/courses/cap5937/fall2004/Longest%20common%20subsequence.pdf最长公共子序列 的 nlogn 的算法本质是 将该问题转化成 最长增序列(LIS),因为 LIS 可以用nlogn实现,所以求LCS的时间复杂度降低为 nlogn。1. 转化:将LCS问题转化成LIS问题。

2011-10-30 16:33:45 9684

原创 poj1837 Balance

背包:一杆秤,称上有n个秤盘,左边的秤盘到称中央的距离为负,右边为正,有m个物品,放在称上使称平衡,有多少种放法,至少存在一种。dp[ i ][ j ] 表示放了第 i 个物品后力矩值为 j 的方法种数。#include using namespace std;#define M 21#define V 7600int dp[M][V];int h[M], w[M];in

2011-10-24 18:12:41 724

原创 poj1836

题意:士兵拍成一行,让最少的士兵出列,使得每个士兵都能看到至少一个最边上的士兵(中间某个人能看到最边上的士兵的条件是该士兵的身高一定强大于他某一边所有人的身高),身高序列可以是这样:1  2  3   4   5   4   3   2   1  或者   1   2   3   4   5   5   4   3   2   1本题不是难题,但是细节处理是很恼火的(个人觉得),例如处理第二种

2011-10-24 15:17:53 1990

原创 poj1745 Divisibility

题意:给你一列整数,在整数间加‘ + ’ 或 ‘ - ‘,使这个算式的值能被k整除。用dp[ i ][ j ] 表示加上或减去第 i 个数后,所得值取模后的值能否为 j ,所以dp为bool型即可。状态转移方程:dp[ i ][ abs( j + num[i]) % k] = true;                         dp[ i ][ abs( j -  num[i]

2011-10-22 09:54:07 1336

原创 poj1322 Chocolate

题意:包里有无穷多个巧克力,巧克力有c种颜色,每次从包里拿出不同颜色巧克力的概率都是相等的,桌面的巧克力不允许颜色相同,若某次拿出的巧克力与桌上的巧克力颜色相同了,则将两颗巧克力都吃掉。计算进行n次拿巧克力的操作后,桌上有m颗巧克力的概率,输出结果精确到小数点后三位。用dp[ i ][ j ] 表示进行 i 次操作后桌面上有 j 颗巧克力的概率,状态转移方程:dp[ i ][ j ] += d

2011-10-21 21:18:49 2150

原创 poj1661 Help Jimmy

题意就不描述了。将Jimmy开始下落的地方也看成一个平台,平台的左右坐标相同;为了便于处理,把地面也看成了一个平台。用dp[ i ][ 0 ]表示到达第 i 个平台左边的最少时间,dp[ i ][ 1 ] 表示到达第 i 个平台右边的最少时间。状态转移方程:从第 i 个平台左边到第 j 个平台左边:dp[ j ][ 0 ] = MIN( dp[ j ][ 0 ], dp[ i ][

2011-10-21 13:23:40 618

原创 poj1170 状态压缩

因为每种物品最多五个,总共五种物品,所以可以将状态存为6进制的整数。先对每一种special offer进行dp, 转移方程为  dp[ i + offfer[k].stt ] = MIN( dp[ i + offer[k].stt , dp[ i ] + offer[k].prc ), 当然状态转移前,要进行判断是否可转移,若当前状态下 的某种物品数量加上当前的special offer

2011-10-20 22:22:40 1300

原创 poj1157 LITTLE SHOP OF FLOWERS (dp)

题意:用n种花按顺序放入m个花瓶中,m个花瓶是固定的,编号为1~n的话必须按编号由小到大的顺序放入花瓶且都必须放入花瓶,每种花放入不同的花瓶得到不同的审美价值,编程求最大审美价值。用dp[ i ][ j ] 表示前 i 种花放入前 j 个花瓶中得到的最大审美价值,所以状态

2011-10-19 13:12:52 472

原创 poj1050 To the Max (dp)

题意:求一个n*n矩阵的子矩阵,使得这个子矩阵中的数字之和最大。(1)首先考虑一个整数列,dp[ i ]表示以第 i 个 整数结尾的一列连续整数获得的最大值,那么,显然,第 i-1 个数是否在这列数中,只需判断以第 i-1 个数结尾的一列连续的数最大值是否大于0,即 dp[

2011-10-18 21:36:17 419

原创 poj1828

找动态规划的题,却找到这道,动态规划该怎么做不知道,只会结构体二级排序。。。#include #include using namespace std;#define N 50002struct Position{ int x, y;} monkey[N];

2011-10-17 20:44:20 701

原创 poj1036 Gangsters

题意:N个歹徒去一个餐馆,旅馆门有k个打开程度(每个打开程度为门的一个状态),每个歹徒拥有自己的肥胖度(两个歹徒的肥胖度可能相同)和繁荣度(prosperity),歹徒在i 时刻到餐厅来(两个歹徒可能同时来餐馆),若此时刻门的打开程度与歹徒的肥胖度相同,则歹徒就进入餐馆,同时餐馆

2011-10-17 19:23:31 2645 4

原创 poj1276 多重背包

多重背包,套的1014的模板,链接http://blog.csdn.net/non_cease/article/details/6820068#include using namespace std;#define MAX(a, b) a>b?a:b#define N

2011-10-15 22:48:53 793

原创 poj1458 dp Common Subsequence

#include using namespace std;#define MAX(a, b) a>b?a:b#define M 251char s1[M], s2[M];int dp[2][M]; //滚动数组int main(){ int i, j, l1

2011-10-15 21:24:56 455

原创 poj1159 Palindrome (dp)

两种方法:1.序列 i~j为回文,两种策略:         (1)若str[ i ] == str[ j ], 则只需要 i+1~j-1 为回文, 此时:dp[ i ][ j ] = dp[ i+1 ][ j-1 ]; (2)否则只需要在 str[ j ]后加 1 个字

2011-10-15 14:42:30 605

原创 poj1141 括号序列 dp

本题难在输出括号序列,dp是比较简单的dp[ i ][ j ] 存储 i~j 这段括号序列需要添加的括号数,决策有两种,对dp[ i ][ j ],        (1).若i 与j 是匹配的,只需将i+1~j-1这段变成合理的括号序列;       (2).取i~j

2011-10-13 14:49:44 1953

原创 poj1390 方块消除 dp

参考:徐源盛《对一类动态规划问题的研究》以及刘汝佳的黑书《算法艺术与信息学竞赛》将方块序列,按颜色分成一段一段的,例如 1 1 1 1 1 3 2 2 1 1 1 可记为color[ 1 ] = 1; len[1 ] = 5; color[ 2 ] = 3; len[ 2 ]

2011-10-13 00:05:39 2522 1

原创 NOI1029 积木游戏(dp)

题目链接:http://judge.noi.cn/problem?id=1029#include #include using namespace std;#define MAX(a, b) a<b?b:a#define M 102#define N 4int

2011-10-10 19:17:46 1047

原创 决斗 dp, spoj196 Musketeers

题目来源:6th Polish Olympiad in Informatics, stage 1题目连接:http://www.spoj.pl/problems/MUSKET/(找了很久才找到的,这成了我在spoj上的第一道题)黑书上的例题 p117页#inc

2011-10-10 10:53:40 970

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除