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

原创 区间dp基础(石子归并,括号匹配,整数划分。。。)

区间dp基础最近在做区间dp,感觉一开始走的有点远了,还是应该从经典的题型开始学习。 http://blog.csdn.net/y990041769/article/details/24194605 这微博主讲的很清楚了,我也就是记一些自己的想法。1.石子归并题目:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=737 分析:感觉区间dp递

2016-02-26 23:18:15 398

原创 sdut1309 不老的传说问题(区间dp)

sdut1309分析类似于hdu4283,可以做完那道题再来试试,这道题的不同就是有刷的长度限制,那么在更新的时候要判断一下是不是符合长度,而且这道题刷的石头连成一个环,那么就整体往后复制,最后判断 ans=min(ans,dp[i][i+n-1]);即可。题目http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid

2016-02-25 15:16:40 445

原创 hdu4283 You Are the One(区间dp,思考)

hdu4283分析这微博主写得很清楚了:http://blog.csdn.net/u014141559/article/details/38035603?utm_source=tuicool&utm_medium=referral 关键就是要想到,这个栈可以类比区间,而且还真的是,能想到挺厉害的,这里也是开拓了思路。题目http://acm.hdu.edu.cn/showproblem.php?p

2016-02-24 23:15:05 238

原创 hdu2467 String painter(区间dp)

hdu2467分析费了好大劲才看懂题目,有个刷子刷一段区间,将a串刷成b串。 思路就是先单独对b串以空串为目标进行区间dp,这里初始化 是dp[i][j]=dp[i+1][j]+1;而之后更新的位置则是s2[k]==s2[i]也就是刷子的两端。然后根据dp以及a串进行结果的更新,可以看代码理解。 可以参考这微博主的。http://blog.csdn.net/a601025382s/article

2016-02-24 23:02:43 735

原创 poj1141 Brackets Sequence(区间dp)

poj1141分析第一次做区间dp,讲解的话这微博主讲的很清楚了。http://www.cnblogs.com/neulike/archive/2011/02/12/1952600.html题目http://poj.org/problem?id=1141代码#include <cstdio>#include <algorithm>#include <vector>#include <cstri

2016-02-19 15:59:35 305

原创 zoj3626 Treasure Hunt I(树型dp+分组背包)

