上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要: POJ 3694题目大意:给出一副联通的无向图,求加上一条边后还有多少条桥,多次加边。解:其实就是tarjan求桥加lca,这里可以朴素记录深度,向上回溯,取消桥的标记即可。我挺二的,首先把最少边使得不存在双连通分量和加边取消双连通分量搞反了,然后去看了lca和rmq,lca不是很懂tarjan的做法,有空去看下。然后就是做题的时候记录了哪些边是桥,wa,其实只要记录点即可,如果一个点是桥标记,则说明他到他父亲这条边是桥,ac。然后_gxx的做法很神奇,首先遍历出一棵树,然后把剩下的原始边加上去,lca,覆盖桥标记(一开始的全是桥),然后新加的边也是这样处理即可。还有就是桥标记的判断是dfn[ 阅读全文
posted @ 2012-04-06 20:03 F.D.His.D 阅读(227) 评论(0) 推荐(0) 编辑
摘要: POJ 3159题目大意:给n个小朋友们分糖果,其中有m个关系a b c,代表A允许B比自己最多多C个糖果,求第一个小朋友到第n个小朋友的糖果数的差最大是多少(满足这m个条件下)解:题目有隐藏题意,第n个小朋友(即班长要比1多),所以这些条件就是一个差分约束,然后求1到n的最短路即可(dist[x]表示1允许x比自己多多少,把关系传递,显然是一个最短路模型,如果存在一条1到x的路比已知短,显然要更新才能满足题意。),初始化全部为bilibili,dist[1]为0,鬼畜的是即使是spfa+slf+queue也会tle,但是用spfa+stack就会很快(我刷上第四名),300+ms,dij+h 阅读全文
posted @ 2012-04-06 20:01 F.D.His.D 阅读(219) 评论(0) 推荐(0) 编辑
摘要: POJ 3621题目大意:在一幅有向图上,求有一个环,使得环上的点权a与边权和b,有a/b最大。解:我觉得这个算数学题了,分析很巧妙,我还想爆搜什么的若爆了。01分数规划问题,这里的问题转换为ans = sum(v[i]*x[i] / e[i]*x[i]);x[i]为0或1,表示取或不取,所以x就是使命题成立的一个选择,默认符合题意。所以把式子整合: ans=v/e * x;∴ ans*e-v=0所以我们二分枚举ans,当枚举点mid比ans大时,就会有 mid*e-v>0,如果小于,则是问题的关键,会有mid*e-v<0,也就是说,在图上会有一个负环。所以构图 分析 ans=v/ 阅读全文
posted @ 2012-04-06 19:59 F.D.His.D 阅读(137) 评论(0) 推荐(0) 编辑
摘要: POJ 3177题目大意:同poj 3352。解:同poj3352,但记得处理重边的问题。View Code 1 //poj 3177 2 const 3 maxn=5111; 4 maxm=11111; 5 type 6 data=record 7 dest, next, op: longint; 8 end; 9 var 10 edge: array[1..maxm*2]of data; 11 pre, dfn, low, deg, vect: array... 阅读全文
posted @ 2012-04-06 19:54 F.D.His.D 阅读(252) 评论(0) 推荐(0) 编辑
摘要: POJ 3352题目大意:一幅图,至少加多少条边后,使得任意断开一条边都不会把图分裂成两部分。解:求双连通分支的数量,就是把所有边双连通分量缩点,构树,答案为叶节点数目+1 >> 1;(证略)备注:有很二的地方,缩点统计想关于同一个双连通分量多次指向另一个双连通分量怎么办= 。=,明明叫双连通分量,怎么会有多条边连向其他分量呢?如果是他们也合并成一个双连通分量了。View Code 1 //poj 3352 2 const 3 maxn=1111; 4 maxm=1111; 5 type 6 data=record 7 ... 阅读全文
posted @ 2012-04-06 19:53 F.D.His.D 阅读(181) 评论(0) 推荐(0) 编辑
摘要: POJ 2983 又是一条给我贡献wa率的题目。问题大意:有一些点在同一直线上,给出他们之间的距离的关系(要么指定比他在北边多少,要么只告诉你在他北边(至少远1单位),求这些关系是否成立。解:一开始觉得是差分约束,但是不想写bellman-ford,所以写了一坨if流,结果wa掉,看题解,写差分(用spfa),wa,wa,wa,wa,然后去orz _gxxd的程序,也没搞懂什么。最后得知判断条件是dist[u]+cost>dist[dest] then更改dist[dest]的值符合条件。然后关键点是如果是指定了远多少的边,一定要建立一条逆边,以便检查dist[u]+cost==dist 阅读全文
posted @ 2012-04-06 19:51 F.D.His.D 阅读(373) 评论(0) 推荐(0) 编辑
摘要: POJ 2749题目大意:给出若干个牛棚的坐标,现有两个点d1, d2(交通枢纽点),d1, d2之间有一条路(本题两点的路程为横坐标之差和纵坐标之差的绝对值),求牛棚连到d1,或d2,任意两个牛棚之间最大值的最小值是多少。他还加了一个约束条件,就是给出a对牛棚,每对牛棚是不能连在同一个枢纽点,再给出b对牛棚,每对牛棚一定要连在同一个枢纽点。解:上网找做法,说这个是一种2sat模型,属于np模型、主要是讨论有节点关系为一定共存和一定不共存这样一些的图。这道题目也是一样(要么不能一起,要么一起),核心思想是二分答案(和noip2010 no3类似,有时间复习),然后建图讨论是否可行。设x为x处于 阅读全文
posted @ 2012-04-06 19:50 F.D.His.D 阅读(174) 评论(0) 推荐(0) 编辑
摘要: POJ 2230题目大意:给出一副联通无向图,求从起点1开始,每条边走两次,回到起点的的一种路径方案。{SPJ}解:我感觉和欧拉回路有点像,然后是分析性质,把每条无向边拆成两条,可以发现,从任意点的欧拉回路都是存在的(奇数乘偶数=偶数>.<), 然后我是用了一种无赖走法,把剩余的点看成一个大点,然后走去这个大点再走回来,进入大点后不断缩小规模。主要的问题是判断点是否走过(度走完)以及边是否走过。View Code 1 //poj 2230 2 const 3 maxn=11111; 4 maxm=51111; 5 type 6 data=rec... 阅读全文
posted @ 2012-04-06 19:47 F.D.His.D 阅读(275) 评论(0) 推荐(0) 编辑
摘要: POJ 1904题目大意:有n个王子和n个美人,每个王子喜欢一些美人,如果一个王子要娶一个美人,必须是他喜欢的。现在国王的巫师给出了一个完美匹配表(每个王子都能娶到他喜欢的女孩),现在国外想知道在不影响全部王子能娶到老婆的前提下,每个王子能有哪些选择?解:重复许多人的话:这是一条好题。一开始我自己觉得意识模糊,于是不断删去唯一的匹配边(只有一个王子喜欢的女孩和只喜欢一个女孩的王子),然后默认其他的都可以替换。其实也意识到了是一个增广路的模型,只是没有去细想,想当然会tle的。正解则是在增广路的基础上,因为给出了一个完美匹配。所以设目前王子为xi, 他初始匹配的美人为yi,如果王子选择了其他美人 阅读全文
posted @ 2012-04-06 19:46 F.D.His.D 阅读(311) 评论(0) 推荐(0) 编辑
摘要: POJ 3422题目大意:原题的加强版,k取方格数。解:dp,dp+降维,因为这里k可以到10,用最大费用流做。先拆点,一个点变成两个点,点中间有两条边,一条费用为该方格数,流量为1,(其负边的费用是负,一开始没想到wa了好久),另一条边费用为0而流量为无限。每次找一条去到汇点的最大费用路。然后找出最小流,用pre记录前缀,从汇点回溯到原点,并更新每条边的流量。注意原点到1,1的流量为maxlongint,n,n到汇点的流量为k。这里也是wa的地方。View Code 1 //poj 3422 2 const 3 maxn=(52 * 52) << 1; 4 ... 阅读全文
posted @ 2012-04-06 19:44 F.D.His.D 阅读(306) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 下一页