自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jason

博客搬家了,欢迎移步:www.jiesheng.asia与我讨论

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

原创 【POJ】3744 Scout YYF I (概率DP+矩阵优化)

题目大意:走一步概率为p,走两步为1-p,x[i]代表第i个地雷的位置,求走出的概率为多少。思路:设p[i]为走到i格的概率,那么走出去的概率为(1-p[x[i]])累乘假如把整个路程分成若干段的话,以地雷为节点,可以发现p(x[i-1]~x[i])累乘,也是答案。可能说的不是很清楚,代码中可以看的比较清楚。这边要说的是由于数据量比较大,并且数据之间又是乘法,所以会造成超时的情况。

2015-01-29 22:27:31 939

原创 【sdut】1309 不老的传说问题(简单环形区间DP)

题目大意:中文题就不赘述了。题目链接题目思路:大致的处理是与HDU 2476 一个道理,只是加入环形的处理方式。环形处理方法:将数组延长一倍。AC代码:#define _CRT_SECURE_NO_WARNINGS#include#include#include#includeusing namespace std;int a[440];int dp[440][440

2015-01-29 17:30:25 798

原创 【HDU 2476】String Painter(区间DP)

题目大意:有两个长度不超过100的字符串,A,B,要把A变成B,现在可以连续将N个变成相同的字母,问你至少要变多少次。(N为无限)题目思路:只要该位置不与B的该位置相同,那么就等同于空白,假如相同就可以不画。所以一开始先做一次区间DP,算出从空白画出B的最少次数关键代码为:for (int l = 1; l   for (int i = 1; i + l   {   

2015-01-29 17:04:51 677 1

原创 【HDU】5151 Sit Sit Sit(区间DP+排列组合)

题目大意:可以查阅网站的中文翻译,就不说了,是第24场Best Coder思路:这道这道区间DP,我也开始觉得其实区间DP是一种应用型的思想,做这类题目一个重要的点是在于题目情景的把握,这道题的一个情景就是数学的排列组合问题.首先应用根据小区间推出大区间的思路,我们可以先固定一个位置k,k位置是最后做的位置,那么我们要算出在这种情况下符合的方法数,假如k是头或者尾,那不用说,此时的

2015-01-27 13:36:43 1294

原创 【POj】1651 2955(区间dp)

这两道区间DP都是自己想的,值得写一下题解,区间DP养成ing!2955题目大意:字符串只有(、)、[、]组成,完整的括号之间不能包含不完整的括号,最后让你算出有多少个合法的括号数。dp[i][j]表示的是i到j中最多的括号数,容易知道如果i位置和j位置的符号匹配的话,那么dp[i][j]=dp[i+1][j-1]+2;但是考虑到这种情况"()()“这种情况是指两个合法的部分,并且没有

2015-01-26 19:08:35 783 3

原创 【CODEVS 1154】能量项链(区间DP)

题意:是中文题我就不讲题意了。思路:第一道自己想自己做的区间DP题,好好说一下自己前后的思路,希望看了对你没有害处。自己对于区间DP也没有一个清楚的认识,这边就仅仅说一下自己的想法。言归正传,dp[i][j]表示的依然是i到j之间满足的最优解,这边插一句话,我觉得区间DP的一个思路在于从已知的小区间推出大区间的值。所以,这边,很容易可以想到dp[i][j]中存在

2015-01-25 23:50:28 1176 2

原创 【POJ 3186 】Treats for the Cows (区间DP)

题目大意:                  一序列的数,你只能一次取一个,你可以从头取也可以从尾取,假设你的次数为k,该位置的值为a[i],则取完之后总价值为增加k*a[i];求出最大的价值。思路:          dp[i][j]表示i到j中的最佳结果,长度为len=j-i+1;则,这一次所要取的数是a[i]或者a[j],转移方程为:dp[i][j]=max(dp[i+1][

2015-01-25 16:32:49 841

原创 【poj 3056】The Bavarian Beer Party (区间DP+最大匹配不交叉的简单算法)

题目大意:一组数按照顺时针排列,数值相同的两个位置可以连一条线,最终线与线不交叉的最大数量为多少。这道题目是求最大匹配的题目,初学区间DP,脑子一片空白,仅仅记下来,以供之后温习。按照区间的想法可以很容易的得到,dp[i][j]所存的是i到j当中满足条件的最大数值,那么有dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]);这个是解决在i到j区间当中有两

2015-01-25 12:08:49 846

原创 【BestCoder Round #25】A(拓扑排序,找环)

题意不难看出是一道简单拓扑题目,自己对于拓扑一直没能掌握。这边就不写思路了,直接上代码了。我的代码:#include#include#includeusing namespace std;bool DIS[110][110];int r[110];bool vis[110];int main(){ int n, m; while (cin >> n >> m) {

2015-01-03 22:06:39 799

空空如也

空空如也

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

TA关注的人

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