zoj3626分析题目意思就是首先告诉有n个地点,接着告诉你每个地点的财富值vi,再n-1行告诉你i j有一条路,花费t时间,然后告诉你从k点出发,在m天内回到k点,得到的最大价值。 树上背包的入门题吧,对于m天回来,可以m/=2这样只要考虑出去不用考虑回来。状态表示很容易想到dp[i][j],i表示从i点出发,j表示天数时所获得的最大价值。进行一次dfs,进行分组背包。0~j-wa[u][v

2016-02-19 14:48:22 223

原创 hdu4281 Judges' response(状态压缩+mtsp+01背包)

hdu4281分析好题目,可以看看这位博主的博客:http://blog.csdn.net/acm_cxlove/article/details/7966276 完全就是学习了,以后再回来看看。。题目http://acm.hdu.edu.cn/showproblem.php?pid=4281代码#include <iostream>#include <cstring>#include <cti

2016-02-16 02:10:05 430

原创 hdu2126 Buy the souvenirs(01背包变化)

hdu2126分析太菜了,还是没想到==,好好反省。这微博主讲的已经很到位了,我就写一下留个记录。 http://blog.csdn.net/liuqiyao_01/article/details/8753727题目http://acm.hdu.edu.cn/showproblem.php?pid=2126代码#include <iostream>#include <cstring>#incl

2016-02-15 20:08:39 362

原创 hdu2955 Robberies(01背包)

hdu2955分析很久以前做的,感觉就是要理解题意,转化一下就是01背包。题目http://acm.hdu.edu.cn/showproblem.php?pid=2955代码#include <iostream>#include <cstring>#include <ctime>#include <fstream>#include <cstdlib>#include <algorithm>

2016-02-15 19:28:00 177

原创 poj2184 Cow Exhibition(01背包+变化)

poj2184分析这道题首先用dp[i]存放每个s[i]的f值,开二维或者三维都不可接受,但是s[i]的值可以为负,数组是从0开始的,所以我们将i值扩大,原来-100000~100000的范围变为0~200000.对于s[i]为正的情况,也就是01背包,当前状态是由之前状态转移而来,因为s[i]为正,所以是从比自己小的得来,保证比自己小的还没有更新过,循环从大到小,但是对于s[i]为负的情况,一个数

2016-02-15 18:20:58 351

原创 poj2923 Relocation(状态压缩+01背包)

poj2923分析首先找出所有可行的状态,再进行01背包找最小值。对于可行的状态的判断函数,我觉得也是用了背包的思想,下一个可行的状态由之前的可行状态得出,先将一辆车所有可行状态标记为一,然后结合2车判断这个状态到底行不行。题目http://poj.org/problem?id=2923代码#include <iostream>#include <cstdio>#include <cstring

2016-02-15 16:15:52 493

原创 hdu2196 Computer(树型dp,两次bfs)

hdu2196分析经典的树型dp,值得回味,最大距离的点,要么是自己子树的内的点,要么是由父节点得到的最大距离+这个点到父节点的距离。考虑子树的点,bfs即可。对于父节点,其一是父节点的父节点得出最大值,其二就是父节点子树得出的最大值,如果父节点子树最大距离的点是在目标点的子树中,那么就会“进去”再“出来”,不符合最长,所以要再记一下第二大的值。dp[i][0]表示i点子树得出第一大的距离,dp[i

2016-02-14 00:17:23 285

原创 hdu1502 Regular Words(树型dp+大数)

hdu1502分析树型dp入门题,一开始题意没有读清==,因为A(c)>= B(c) >= C(c),所以dp[i][j][k] = dp[i-1][j][k]+dp[i][j-1][k]+dp[i][j][k-1],而且每个前一状态都要满足i>=j>=k,加一下判断。另外涉及到大数模拟,我“借鉴”了一下,惭愧。题目http://acm.hdu.edu.cn/showproblem.php?pid=

2016-02-13 20:00:24 365

原创 hdu3001 Travelling(状态压缩dp,三进制)

hdu3001分析这道题一个地点最多可以到两次,所以用三进制,而且判断以及统计结果的时候可以做修改,注意三进制相应的预处理。题目http://acm.hdu.edu.cn/showproblem.php?pid=3001代码#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <iostre

2016-02-08 01:43:55 279

原创 zoj3471 Most Powerful(状态压缩dp)

zoj3471分析引用别人的分析:“用10位二进制表示气体是否存在,0表示存在,1表示不存在,S(上一个状态)中的两种气体碰撞并且有一种消失,可以得到newS的状态(状态转移)”。dp[state] = max(dp[state],dp[state’]+a[i][j])题目http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4257代

2016-02-08 00:21:16 225

原创 poj3311 Hie with the Pie(状态压缩dp)

poj3311分析首先用弗洛伊德算法求一下两点之间的最短路,然后枚举每一个状态,枚举两个经过的但是不同的点,进行初始化,或者是状态转移。dp[s][i]表示状态为s,到了i点。题目http://poj.org/problem?id=3311代码#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#inclu

2016-02-07 22:34:17 356

原创 poj1185 炮兵阵地(状态压缩dp)

poj1185分析自己先写了一遍,结果没有多开一维,好菜啊,对动规的理解还不是很深入,而且自己之前写的代码也很繁杂,做的时候还是多思考吧。先预处理所有情况,由dp值是不是为-1判断前一个阶段可行不可行。题目http://poj.org/problem?id=1185代码#include <cstdio>#include <cstring>#include <cmath>#include <cs

2016-02-07 21:21:31 265

原创 poj3254 Corn Fields

poj3254分析这道题算是状态压缩dp的入门题吧,知道状态压缩是个什么套路。题目http://poj.org/problem?id=3254代码#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int mod=100000000;int n,m,t

2016-02-05 20:30:54 185

原创 hdu2089 不要62(数位dp入门)

hdu2089分析算是第一次做数位dp吧,算是长见识了吧,思路相当于是把例如3421拆成3000+400+20+1的情况,对于3000,已经预处理了0-2999的结果,直接加上,3符合要求,所以看400,对于400,已经与处理了0-399的情况,直接加上,但4不符合要求,所以之后的就不看了,相当于看了0-3399的情况。对于预处理就是枚举每一位,枚举每一位的数,枚举前一位的数。题目http://ac

2016-02-02 13:12:29 814

空空如也

空空如也

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

TA关注的人

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