11 2014 档案

hdu1330(递推)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1330分析:经典问题,n 块相同的木板重叠,最多能够伸出桌面多远 对于n张卡片的最佳摆法,我们只需要在n-1张卡片的摆法下面加一张边缘与桌檐重合的卡片,并将所有卡片一起向桌檐外移动。对于一种最佳摆法,其中... 阅读全文

posted @ 2014-11-30 17:11 lienus 阅读(284) 评论(0) 推荐(0) 编辑

poj3764(dfs+Trie树+贪心)
摘要:题目链接:http://poj.org/problem?id=3764分析:好题!武森09年的论文中有道题CowXor,求的是线性结构上的,连续序列的异或最大值,用的办法是先预处理出前n项的异或值,然后在这些值中找出两个值的异或值最大。是基于这样的一个原理,相同段的异或值为0。这题在树中找两个节点,... 阅读全文

posted @ 2014-11-30 15:15 lienus 阅读(268) 评论(0) 推荐(0) 编辑

hdu5124(树状数组+离散化)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5124题意:有n条线段,求被覆盖到次数最多的点的次数分析:1.可以转化成求前缀和最大的问题:将区间改成左闭右开(即右端点加1),排序,从左往右遍历,若为左端点则加一,右端点则减一。2.树状数组,离散化一下... 阅读全文

posted @ 2014-11-30 02:10 lienus 阅读(278) 评论(0) 推荐(0) 编辑

