自定义博客皮肤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)
  • 收藏
  • 关注

转载 洛谷P1282 多米诺骨牌

Topic Links Topic Meaning:有n个骨牌,骨牌有带有相应点数的上下俩部分,这n个骨牌的上部分和与下部分和之差的绝对值为m,骨牌可以翻转,即上部分点数与下部分点数交换,则得到最下的m的所需的翻转次数为多少? Topic of Solving:线性背包 以第i个骨牌为阶段,前i个骨牌上下部分和的差值为状态,分别对翻与不翻进行状态转移 dp[i][j]表示前i个...

2019-08-27 14:16:00 137

转载 HDU3449 Consumer

Topic Links Topic Meaning:有n个箱子,每个箱子都有其相应花费box,箱子价值为0,对于每个箱子都有一些可以购买的珠宝,每个珠宝都有其花费和价值,只有在购买了箱子后才可以购买其相应珠宝,问在总花费不超过m元的情况下可得到的最大价值 Method of Solving:依赖背包 dp[i][j]定义为当花费为j时购买前i个箱子及其珠宝可得到的最大价值 对每一...

2019-08-25 23:41:00 91

转载 poj1837 Balance

Topic Links Topic Meaning:有一天平其左右臂长为15,有m个数字,一个数字表示天平上一个钩子距天平中心点的距离,左边为负数,右边为正数,有n个质量确定的砝码,所有砝码都应被悬挂上去,一个钩子可以挂多个砝码,问有多少种挂法使得天平保持平衡; Method of Solving:分组背包 每个砝码可以悬挂的位置为一组,dp[i][j]表示前i个砝码使得天平左右力...

2019-08-22 14:27:00 140

转载 poj2576 Tug of War

Topic Links Topic Meaning:给出n个数从中选a个数构成一组,剩下的b个数为一组,a与b的差值不超过1,求这两组数字总和差值最小时的两组的值。 Method of Solving:二维背包 dp[j][k]表示是否存在一组当其有k个数时,其值为j,以所有数字总和sum/2为第一状态上限,数字个数n/2为第二状态上限进行状态转移即可; 因为当dp[j][k]确...

2019-08-21 21:18:00 146

转载 poj1742 Coins

Topic Links Topic Meaning:给出n个数字,第i个数字有c[i]个,那么能组成多少种不大于m的数字? Method of Solving:混合背包,完全背包+多重背包 引入数组g记下当前阶段某状态的数字使用次数,使得可对状态转移中对数字的使用次数进行判断 #include<cstdio> #include<cstring> #...

2019-08-21 14:18:00 106

转载 poj3273 Monthly Expense 二分查找

题目链接 题意:给出n组数据,每组有一个数,有多种方法通过将连续的几组数据并为一组使得组数从n减少至k,每组数据的值为其组中数据之和,每种方法得到的k组数据都有最大的一组数据和m,求这些方法中最小的m 解法:二分查找 以n组中最小的数为左边界l,n组数据之和为右边界r进行二分查找,取中间值mid=(l+r)/2,mid即为k组数据中最大的一组数据和,若mid可将n组数据分成多于k组...

2019-08-19 15:42:00 112

转载 计蒜客Concerts

