会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
新博客↓
http://progrom.cn/
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
18
19
20
21
22
23
下一页
2015年10月17日
BZOJ2819 Nim(DFS序)
摘要: 题目:单点修改、树链查询。 可以直接用树链剖分做。。 修改是O(QlogN),查询是O(QlogNlogN),Q=N=500000; 听说会超时。。 这题也可以用DFS序来做。 先不看修改,单单查询:可以求出每个点到根的xor值,那么对任意两点的查询就等于xor(u)^xor(v)^val(lca(
阅读全文
posted @ 2015-10-17 09:24 WABoss
阅读(687)
评论(0)
推荐(0)
2015年10月13日
BZOJ1103 [POI2007]大都市meg(DFS序)
摘要: 题目:一颗树,单边修改,链上查询。。实际上链是根到结点的链。网上好像有其他做法,我的想法是这样的: 先不看修改,毫无疑问查询只是查询结点的深度;而修改一条边会有什么影响:影响是且只是以边上深度最深结点为根的子树。 所以就是DFS序了。把子树转化为区间,然后用区间修改、单点查询的线段树维护。 1 #i
阅读全文
posted @ 2015-10-13 11:03 WABoss
阅读(253)
评论(0)
推荐(0)
POJ3321 Apple Tree(DFS序)
摘要: 题目,是对一颗树,单点修改、子树查询。典型的dfs序入门题。 DFS序可以将一颗树与子树们表示为一个连续的区间,然后用线段树来维护;感觉算是树链剖分的一种吧,和轻重链剖分不同的是这是对子树进行剖分的。 我用非递归方式求DFS序。 1 #include<cstdio> 2 #include<cstri
阅读全文
posted @ 2015-10-13 08:56 WABoss
阅读(195)
评论(0)
推荐(0)
2015年10月11日
HDU3987 Harry Potter and the Forbidden Forest(边数最少的最小割)
摘要: 方法1:两遍最大流。一遍最大流后,把满流边容量+1,非满流边改为INF;再求最小割即为答案。 我大概想了下证明:能构成最小割的边在第一次跑最大流时都满流,然后按那样改变边容量再求一次最小割,就相当于再在那些 满流可能是属于最小割的边 中挑出最少的边形成ST割。 1 #include<cstdio>
阅读全文
posted @ 2015-10-11 10:53 WABoss
阅读(368)
评论(0)
推荐(0)
2015年10月6日
Codeforces 498C Array and Operations(最大流)
摘要: 题目是给一些数和<数对>的下标,然后进行操作:对某个<数对>中的两个数同时除以一个都能被它们整除且不等于1的数,要求的就是最多能进行多少次操作。 除数一定是素数,就是要决定某素数要除哪些<数对>使除的次数最多, ik + jk is an odd number 可以想到这个是个二分图,数最多100个
阅读全文
posted @ 2015-10-06 21:53 WABoss
阅读(417)
评论(0)
推荐(0)
2015年10月5日
POJ2516 Minimum Cost(最小费用最大流)
摘要: 一开始我把每个店主都拆成k个点,然后建图。。然后TLE。。 看题解= =哦,愚钝了,k个商品是独立的,可以分别跑k次最小费用最大流,结果就是k次总和。。 1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 #include<algor
阅读全文
posted @ 2015-10-05 16:30 WABoss
阅读(1080)
评论(0)
推荐(1)
POJ3057 Evacuation(二分图最大匹配)
摘要: 人作X部;把门按时间拆点,作Y部;如果某人能在某个时间到达某门则连边。就是个二分图最大匹配。 时间可以二分枚举,或者直接从1枚举时间然后加新边在原来的基础上进行增广。 谨记:时间是个不可忽视的维度。 1 #include<cstdio> 2 #include<cstring> 3 #include<
阅读全文
posted @ 2015-10-05 11:51 WABoss
阅读(199)
评论(0)
推荐(0)
2015年10月4日
PO3281 Dining(最大流)
摘要: 如果只有食物或者饮料那就是个二分图最大匹配。 三个真想不出来。。然后看题解。。从源点到食物到牛到饮料到汇点,这样建图。 所以思维不能太局限了,不懂得把食物和饮料放到牛两边,以为牛吃食物饮料、食物饮料被牛吃是符合逻辑的=。= 1 #include<cstdio> 2 #include<cstring>
阅读全文
posted @ 2015-10-04 21:35 WABoss
阅读(217)
评论(0)
推荐(0)
SGU326 Perspective(指派问题)
摘要: 题目简单吧,如果知道题目要干嘛的话。 每个比赛指定A赢或者B赢使它们赢得次数不超过1赢得次数。建立一个二分图模型,X部比赛,Y部队伍,用最大流求解,如果最后最大流等于比赛场数就有解。 然而我还是掉坑里了。。。我多算了1在同一赛区赢的次数。。 1 #include<cstdio> 2 #include
阅读全文
posted @ 2015-10-04 21:02 WABoss
阅读(252)
评论(0)
推荐(0)
ZOJ2587 Unique Attack(判定最小割唯一性)
摘要: 看了题解,自己大概想了下。 最小割唯一的充分必要条件是残量网络中所有点要嘛能从源点floodfill到要嘛能floodfill到汇点。 必要性,这是当然的,因为假设从源点floodfill或者从汇点反着floodfill得到的集合若不相补,那这就有两个最小割的方案,最小割不唯一。 充分性,首先这样就
阅读全文
posted @ 2015-10-04 19:52 WABoss
阅读(792)
评论(0)
推荐(0)
SPOJ371 Boxes(最小费用最大流)
摘要: 把球当作水。 1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 #include<algorithm> 5 using namespace std; 6 #define INF (1<<30) 7 #define MAXN 1111
阅读全文
posted @ 2015-10-04 18:24 WABoss
阅读(227)
评论(0)
推荐(0)
SGU185 Two shortest(最小费用最大流/最大流)
摘要: 题目求一张图两条边不重复的最短路。 一开始我用费用流做。 源点到1连容量2费用0的边;所有边,连u到v和v到u容量1费用cost的边。 总共最多会增广两次,比较两次求得的费用,然后输出路径。 然而死MLE不过。。 看了题解,是用最大流的做的。 源点到1连容量为2的边;然后把属于最短路的边都加进去,容
阅读全文
posted @ 2015-10-04 11:05 WABoss
阅读(244)
评论(0)
推荐(0)
2015年10月3日
POJ2112 Optimal Milking(最大流)
摘要: 先Floyd求牛到机器最短距离,然后二分枚举最长的边。 1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 #include<algorithm> 5 using namespace std; 6 #define INF (1<<30
阅读全文
posted @ 2015-10-03 18:59 WABoss
阅读(181)
评论(0)
推荐(0)
HDU3996 Gold Mine(最大权闭合子图)
摘要: 1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 #include<algorithm> 5 using namespace std; 6 #define INF (1LL<<60) 7 #define MAXN 3333 8 #d
阅读全文
posted @ 2015-10-03 16:44 WABoss
阅读(199)
评论(0)
推荐(0)
POJ3680 Intervals(最小费用最大流)
摘要: 选择若干条线段使权值最大,并且点覆盖次数不超过k。 建图如下:vs到0建立容量为k费用为0的边;坐标终点到vt连接一条容量为k费用为0的边;对于每两个相邻坐标连接一条容量为INF费用为0的边;对于线段每两个端点连接一条容量1费用为-cost的边。 这样跑最小费用最大流。相当于找出k个线段集合,每个集
阅读全文
posted @ 2015-10-03 16:20 WABoss
阅读(390)
评论(0)
推荐(0)
上一页
1
···
18
19
20
21
22
23
下一页
公告