自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 hdu 1693 Eat the Trees

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1693题目大意:求多回路的方案数。题目思路:这个算是最简单的插头dp了,也是我的第一个插头dp,任重而道远啊!我也是看的网上的解题报告,就没什么写的了。。#include#include#include#include#include#include#include#inclu

2012-04-29 22:22:01 965

原创 poj 3124 The Bookcase

题目链接:http://poj.org/problem?id=3124题目大意:将n本书放入一个三层的书架,求书架的最小面积。题目思路:这个题还真是难想啊,我连最优子结构都没有发现,这道题的做法先将书的高度降序排列,定义dp[i][j][k]为对于前i本书,第二个书架的宽度为j,第三个书架的宽度为k时书架的最小总高度,我们规定最高的书放在第一个书架。在开数组时可以省掉一维,则有转移方程:

2012-04-29 13:09:36 1208

原创 poj 3375 Network Connection

题目链接:http://poj.org/problem?id=3375题目大意及思路:将n台电脑插到m个端口上,使距离最小,dp方程很容易想到,但直接计算会超时,所以需要优化,即对于一台电脑我们肯定想让它插到最近的端口上,但是为了总距离最短,可能这些端口被其它电脑占用了,又因为总电脑数为n,所以它的左右两端最多有n个端口被占用,所以只要计算它插到[pos-n,pos+n]的区间即可。#in

2012-04-28 22:06:09 1085

原创 poj 3345 Bribing FIPA

题目链接:http://poj.org/problem?id=3345题目大意及思路:用最少的钱去收买m个国家,但国家这间有附属关系,如果收买了一个国家,它的附属国也被收买了,做法树形dp+背包,状态转移方程是:dp[u][k]=min(dp[u][k],dp[v][j]+dp[u][k-j]);#include#include#include#include#include#i

2012-04-28 20:10:35 868

原创 poj 2430 Lazy Cows

题目链接:http://poj.org/problem?id=2430题目大意及思路:用最多k个矩形覆盖所有的牛,且要使总面积最小,做法是将两行压缩成一行并进行离散化,对于每一列有四种状态,而在dp的时候也有四种状态,1、只覆盖上面,2、只覆盖下面,3、上下用一个矩形覆盖,4、上下用两个矩形覆盖。这样就可以写出转移方程了。#include#include#include#includ

2012-04-28 19:50:38 1604

原创 poj 3356 AGTC

题目链接:http://poj.org/problem?id=3356题目思路:类似于最长公共子序列,转移方程dp[i][j]=min(dp[i-1][j]+1,dp[i][j-1]+1,dp[i-1][j-1]+(s[i-1]!=str[j-1]));#include#include#include#include#include#include#include#inclu

2012-04-26 21:57:55 562

原创 表达式求值

#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define Max 110int max(int a,int b){ return a>b?a:b;}

2012-04-26 17:15:13 590

原创 hdu 3872 Dragon Ball

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3872题目思路:单调队列加线段树优化,单调队列的作用是将序列分成最大值不同的若干段。#include#include#include#include#include#include#include#include#include#include#includeusing n

2012-04-25 20:15:50 1078 1

原创 poj 3017 Cut the Sequence

题目链接:http://poj.org/problem?id=3017题目大意:将一个序列分为若干段,使每段的和小于m,求各段最大值和的最小值,正解应该是单调队列加线段树或平衡树,不过居然不用数据结构优化还快些,看来是数据的原因啊,毕竟线段树的常数比较大。#include#include#include#include#include#include#include#incl

2012-04-25 16:51:06 1443

原创 poj 3420 Quad Tiling

题目链接:http://poj.org/problem?id=3420题目思路:状态压缩+矩阵二分幂,一般解法是构造16*16的转移矩阵,也有一种是去掉无用状态,只剩下5个有用状态的5*5转移矩阵。还有一种方法是推组合学公式。#include#include#include#include#include#include#include#include#include

2012-04-23 15:10:34 1133

原创 poj 2411 Mondriaan's Dream

题目链接:http://poj.org/problem?id=2411题目思路:状态压缩dp,貌似如果有多次询问相同,可以记录答案。。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std

2012-04-22 22:08:39 511

原创 2397 Spiderman

题目链接:http://poj.org/problem?id=2397题目大意:背包,要求是最后高度为0,且最大高度尽量小,我居然开始想到的是二分答案,其实根本不用,因为高度是满足最优子结构的。#include#include#include#include#include#include#include#include#include#include#include