hdu5119(dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5119分析:dp[i][j]表示由前i个数组成异或和为j的方法数,则dp[i][j]=d[i-1][j^a[i]]+dp[i][j]; 边界:dp[0][0]=1,其他为0;复杂度40*1e6#inclu... 阅读全文

posted @ 2014-11-29 18:06 lienus 阅读(401) 评论(0) 推荐(0) 编辑

URAL1113(数学)
摘要:题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1113根据样例分析:1、沙漠只有500公里或者更短,这时很简单,一次搞定。2、沙漠600km,怎么办?我们需要保证的是:车到了离沙漠终点还有500km的地方,能恰恰加满油而且不会有任何多余,方案其实... 阅读全文

posted @ 2014-11-28 19:38 lienus 阅读(250) 评论(0) 推荐(0) 编辑

URAL1523(dp+树状数组)
摘要:题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=41224#problem/B分析:可以设dp[i][j]表示以i结尾长度为j的子序列的个数,那么更新就是dp[i][j]=∑dp[k][j-1],其中ka[i]。而要更新dp值,可... 阅读全文

posted @ 2014-11-28 16:15 lienus 阅读(205) 评论(0) 推荐(0) 编辑

zoj2059(经典dp)
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1059分析:dp[i][j]表示前i个石头组成两座塔高度差为j的较低塔最大高度状态转移:每次石头都有三种方法:1.放在高塔上:dp[i][j]=max(dp[i][j+t... 阅读全文

posted @ 2014-11-28 13:17 lienus 阅读(216) 评论(0) 推荐(0) 编辑

hdu2191(多重背包)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191分析:========================================多重背包问题定义&基本实现问题:有个容量为V大小的背包,有很多不同重量weight[i](i=1..n)不同价值... 阅读全文

posted @ 2014-11-26 23:13 lienus 阅读(229) 评论(0) 推荐(0) 编辑

hdu3664(递推dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3664分析:dp[i][j]表示i个数的排列中E值为j的个数。假设现在已有一个E值为j的i的排列,对于新加入的一个数i+1,将其加入排列的方法有三:1)把它放最后,加入后E值不变 2)把它和一个满足A[k... 阅读全文

posted @ 2014-11-26 00:52 lienus 阅读(152) 评论(0) 推荐(0) 编辑

hdu2955(变形01背包)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955分析:被抓概率可以转换成安全概率,Roy的安全概率大于1-P时都是安全的。抢劫的金额为0时,肯定是安全的,所以dp[0]=1;其他金额初始为最危险的所以概率全为0;#include #include... 阅读全文

posted @ 2014-11-25 22:16 lienus 阅读(132) 评论(0) 推荐(0) 编辑

hdu1712(分组背包)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712分析: 典型的分组背包问题,如果不会的可以看一下背包九讲。 看下背包九讲中的描述: for 所有的组k forv=V..0 for 所有... 阅读全文

posted @ 2014-11-25 15:53 lienus 阅读(214) 评论(0) 推荐(0) 编辑

hdu1114(完全背包)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114分析:很裸的一道完全背包题,只是这里求装满背包后使得价值最少,只需初始化数组dp为inf;dp[0]=0; 然后直接套入完全背包循环就行了。。。#include #include #include ... 阅读全文

posted @ 2014-11-25 14:19 lienus 阅读(171) 评论(0) 推荐(0) 编辑

hdu4004(二分)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4004大致题意二分最大跳跃能力,判断是否可以在m次内到达对岸!分析:由于求青蛙最小弹跳能力,所以二分不断枚举能力x,再对x判断是否在m次内到达对岸。。。#include #include #include... 阅读全文

posted @ 2014-11-25 00:33 lienus 阅读(261) 评论(0) 推荐(0) 编辑

hdu2870(dp求最大子矩阵)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2870分析:分别转换成'a','b','c'三种来求,其实就跟hdu1505一样了。。。#include #include #include #include #include #include #inc... 阅读全文

posted @ 2014-11-25 00:17 lienus 阅读(174) 评论(0) 推荐(0) 编辑

hdu1505(dp求最大子矩阵)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1505分析:这题是HDU 1506 的加强版,定义一个二维数组,d[i][j]表示第i行j列元素在前i行中的最大高度。(以第一行为底)例如测试样例:0 1 1 1 1 1 0 1 1 1 1 11 1 1... 阅读全文

posted @ 2014-11-24 23:43 lienus 阅读(340) 评论(0) 推荐(0) 编辑

hdu1506(dp求最大子矩阵)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506分析:对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下标假设为r,然后矩阵的面积就是(r-l+1)*1;我们从左到右扫一遍,求出每个点的l保存在l[]数组里,... 阅读全文

posted @ 2014-11-24 21:47 lienus 阅读(224) 评论(0) 推荐(0) 编辑

hdu2569(递推dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2569分析:f(n),n个珠子的合格数;a(n),n个珠子,最后2个相同的合格数;b(n),n个珠子,最后2个不同的合格数;f(n)=a(n)+b(n);a(n)=f(n-1);b(n)=a(n-1)*2... 阅读全文

posted @ 2014-11-24 19:15 lienus 阅读(186) 评论(0) 推荐(0) 编辑

hdu1081(最大子矩阵)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081 分析:a[i][j]代表第i行,前j个数据的和;那么由a[i][j]可得sum[k][long]=a[k][j]-a[k][i-1];long=j-i+1;sum[k][long]表示第k行,从第... 阅读全文

posted @ 2014-11-24 18:46 lienus 阅读(226) 评论(0) 推荐(0) 编辑

hdu1025(nlon(n)最长上升子序列)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025大致思路:设置两个a,b数组,a数组存储数据,b数组存储最长不降序序列。此算法关键在于设计二分查找。#include #include #include #include #include #inc... 阅读全文

posted @ 2014-11-24 13:35 lienus 阅读(276) 评论(0) 推荐(0) 编辑

hdu1292(递推dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1292分析: i代表人数,j代表组数,有dp[i][j]=dp[i-1][j-1]+dp[i-1][j]*j。解释: 前者是第i个人自成一队;后者是第i个人并入已有的队列。特别的,当i==j的时候:f[i... 阅读全文

posted @ 2014-11-24 13:27 lienus 阅读(128) 评论(0) 推荐(0) 编辑

hdu1978(递推dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978分析:递推DP。dp[][]表示可以到达改点的方法数。刚开始:外循环扫描所有点dp[x][y],而内循环扫描出所有可以到达点x、y的点i、j。那么dp[x][y]就是所有的dp[i][l]之和。#i... 阅读全文

posted @ 2014-11-24 13:18 lienus 阅读(314) 评论(0) 推荐(0) 编辑

hdu2151(递推dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2151分析:DP。思路:全盘扫描。 i表示时间,l表示第几棵树,方程: step[i][l]=step[i-1][l-1]+step[i-1][l+1]。#include #include #incl... 阅读全文

posted @ 2014-11-24 13:12 lienus 阅读(182) 评论(0) 推荐(0) 编辑

hdu1028(整数划分问题)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028整数划分问题整数划分 --- 一个老生长谈的问题:描述整数划分是一个经典的问题。请写一个程序,完成以下要求。输入每组输入是两个整数n和k。(1 j时,可以根据划分中是否含有j分为两种情况。若划分中含... 阅读全文

posted @ 2014-11-24 13:03 lienus 阅读(565) 评论(0) 推荐(0) 编辑

hdu1069(dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069分析:每种石头有六种方法,那么等效为:有6*n种石头。根据x和y排序(要保证相应的x、y总有x>=y),然后dp[i]= max{s[i].z,s[i].z+dp[j]}(j#include #in... 阅读全文

posted @ 2014-11-24 12:55 lienus 阅读(143) 评论(0) 推荐(0) 编辑

hdu4223(dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4223由于n范围较小,完全可暴力。。。#include #include #include #include #include #include #include #include #include #d... 阅读全文

posted @ 2014-11-24 12:42 lienus 阅读(354) 评论(0) 推荐(0) 编辑

hdu2563(递推dp)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2563解题思路:要分两种情况来考虑,a(n)为向上,b(n)为向左跟向右,f(n)为当前方案数。a(n) = a(n-1) + b(n-1);因为向上只有一个方向。b(n) = a(n-1) * 2 + ... 阅读全文

posted @ 2014-11-24 12:16 lienus 阅读(187) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示