自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Aszxqw

新博客地址 http://yanyiwu.com

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

原创 POJ 3159 Candies [差分约束系统 SPFA+STACK]

题意:有一包糖果要分给n个学生,对于输入数据u v w代表学生v得到的糖果数比学生u得到的糖果数 至多可以多出w个。问满足条件的情况下,学生n比学生1至多可以多出多少个糖果。思路:很显然的差分约束方程求解问题。先根据u v w构造差分方程:d[ v ]-d[ u ]再用该方程建图:addedge(u,v,w):建立一条从u出发到v的权值为w的单向边。然后进行spfa找出

2012-02-28 21:22:46 641

原创 POJ1201 Intervals [差分约束系统 SPFA]

题意:给定m个区间,且在每个区间内必须至少取有w个数,如果取数可以使总的区间取的数个数最少。思路:差分约束系统 最短路求最优解先是根据题目条件构造一个差分约束系统。例如题目给的条件 u v w,可以转化为d[u]-d[v-1]>=w这个约束条件。所以依次可以得到d[7]-d[2]>=3;d[10]-d[7]>=3;d[8]-d[5]>=1;d[3]-d[0]

2012-02-28 19:19:26 588

原创 POJ3662 Telephone Lines [二分 最短路]

题意:题目描述得挺隐晦。但是本质就一句话:求一条"最短路":第k+1大的边最小的"最短路"。思路:二分加最短路判定。最答案进行二分。然后按照二分的值用0,1处理整个图:将比二分值大的边都置为1,将比二分值小的边都置位0。然后进行找1到n的最短路,如果值小于K,则这个二分值满足题意。再继续二分,直到找到最优解。#include#include#include

2012-02-27 17:32:07 1419

原创 POJ1511 Invitation Cards [最短路,dijstra+heap,spfa]

题意:给定节点数n,和边数m,边是单向边.问从1节点出发到2,3,...n 这些节点路程和从从这些节点回来到节点1的路程和最小值。思路:很显然的最短路,先以1为起点进行一次最短路,然后再将边反向一下再以1为起点进行一下最短路。这题的意义在于数据,一般的dijstra的O(N^2)显然没法过。先用dijstra+heap试试。(以前被这个heap唬到了,其实heap直接用pr

2012-02-23 12:21:43 3618

原创 POJ1151 Atlantis [离散化]

题意:求矩形合并的总面积。思路:想练一下离散化专门找的题目。很好的一道题,没用线段树,因为N=100,所以直接离散化则可以O(N^2)求出。更具体的可以参看下面链接:http://www.cppblog.com/RyanWang/archive/2009/02/22/74612.html#include#include#include#incl

2012-02-22 12:30:25 745

原创 POJ3638 Moogle [DP]

题意:花了不少时间才读懂。根据例子说吧,0 9 20 40 ,n=4,m=3,即可以存储3个,但是显然头尾0和40必须存储。所以还可以存储一个,显然取20,这样可以根据公式退出i=2的这个位置的值是10,和9的误差为1,最后输出误差之和/n的值。所以第二个例子:10 40 10 19 30 40 90 140 190 202 210最佳方案是取0 40 190 210

2012-02-19 12:52:51 795

原创 POJ3666 Making the Grade [DP,离散化]

题意:给定一个序列,以最小代价将其变成单调不增或单调不减序列,这里的代价看题目公式。思路:很容易想到是DP。1.对前i个序列,构成的最优解其实就是与两个参数有关。一个是这个序列处理后的最大值mx,和这个序列处理的代价值cost。显然最大值mx最小最好(这样第i+1个值可以不花代价直接接在其后面的可能性更大),cost最小也最好(题意要求),但是两者往往是鱼和熊掌。用dp

2012-02-18 22:26:30 8204 2

原创 POJ1179 Polygon [DP 矩阵链乘]

第一道矩阵链乘。特地翻了一下算法导论里面的矩阵链乘,感觉其实就是可以用递归去递归到一个最优解。但是递归的过程有冗余,这些冗余用记忆化DP可以处理掉,本质其实是递归树的剪枝。代码写挫了,但是AC心情好,不管了。#include#include#include#define Abs(a) ((a)>0?(a):-(a))#define Mod(a,b) (((a)-1+(b))

2012-02-18 13:12:50 1252

原创 POJ2559 Largest Rectangle in a Histogram [单调栈]

题意:给定多个矩形,求最大的合并面积。思路:和POJ2082【前一篇文章】一样的题目。还是单调栈的应用,关键还是理解单调时候可以用O(N)的算法处理,所以处理成单调栈。本质思路参看前一篇文章。不过注意要用__int64或者long long。#include#include#include#include#define max(a,b) (a>b?a:b)

2012-02-09 17:29:11 776

原创 POJ2082 Terrible Sets [DP 单调栈]

题意:能把题目写得这么纠结真是种境界。本质即是给定一定顺序的矩形,每个矩形都紧挨着x轴,问最大的矩形面积是?思路:1.O(n^2)的暴力法:#include#include#include#include#define max(a,b) (a>b?a:b)#define abs(a) ((a)>0?(a):-(a))#define min(a,b) (a<b

2012-02-09 13:36:50 2277

原创 POJ1493 Machined Surfaces

题意:就是将中间的空格合并,问最后剩下几个空格。直接看范例就懂了,看题目描述还比较蛋疼。思路:其实本质就是统计一下每行空格数字,找出最小值。然后剩的值即是sum[每行空格数-最小值]。#include#include#include#include#define max(a,b) (a>b?a:b)#define abs(a) ((a)>0?(a):-(a))

2012-02-02 13:24:29 1237

原创 POJ1450 Gridland [找规律]

题意:本质就是要你用一根线将给定的点连起来,这根线最短是多少。思路:我在纸上画了[2 2][2 3][3 3][3 4][4 4][4 5][5 5][3 5]这几个例子。从这几个例子就够找出规律了其实。然后写代码。一次AC。#include#include#include#include#define max(a,b) (a>b?a:b)#define ab

2012-02-01 22:40:16 994

原创 POJ1350 Cabric Number Problem [模拟]

思路:对这种整数的各个位上的数字之间的操作还是习惯用类似左移右移的方法,即/=10,*=10的方法写。感觉这样写思路清晰。AC后找了网上别人的代码想对比,这样写代码也精简得多,而且不需要什么字符串的处理。#include#include#include#define max(a,b) (a>b?a:b)#define abs(a) ((a)>0?(a):-(a))#defin

2012-02-01 19:41:21 862

空空如也

空空如也

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

TA关注的人

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