2012-04-22 16:59:53 597

原创 poj 2384 Harder Sokoban Problem

题目链接:http://poj.org/problem?id=2384题目大意及思路:推箱子变形,不过求的是初始状态自选,所有选择的最小步数的最大值,倒着bfs就可以了。有两个地方需要注意,就是如果箱子一直没动,则不能加入队列并计算最值,还有就当处于可以推动箱子的位置时,可能是推过来的,也可能没推。#include#include#include#include#include#

2012-04-20 21:52:30 1153

原创 poj 2378 Tree Cutting

题目链接:http://poj.org/problem?id=2378水题。。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define Max 11

2012-04-19 22:20:26 587

原创 poj 2374 Fence Obstacle Course

题目链接:http://poj.org/problem?id=2374题目思路:水题。#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#

2012-04-19 21:38:57 616

原创 hdu 3045 Picnic Cows

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3045题目思路:比较典型的斜率优化dp,不过我敲错了好多次啊!后来打了1千组数据才发现,原来y[i]不单调,x[i]又有相同值,这样如果只在小于时才删除点的话,就可能出现有些点永远不能删去,即在相同x上出现三个点上升又下降的情况。比如这组数据1 2 3 3 3 4 5,所以在小于或等于时都要删点才行

2012-04-19 19:27:24 687

原创 poj Optimal Keypad

题目链接:http://poj.org/problem?id=2292求最小字典序还是反向dp,正向搜索稳当一些,个人认为。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x

2012-04-19 14:00:41 589

原创 poj 2288 Islands and Bridges

题目链接:http://poj.org/problem?id=2288题目思路:TSP问题,不过要注意两个地方,n=1,路径数要用int64,悲剧啊,变量居然冲突了,害得我检查了一个小时;#include#include#include#include#include#include#include#include#include#include#includeusi

2012-04-19 10:32:25 560

原创 poj 2287 Tian Ji -- The Horse Racing

题目链接:http://poj.org/problem?id=2287题目大意:田忌赛马。题目思路:Ø         1、如果田忌剩下的马中最强的马都赢不了齐王剩下的最强的马,那么应该用最差的一匹马去输给齐王最强的马。Ø         2、如果田忌剩下的马中最强的马可以赢齐王剩下的最强的马,那就用这匹马去赢齐王剩下的最强的马。Ø         3、如果田忌剩下的马中最

2012-04-18 21:17:57 643

原创 poj 2250 Compromise

题目链接:http://poj.org/problem?id=2250poj 的数据好水啊!#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define

2012-04-18 16:16:01 377

原创 poj 2228 Naptime

题目链接:http://poj.org/problem?id=2228题目思路:定义 dp[N][B][2]:                  dp[i][j][0] = { 现在处于第 i 个小时,之前一共休息了 j 个小时,第 i 个小时休息了。到现在为止获得的最大点数 }                  dp[i][j][1] = { 现在处于第 i 个小时,之前一共休息了

2012-04-18 12:07:09 595

原创 poj 2193 Lenny's Lucky Lotto Lists

题目链接:http://poj.org/problem?id=2193题目思路:转移方程:dp[i][j]=sum[i-1][j/2]; sum[i][j]=sum[i][j-1]+dp[i][j];其中dp[i][j]记录的是前i个数结尾是j的个数,而sum是小于等于j;#include#include#include#include#include#include#incl

2012-04-18 09:58:06 704

原创 poj 2152 Fire

题目链接:http://poj.org/problem?id=2152题目大意:在一棵树形的城市中建立一些消防站,但每个城市有一个最大距离限制,求需要的最小花费。题目思路:树形dp,定义dp[i][j]为以i为根的子树且i的消防站建在j的最小花费,best[i]为以i为根的子树的最小花费,则dp[i][j]=w[j]+sum(min(dp[child][j]-w[j],best[child

2012-04-17 22:13:28 695

原创 poj 2151 Check the difficulty of problems

题目链接:http://poj.org/problem?id=2151题目大意:求出每个队伍至少做出一题且做得最多的队伍做出至少N个题的概率。题目思路:所有队伍都做出至少一题的概率-所有队伍只做出1到n-1个题的概率。#include#include#include#include#include#include#include#include#include#inc

2012-04-17 10:09:57 365

原创 poj 2138 Travel Games

