POJ
文章平均质量分 78
fu_ding1991
勿忘初心,方得始终
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 1459--Power Network(三种方法求最大流)
不管用ford——fulkerson方法还是推送重贴标签,首先都不用管自环,显然一个最大流 是不会包括自环的,自环只会减少流量。然后反向边也不需要如算法导论中加入另外的 点进行处理。 ******为了减少内存,直接用容量的减少代表流量的增加,正向边容量减少多少,正向流 量就增加多少,同时增加相应的反向容量,意思就是说反向的能允许的流量增加,而如果 接下来的操作原创 2014-07-26 18:35:10 · 664 阅读 · 0 评论 -
POJ 2492--A Bug's Life
题意:有个专家在研究一种虫子原创 2014-11-06 15:30:08 · 473 阅读 · 0 评论 -
POJ 1703--Find them, Catch them
题意:一个城市有两个犯罪团伙原创 2014-11-06 15:28:45 · 450 阅读 · 0 评论 -
POJ 3373--Changing Digits
题意:给定一原创 2014-11-23 13:25:23 · 524 阅读 · 0 评论 -
POJ 3254--Corn Field
题意:又是farmer john和他的牛,给定一个M*N的玉米地,有的点上有玉米,有的则没有,问把这些牛放在有玉米的点上且不相邻总共有多少种方法,牛的个数可以放0个,1个以及一个图上不相邻点的最大团都可以。题解:动态规划。设num[i][j]为从第1行到第i行为止第i行放置状态为j的总方法。j的二进制位代表1行N列的牛的方法。易知第i+1行可行的方法只跟第i行的方法有关,设第i行的原创 2014-11-26 17:08:26 · 444 阅读 · 0 评论 -
POJ 2195--Going Home
最小费用最大流问题,同POJ2516,此题原创 2014-10-19 19:09:58 · 408 阅读 · 0 评论 -
POJ 3264--Balanced Lineup(RMQ问题)
题意:给定一数组,原创 2014-11-04 15:27:01 · 2521 阅读 · 5 评论 -
POJ 3368--Frequent values
题意:给定一不减数组,原创 2014-11-04 15:56:06 · 360 阅读 · 0 评论 -
POJ 3308--Paratroopers
题意:给定一m*n矩阵,伞兵可能降落到原创 2014-10-31 19:55:44 · 410 阅读 · 0 评论 -
POJ 1724--ROADS
题意:有N个城市,R条路,每条路有原创 2014-11-17 11:05:14 · 402 阅读 · 0 评论 -
POJ 3411--Paid Roads
题意:有N个城市M条路,这个路有点特别,jike原创 2014-11-17 10:43:43 · 648 阅读 · 0 评论 -
poj 2186--Popular Cows
题意:农场有N个大牛,有些大牛喜欢原创 2014-10-29 21:16:13 · 498 阅读 · 0 评论 -
POJ 2187--Beauty Contest
题意:求一点集的最远欧式距离。原创 2014-10-13 21:38:55 · 443 阅读 · 0 评论 -
poj 2513--Colored Sticks
结局方案:根据输入将棍子当成边,两端颜色为点,构成无向图。题目要求计算图中是否存在欧拉路, 存在欧拉路 => 图为连通图且,除了链两端点其他节点的度数皆为偶数,若两端节点相同,则度数 都为偶,若不同则只存在两个奇数度数节点。 同样可证明上述为必要条件,可见图论教材。简单来说,若存在一条最长链W只经过每条边依次,则端 点的边必定都在链W里,若两端点为同一节点,则此链为局部欧拉原创 2014-10-29 10:58:16 · 519 阅读 · 0 评论 -
POJ 1584--A Round Peg in a Ground Hole
题意:给定一多边形和原创 2014-10-10 21:33:21 · 518 阅读 · 0 评论 -
POJ 1191--棋盘分割
题意:给定一8*8的棋盘,每次沿着边原创 2014-11-24 20:30:38 · 507 阅读 · 0 评论 -
POJ 3280--Cheapest Palindrome
题意:给定一字符串,可以在任何位置删除或者添加字符,使得字符串变为回文字符。但是每次操作的代价不同,问最小的代价。题解:类似于POJ 1159。因为从a[i]到a[j]的子串变成的最少代价回文字符串头尾是a[i]或者a[j]或者都不是。设dp[i][j]为从a[i]到a[j]组成的子串变成回文字符串的最小花费。转移方程:如果 a[i] = a[j] ,dp[i][j] = dp[i原创 2014-12-02 11:29:57 · 398 阅读 · 0 评论 -
poj 3352--Road Construction(双连通分量)
题意:给定一无向连通图原创 2014-10-30 15:46:02 · 384 阅读 · 0 评论 -
POJ 1050-To the Max(最大子矩阵和)
题意:给定一个二维矩阵,求它子矩阵的最大和。 题解:首先我们从一维数组出发,给定一个一维数组a[],求它的最大连续子数组和。 易知使用动态规划,设dp[i]为以a[i]结尾的最大子数组和。 转移方程:若dp[i] > 0,则dp[i+1] = dp[i]+a[i+1]。若dp[i] <= 0, 则dp[i+1] = a[i+1]。一维的如上求解,然后我们试着将二维的转化成一维,我们将子矩原创 2015-05-12 15:31:43 · 551 阅读 · 0 评论 -
POJ 2406--Power Strings(kmp算法)
题意:给定一规模为1e6的字符串,原创 2014-11-16 10:58:26 · 517 阅读 · 0 评论 -
POJ 2528--Mayor's posters(线段树)
题意:给定一系列有先后顺序的数对[]原创 2014-09-28 21:07:43 · 422 阅读 · 0 评论 -
POJ 2777--Count Color(线段树)
同POJ2528,线段树的题目,此题唯一的不同就是查看颜色数目也为原创 2014-09-28 21:42:53 · 401 阅读 · 0 评论 -
POJ 2828--Buy Tickets(线段树)
题意:给定一队列,允许插队原创 2014-10-01 23:45:09 · 383 阅读 · 0 评论 -
三种排序算法小结
首先是归并排序,基本思想为分治,合并的技巧比较重要,不是原址排序。代码如下;int merge(int* x,int left,int mid,int right){ int i,j,k; int L1 = mid-left+2; int L2 = right-mid+1; int* L = new int[L1]; int* R = new int[L2]原创 2015-03-15 13:55:37 · 639 阅读 · 0 评论 -
POJ 1419--Graph Coloring(最大团求二着色问题)
无向图中二着色,利用DFS以及简单的DP对最大团算法进行优化。。。原创 2014-07-26 12:14:12 · 1446 阅读 · 0 评论 -
poj 2516--Minimum Cost
最小费用最大流问题:在最大流的基础上,使原创 2014-10-19 18:04:57 · 603 阅读 · 1 评论 -
Tarjan双连通分量算法论文翻译
Depth-First Search and Linear Graph Algorithms Tarjan在1972年发表了这篇关于线性图论算法的论文,在论文中详细分析了深度优先搜索的各种性质,并且利用其性质给出了两个应用:无向图的双连通分量以及有向图的强连通分量。 在此将对其中的双连通分量算法做出一些翻译解释。仅需要你对DFS发现时间以及后向边有了解即翻译 2014-10-23 21:12:02 · 1710 阅读 · 0 评论 -
POJ 2486--Apple Tree
题意:有一颗苹果树,每个节点有一些苹果,问从根节点出发走K步最多能吃到多少苹果。题解:树形DP,状态转移较为复杂,具体可参考注释。#include#include#include#includeusing namespace std;class solve{private: vector > sons; char* vis; int** dp原创 2014-12-16 11:11:56 · 436 阅读 · 0 评论 -
POJ 1947--Rebuilding Roads
题意:给定一规模为N的树,问至少去掉多少条边能得到一个规模为P的子树。题解:看了一些大牛的题解,很困惑纠结一些问题。最佳答案是否是包括整棵树根节点的一颗子树,动态规划定义时的状态是否是包括子树根节点的解。对于第一个可以很容易举出反例:4 11 21 42 3其代价为1的子树只含有节点3,不包括根节点1。所以最佳子树不一定包括整棵树根节点。对于第二个问题,原创 2014-12-13 17:45:46 · 423 阅读 · 0 评论 -
POJ 2454--Jersey Politics
题意:有N = 3*K个城市,每个城市有1000头牛,每个城市的牛支持A或B,请将这N个城市分为3个地区,每个地区含有K个城市,且要使至少两个地区A的支持率高。题解:首先将输入进行处理,保存每个城市支持数的差值,然后进行排序,因为一定有解,所以在前2*K个城市当中一定可以找到两个都满足要求的划分,则剩余K个城市直接划分为一个地区。典型的组合数DFS,为了达到从2*N个牛中选择K个牛组成一个原创 2014-12-26 17:42:42 · 629 阅读 · 0 评论 -
POJ 2976--Dropping tests(Dinkelbach求0/1规划)
利用二分法和Dinkelbach算法求0/1规划问题。原创 2015-01-27 16:57:53 · 699 阅读 · 0 评论 -
POJ 3621--Sightseeing Cows(0-1规划求最大密度)
利用0-1规划中的二分以及Dinkelbach算法求解有向图中的最大密度问题,并且对此问题中的Dinkelbach算法的期望搜索迭代次数作了简要分析。原创 2015-01-29 22:35:11 · 741 阅读 · 0 评论 -
POJ 1039--Pipe
计算几何题目:题目给出一些弯管,问最后从入口发射的光线能到达d原创 2014-10-10 12:04:32 · 405 阅读 · 0 评论 -
POJ 2942--Knights of the Round Table(双连通分量)
题意:有N个骑士,互相憎恨对方,原创 2014-10-23 23:24:12 · 450 阅读 · 0 评论 -
POJ 3267--The Cow Lexicon
根据题意,可以得到一个动态方程:设dp[i]为co原创 2014-08-05 16:55:43 · 432 阅读 · 0 评论 -
POJ 1159--Palindrome(回文序列)
题目要求对于一序列zhishao加上多上字符能组成一个会原创 2014-08-04 19:53:14 · 519 阅读 · 0 评论 -
POJ 1789--Truck History(最小生成树)
本题要求最小生成树,因为已经是最大团,建议采用prim算法。实质为贪心思想,每次我们只选择一个到已加入生成树集合的点距离最近的点即可,且每加入一个新点都要更新其他点的最短距离。最朴素的做法,设置一个是否在生成树集合的bool数组以及一个标志点到生成树的最小距离的数组,每次加入新点,更新最小距离时,且可以直接找出下一个加入的点。另一种做法:因为本题距离只在1到7之间,想用类似hash的思原创 2014-08-04 11:55:58 · 388 阅读 · 0 评论 -
POJ 3041--Asteroids
此题考察最小顶点覆盖原创 2014-07-28 23:44:32 · 390 阅读 · 0 评论 -
POJ 1860--Currency Exchange
本题要求从源点出发的货币经过一些列交换是否能增值,原创 2014-08-03 13:39:28 · 397 阅读 · 0 评论 -
POJ 3259--Wormholes(求负环)
题目要求有向图是否存在负环,求负环的方法有B原创 2014-08-03 12:05:50 · 632 阅读 · 0 评论
分享