题目链接 题意:有n天,每天都会有一只乐队的演唱会,一只乐队可多天进行演唱会,乐队编号为A~Z,按乐队编号给出john观看乐队演唱会的序列,每看完某乐队的演唱会都将休息相应天数 john将按序列逐个观看演唱会,那么john在这n天中的出勤情况有多少种? 解法:动态规划,从后往前推,f[i][j]表示第i+1天到第n天中看了k-j场演唱会的出勤情况种树; 得状态转移方程:f[i][...

2019-08-19 10:22:00 96

转载 poj2456 Aggressive cows 二分查找

题目链接 题意:给定n个距离原点为i的栅栏,有多种方法选取k个栅栏将k头牛放入,每种方法中俩头牛的间距都有最小值,求出这些方法中此最小值的最大值 解法:二分查找 l为i最小值,r 为最大值,最大间隔为d=(l+r)/(k-1),得间隔区间(1,d) 对区间进行二分查找若当间隔最小值为mid时存在一种可实现方法其满足要求,若,l=r即整个区间已完成查找直接输出l或r即可,否则因需求...

2019-08-18 15:51:00 116

转载 洛谷p1280 尼克的任务

题目链接 题意:给出尼克工作时间长m,以及其 n个任务的开始时间和持续时间,尼克从1开始工作到m,若当前时间点为其中某任务开始时间尼克必须进行此任务,若有多个任务尼克选择其中一个执行,尼克未工作的时间为空闲时间,求最大空闲时间; 解法:因为前面选择的任务会影响到后来对任务的选择,难以得出其状态之间的转移变化,所以从后往前进行对任务的选择; dp[i]表示i~m可得到的最大空闲时间 ...

2019-08-16 15:20:00 161

转载 洛谷p1880 石子归并

题目链接 题意:按次序给出一串环状数字,每次选取相邻俩数字将其合并成一个数字并将得到的数字计入总值,求出可以得到的最大总值和最小总值 解法:区间dp 因为数字为环状,所以通过在原串数字的尾端 加上一串原数字来线性模拟环状; 以i为区间首端,p为区间长度,可得区间尾端j=i+p-1,k表示两区间合并的分界点; 以求(i~j)区间最大值dp1[i][j]:(i~j)区间即由(i~k...

2019-08-16 14:22:00 176

转载 poj2392-Space Elevator

题目链接 题意:给出n种高度为h方块,每种有c个,求可用方块堆成的塔的最高高度,每种方块在塔中都有其限制高度a,塔中堆叠的方块的高度不可超过a 解法:多重背包 因为按a小则a在下的堆叠方式可得到最高高度,所以根据a对数据进行排序,而后按塔的高度从小往大进行状态转移; #include<iostream> #include<algorithm> us...

2019-08-14 17:00:00 114

转载 poj2003 Hire and Fire

题目链接 题意:按题目要求实现hire,fire,print的三种操作 解法:以结构体为节点,用map来建立成员姓名与节点一 一映射的关系,链表list表示儿子节点,构造树形结构 #include<iostream> #include<cstring> #include<map> #include<list> using ...

2019-08-09 15:12:00 258

转载 poj1330 Nearest Common Ancestor

题目链接 题意:求题目所给俩数的最近父节点 解法:以vector类为树的多重链表,数组为父节点与层次表示建立树形结构 #include<iostream> #include<vector> using namespace std; vector<int> kid[10005]; int n,f[10005],dep[10005],a,...

2019-08-09 10:29:00 104

转载 poj2184 Cow Exhibition

题目链接 题意:在TS与TF不为负数的条件下求出TS+TF的最大值 dp[TS]=TF表示数组下标为TS时可得到的最大的TF,TS值可为负由于数组下标不可为负,因此加入修正值fix=100000即取dp[100000]=0;因为dp数组的值可为负值故其初值取负无穷 以选取的奶牛i为阶段,TSk为状态,得状态转移方程dp[k]=max(dp[k],dp[k-s[i]]+f[i]); ...

2019-08-06 14:24:00 105

转载 CF492B Working out

题目链接 题意:A往下或往右从(1,1)走到(n,m),B往上或往右从(n,1)走到(1,m),输出结果为A与B走过的点的权值和,A与B必需有一交汇点,交汇点权值不计入总和,A与B所走路径除交汇点外不重复 解法:递推DP dp1[i][j]表示从(1,1)至(i,j)的最大权值和,dp2[i][j]为(n,1)至(i,j),dp3[i][j](1,m)至(i,j),dp4[i][j...

2019-08-05 17:52:00 118

转载 HDU2639 Bone Collector 2.0

题目链接 可知题目要求输出所有解中第K优的解 解法:动态规划求第K优解 传统的动态规划方程为f[i][j]=max(f[i-1][j],f[i-1][j-a[i]]+b[i]),可知因为max只取其中较大的一个,因此我们会遗漏部分解,而要输出第k优解应将其所有的解按递减顺序不重复的储存起来,所以我们需重新考虑动态规划方程。以物品数为阶段,对应体积为状态,我们增加一维即f[i][j]...

2019-08-05 09:36:00 93

转载 HDU2602 Bone Collector

题目链接 01背包 i-前i个物品,k-体积,a[i]-第i个物品体积,b[i]--第i个物品价值 状态转移方程:f[i][k]=max(f[i-1][k],f[i-1][k-a[i]]+b[i]); #include<iostream> using namespace std; int f[1005][1005]; int main(){ int...

2019-08-04 20:26:00 85

转载 洛谷p1020-导弹拦截

题目链接 题目要求输出最多能拦截的导弹数与拦截全部导弹最少系统配备数; 显然最多能拦截的导弹数即为最长非上升子序列;分析可得拦截全部导弹最少系统配备数为最长上升子序列个数; 设系统最少配备数为a,则有a个非上升子序列,任取其中俩子序列c,d,c中必存在某数大于d中某数,否则c,d应归为一个序列,那么我们可以从这a个序列中各取一数得到一最长上升子序列,若此上升子序列个数小于题目所给初...

2019-08-04 17:03:00 113

转载 poj1141-Brackets sequence

题目链接 题意:给定一括号序列,求出添加括号数最小的完整序列 解法:区间DP 定义dp[i][j]表示题目所给字符串s中从左至右字符i至j这一区间段括号序列构成完整序列所需添加的最小括号数; 根据i与j的大小对dp[i][j]进行初始化,i==j显然为1,i>j不符合定义中从左至右意为空序列即0,i<j因是取最小值则初值设为相对较大; 设阶段r为序列长度,状态为i为...

2019-08-03 21:34:00 215

空空如也

空空如也

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

TA关注的人

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