题目链接:http://poj.org/problem?id=2138题目思路:水题,先预处理出每两个串是否可达即可。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3

2012-04-16 21:19:04 916

原创 poj 2127 Greatest Common Increasing Subsequence

题目链接:http://poj.org/problem?id=2127题目思路:很经典的dp,用dp[i][j]记录第一个串的前i个字符且以第2个串的第j个字符结尾的最大匹配数,中间有一维优化,复杂度为n^2。#include#include#include#include#include#include#include#include#include#include#

2012-04-16 17:30:11 604

原创 poj 2084 Game of Connections

题目链接:http://poj.org/problem?id=2084题目思路:递推,枚举与点1连接的点即可。import java.math.BigInteger;import java.util.Scanner;public class Main{ public static void main(String[] args) { int n,i,j; BigInte

2012-04-13 20:38:17 455

原创 poj 2047 Concert Hall Scheduling

题目链接:http://poj.org/problem?id=2047题目大意及思路:一个公司有两个音乐厅,求能一年中能获得的最大的收益,这个题还真是有点难想啊,可能是早上不在状态,主要是没解决重复加音乐会的问题,开始的思路是对于dp[i][j],计算两个音乐厅分别从哪里转移过来,这样就会导致重复加入音乐会,看了解题报告才知道,可以只计算i>=j时的情况,这样每次就加在天数大的那个音乐厅上,又

2012-04-13 17:34:26 847

原创 poj 2019 Cornfields

题目链接:http://poj.org/problem?id=2019题目思路:用单调队列做预处理,n^2的复杂度。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f

2012-04-12 21:16:20 592

原创 poj Corporative Network

题目链接:http://poj.org/problem?id=1962题目思路:并查集。#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f

2012-04-12 15:56:17 418

原创 poj 1949 Chores

题目链接:http://poj.org/problem?id=1949题目思路:简单树形dp。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#defin

2012-04-12 14:26:38 462

原创 poj 1947 Rebuilding Roads

题目链接:http://poj.org/problem?id=1947题目大意及思路:求从一棵树上切下p个结点的子树最少需要切的边的条数,做法是树形dp加背包。#include#include#include#include#include#include#include#include#include#include#includeusing namespace s

2012-04-12 13:40:28 548

原创 poj 1946 Cow Cycling

题目链接:http://poj.org/problem?id=1946题目思路:用dp[i][j][k]表示已经跑了i圈,场上还剩j头牛且能量为k时消耗的最少时间。#include#include#include#include#include#include#include#include#include#include#includeusing namespace

2012-04-11 15:16:36 751

原创 poj 1934 Trip

题目链接:http://poj.org/problem?id=1934题目思路:哎,数组开小了,开始一直没看出来,晕啦。我的写法不是很好,其实可以用last1[i][j]表示字符i在第一个字符串的前j个字符中出现的最后位置,同理last2,这样就可以去重了,而且可以提高效率。#include#include#include#include#include#include#inc

2012-04-11 11:26:20 832

原创 poj 1926 Pollution

题目链接:http://poj.org/problem?id=1926题目思路:对每个连通分量按度均分即可。这次很快就想到了解法,不错!#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define

2012-04-10 20:29:23 1100

原创 poj 1920 Towers of Hanoi

题目链接:http://poj.org/problem?id=1920题目思路:这道题要倒过来想,就是从一根柱子的状态到达当前状态,这样只要从最大的disk到最小的disk判断是否需要移动就可以了。#include#include#include#include#include#include#include#include#include#include#includ

2012-04-10 16:08:07 800

原创 poj 1874 Trade on Verweggistan

题目链接:http://poj.org/problem?id=1874题目思路:简单题,不过题意好难理解啊!#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f

2012-04-10 14:36:19 537

原创 poj 1850 Code

题目链接:http://poj.org/problem?id=1850#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define Max 110int

2012-04-10 11:57:01 412

原创 poj 1848 Tree

题目链接:http://poj.org/problem?id=1848题目思路:这个题目的思路还真是相当难想到啊!膜拜大牛。。网上有详细题解,我就不写了。。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std

2012-04-10 10:36:09 579

原创 poj 1821 Fence

题目链接:http://poj.org/problem?id=1821题目思路:单调队列优化,不过要注意界的处理。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3

2012-04-09 21:17:53 653

空空如也

空空如也

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

TA关注的人

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