自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天羽屠龙舞

只盼来日登蜀道,再续出师表。。。

  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

转载 图论500题

=============================以下是最小生成树+并查集====================================== 【HDU】 1213 How Many Tables 基础并查集★ 1272 小希的迷宫 基础并查集★ 1325&&poj1308 Is It A Tree? 基础并查集★ 1856 More is better 基础并

2014-08-07 15:26:17 970

原创 hdu 4771 求一点遍历所有给定点的最短路(bfs+dfs)

题目如题。题解如题。 由于目标点最多只有4个,先bfs出俩俩最短路(包括起点),再dfs最短路。)0s1A;(当年弱跪杭州之题,现看如此简单) #include #include #include #include #include using namespace std; struct point { int x,y; int cnt; }; char a[105][105]

2014-08-27 21:48:07 3692

原创 hdu4772 坐标旋转

俩个n*n牌,问旋转0,90,180,270,时候重叠在一起一样的数最多的情况。 坐标旋转一下即可,推一下旋转公式: 如90度,回忆在坐标系中,(x,y)关于(0,0)旋转90为(-y,x),若关于(a,b),则坐标转移,把(a,b)看错原点(x-a,y-b)->(b-y,x-a),再坐标系转换回来:(b+a-y,x).在数组坐标中类似可推: #include using namespace

2014-08-27 21:44:52 937

原创 hdu4983 / 枚举约数+欧拉函数

求满足 gcd(a,n)*acd(b,n)=n^k的整数对(a,b)。n 特殊情况考虑一下(n=1,k>=2),问题很容易转化为求euter(n/g)*euter(g),g是约数。这题比赛时候竟然应该不会求n的约数二不会做! 求约数时候,枚举(1,根号n),另一半对应啊!欧拉函数,这次有改进。 #include #include #include using namespace std; l

2014-08-27 12:37:21 1117

原创 hdu 4975 最大流及其唯一性判定(有向图环判断算法升级)

就当时最大流再次复习吧。。动手敲一下。。。经典解法不想说了。。这题主要是坑时间,10个提交7个tle。 环的判断,曾经用简单dfs方法,这次的就tle了!别人说要用很屌的dinic,我感觉自己dinic不可能超时,坚信是判断环慢了,于是学习了新断环的方法:删除点/边!从某点进去,若该点的所有边都遍历过还是无功而返,那么该店以后不用再进入了(这么简单的道感觉自己应该要想到啊!愚蠢啊!)开始时用只删

2014-08-23 22:06:24 1246

原创 hdu 4974 数学杂题/证明

题意模型:n个正数,每次可以做下面俩种操作之一: 1:取一个数减一。 2:取俩个数各减一。 都必需保证每次操作的数>0. 求使得所有数字为0的最少操作次数。 都说是简单题,网上还有不少错误解法(排序后扫一遍,每次取最大的俩个数减到0: 2 2 2 这样是4次,正解3次)。 应该是每次取最大的俩个数,各减1. 若maxi>sum/2,则ans=max,每次操作都用那个max,和其他一个

2014-08-23 17:37:31 963

原创 hdu4972 数学杂题

题意:有俩个队进行n场比赛,每场只记录下分差的绝对值(不知道哪一方),求最后可能比分。 思考了半天,还分类讨论。。结果也想到只有 1->2、2->1的情况有俩种可能。。。哎还是跪,这题坑点交多,自己弱爆。。 官方正解:既然已经知道差值,那么只有知道双方最终得分之和就知道比分了!(x-y已知,当然要用x+y去确定!问题转化能力!)问题转化了!每次1-》2/2-》1有总分增加1/3的俩种可能,设有

2014-08-23 16:33:49 846

原创 hdu 4971/ 2014多校/最大权闭合图

题意:n个项目(每个对应获得一定价值),m个技术问题(每个需要支出一定价值),每个项目必需要攻克若干个技术问题。技术难题之间有拓扑关系。 关键是建图。一看,第一感觉就是最大权闭合图,立即建好了图。不难:以项目为正权点,问题为负权点,有依赖关系的点边即可。 ps:这题题目有句话有问题,按样例的来!害我贡献一次WA..... #include #include #include #incl

2014-08-22 11:06:19 844

原创 hdu 4969 物理/积分

题意:a从圆心出发去追b,b沿着圆跑,速度分别是v2,v1(匀速),a,b,圆心始终三点共线,圆半径为R,问a在d距离内能否追到b。 哎,大学的物理积分都忘记了。。。好陌生了。。。看了题解才会的。。。把a的速度v2分解为径向速度和切向速度,则切向速度和B的速度平行,角速度相等,w(哦米噶)=v1/R, 设某时刻a距离圆心距离为 r,则径向速度 dr/dt=根号下(v2^2-w^2*r^2),移项

2014-08-21 15:24:59 961

原创 hdu 4970 树状数组 “改段求段”

题意:塔防。给1--n,给出m个塔,每个塔有攻击力,给出k个怪兽的位子和血量,问有几只可以到达n点。 今天刚刚复习了树状数组,就碰到这个题,区间更新、区间求和类型。第三类树状数组可以斩。 注意一下大数即可。 #include #include #include using namespace std; __int64 tree1[100010],tree2[100010];

2014-08-20 22:20:33 851

原创 hdu 2242 无向图/求用桥一分为二后使俩个bcc点权值和之差最小并输出 /缩点+2次新图dfs

题意如标题所述,      先无向图缩点,统计出每个bcc权,建新图,然后一遍dfs生成树,标记出每个点(新图)以及其子孙的权值之和。这样之后就可以dfs2来枚举边(原图的桥),更新最小即可。      调试了半天!原来是建老图时候链式前向星和新图的vector>俩种存图搞乱了!!!不可原谅!哎!愚蠢!愚不可及!提交后1A。      后来百度之后,发现说是用树形dp,看了代码解法,竟然和我

2014-08-19 19:34:13 954

原创 hdu3715 2-sat+二分

Go Deeper 题意:确定一个0/1数组(size:n)使得满足最多的条件数。条件在数组a,b,c给出。 吐槽:哎,一水提,还搞了很久!关键是抽象出题目模型(如上的一句话)。以后做二sat:有哪些是点,哪些是条件,分清!,然后注意细节。这次居然因为里面一个小错误: 判断有无解的时候,i与i+1是否在一个SCC中的时候,i居然没有每次+2!而是++!傻X了。。。囧!还一直以为自己二分写错。

2014-08-19 16:39:19 883

原创 hdu 3639 有向图缩点+建反向图+搜索

题意:给个有向图,每个人可以投票(可以投很多人,一次一票),但是一个人只能支持一人一次,支持可以传递,自己支持自己不算,被投支持最多的人。 开始想到缩点,然后搜索,问题是有一点想错了!以为支持按票数计算,而不是按人数!还各种树形dp/搜索求可以到达边数。。提交WA了。。。 又反复读了题目之后才发现。。错误。。只要人数就行。。。问题简单了许多。。。 缩点成有向无环图后:每个SCC中支持的人数就

2014-08-17 16:28:25 1066

原创 hdu 3072 有向图缩点成最小树形图计算最小权

题意,从0点出发,遍历所有点,遍历边时候要付出代价,在一个SCC中的边不要付费。求最小费用。 有向图缩点(无需建立新图,,n《=50000,建则超时),遍历边,若不在一个SCC中,用一个数组更新记录最小到达该连通分量的最小边权即可。。。边聊天,边1A,哈哈。。。 #include #include #include #include #include using namespace std;

2014-08-16 18:38:35 932

原创 hdu 3061 hdu 3996 最大权闭合图 最后一斩

hdu 3061 Battle :一看就是明显的最大权闭合图了,水提。。。。。。SB题也不说边数多少。。。。因为开始时候数组开小了,WA。。。。后来一气之下,开到100W,A了。。 hdu3996.  gold mine。。看了一下,简单题,几乎裸,不敲了。。 #include//Battle #include #include #include #include #inclu

2014-08-15 21:12:55 886

原创 hdu 3879 hdu 3917 构造最大权闭合图 俩经典题

hdu3879  base station : 各一个无向图,点的权是负的,边的权是正的。自己建一个子图,使得获利最大。 一看,就感觉按最大密度子图的构想:选了边那么连接的俩端点必需选,于是就以边做点,轻轻松松构造了最大权闭合图。简单题。分分钟搞定。 hdu3917 :road  constructions :这题题目看了半天没理解。。。感觉描述的不好。。。一个有向图,每条路有响应公司

2014-08-15 20:18:39 895

原创 hdu 4738 无向图缩点断桥 // 细节坑题

Caocao's Bridges 题意:给个无向图,求出边权最小的桥。 一看,直接缩点,若无桥,输出-1,有桥,遍历下边,更新最小。。分分钟搞定,以为IA的。。一交wa。。。 坑点:1:若原图不连通,则无须派人去!输出0!;             2:若桥的权是0,则还有派一个人把炸弹拿去,输出1!           3:有重边。(按多条边算)。 哎!记住这个教训!以后做题  1

2014-08-15 11:14:32 1017

原创 hdu3452 无向树去掉最小的边集使任何叶子与根不连通 / 最小割

思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割即可。注意无向树双向建边。基础题,分分钟1A: #include #include #include #include #include #include using namespace std; const int inf=0x3f3f3f3f; const int maxv=1005,maxe=10000; int nu

2014-08-15 09:43:45 1089

原创 hdu 3657 最小割的活用 / 奇偶方格取数类经典题 /最小割

题意:方格取数,如果取了相邻的数,那么要付出一定代价。(代价为2*(X&Y))(开始用费用流,敲升级版3820,跪。。。)     建图:  对于相邻问题,经典方法:奇偶建立二分图。对于相邻两点连边2*(X&Y),源->X连边,Y->汇连边,权值w为点权。    ans=总点权-最小割:如果割边是源->X,表示x不要选(是割边,必然价值在路径上最小),若割边是Y-汇点,同理;若割边是X->Y,

2014-08-14 22:10:25 882

原创 hdu 3081 hdu 3277 hdu 3416 Marriage Match II III IV //最大流的灵活运用

3081 题意:    n个女孩选择没有与自己吵过架的男孩有连边(自己的朋友也算,并查集处理),2分图,有些边,求有几种完美匹配(每次匹配每个点都不重复匹配)    我是建二分图后,每次增广一单位,(一次完美匹配),再修改起点还有终点的边流量,继续增广,直到达不到完美匹配为止。网上很多是用二分做的,我觉得没必要。。。(网上传播跟风真严重。。。很多人都不是真正懂最大流算法的。。。) 3277

2014-08-13 21:59:55 862

原创 hdu4240 求一条流量最大的路/(此题网上百分之90以上算法是错误的)

题意:求最大流/一条流量最大的路的流量。(此题HDU上数据水。) 思路1;每次增广的时候更新流量,保存最大的那条。  错误性:每次更新,有可能最大的那条流量是前几次已经增广过的(每次是增广多条的),使得最大的那条被分解了。网上有20%代码是这样的。(下面的第数据2,3不过了) 思路2:每次增广的时候,更新当前每条边的容量的最值。貌似可以,错误性:最大流量也有可能被分流击杀(数据4)。 我的解

2014-08-13 11:32:41 926

原创 hdu 3605 /状态合并最大流

题意:N个人去m个星球,给出n个人可以去哪些星球的01矩阵。求是否能满足所有人都去。(n到10万,m 一看,起先一瞬间就建图,准备秒了,人向星球连边,直接最大流判断是否为n,提交超时。。。是啊,10W*10=100W条边,铁定超时。。 后来经牛提示:注意,m #include #include #include #include #include using namespace std; c

2014-08-11 15:39:37 810

原创 hdu3338 / 方格横纵和问题终极版,最大流斩

此题被誉为神奇最大流,诱惑我去做了下,感觉也是通常的思路。 题意:1.用1-9去填,满足所给的行/列和要求(和那个什么游戏差不多。。。) 求一种合法方案,输出。如:                一看,直接就建图了,每个点在白色的点中间,由横和=纵和,管理横和的在左边,纵和的点在右边。S->横和点,纵和点到t,建图即可。 有一点注意,由于只能用1-9去填,是有上下界的网络流问题,所以

2014-08-11 10:34:24 1444

原创 hdu 4932 /bestcoder B题 #4 /思维题

题意:给一个数列(整数),用一些不相交的区间去覆盖(只能是用端点去覆盖,端点可以交)。而且区间出度相等。求最大区间长度。 开始一下就敲了,枚举每个区间长度,判断合法,更新最大。但是后来一看小数,感觉不行,改为二分,后来还是挂了。。。 赛后才知道,二分的时候,答案必需要满足单调性啊,这里小的数据不行,大的数据可以行!如 0 1 5 6 10, 3不行,4行。 后来才知道,枚举时,每个差值的一半

2014-08-11 10:07:51 841

原创 hdu4183往返经过至多每个点一次/最大流

题意:从s到t,每个点有f值,只能从f值小的到大的,到T后回来,只能从f值大的到 小的,求可行否。 往返,其实就是俩条路过去(每个点最多一次),所以想到流量为2,跑最大流,看是否满2,又要每个点最多一次的条件,故每个点拆为2个,都是常用的。 注意一下起点的拆点流量为2. #include #include #include #include using namespace std; cons

2014-08-07 19:42:59 1087

原创 hdu3572 任务分配/最大流判断满流

题意:将n个任务分配为m个机器,给每个任务需要的天数(无需每天连续),和可以在哪些天去做该任务,求是否存在方案。 典型的任务(X)----天(Y)二分最大流,(因为这里任务是与天的关系)处理器控制流量,源点向X部点,指需要的天数,任务xi,向可以做的天连,流量1,每个Y部点向汇点连流量为m,表示该天最多用M个机器。 ps:注意输出格式 #include #include #include #

2014-08-07 11:50:44 997

原创 hdu3947 给一些已知(需费用)路径去覆盖一些边 //预先加灌法费用流

River Problem 题意:一个有向树(河流),只有一个汇点1,每条边只有一个出度。有些河道有污染指数xi,必需要治理,有m段路径,可以去覆盖这些,每被覆盖一次,xi降低响应值。 :即 给出一些边必需要覆盖的次数,用m段路径去覆盖,每次覆盖有相应费用,求最小费用。 思路:这题被誉为难题,给一个网络流,给出一些边的流量下界,以及给用某些路段流量去流满足要求。这里与正常网络流相悖,是wi>

2014-08-06 16:48:07 1009 1

原创 hdu 4632 子字符串统计的区间dp

题意:查找这样的子回文字符串(未必连续,但是有从左向右的顺序)个数。 简单的区间dp,哎,以为很神奇的东西,其实也是dp,只是参数改为区间,没做过此类型的题,想不到用dp,以后就 知道了,若已经知道【0,i】,推【0,i+1】, 显然还要从i+1 处往回找,dp方程也简单:  dp[j][i]=(dp[j+1][i]+dp[j][i-1]+10007-dp[j+1][i-1])%10007;

2014-08-03 11:44:30 1064

原创 hdu4635 有向图最多添加多少边使图仍非强连通

思路:先缩点成有向无环图,则必然含有出度为0的点/入度为0的点,因为要使添加的边尽量多,最多最多也就n*(n-1)条减去原来的m条边,这样是一个强连通图,问题转化为最少去掉几条,使图不强连通,原来图中入度的点,若不添加入度,则必然不连通,同理出度为0的也一样,所以,找入度/出度为0的点中, ki(n-ki)最小的,这里KI是缩点后该SCC中的点数量,这个结果就是最小去掉的边数了。  思路清晰,1

2014-08-03 10:39:14 1615

原创 用“道”的思想解决费用流问题---取/不取皆是取 (有下界->有上界) / ACdreamoj 1171

题意: 给一个矩阵,给出约束:i(0       开始一见,就直接建了二分图,但是,发现这是有下界无上界最小费用流问题,肿么办。。。问题转化:所谓正难则反!现在某行/列要至少取k个,总和最小,不就是那行/列最多留下K个,使留下的和最大?其实也就是最多取k个,使值最大,转化为下界为0,有上界的最大费用问题(普通问题)。“取”,“不取”,本质都是一样的,正是“无为”的思想!取,则最小;不取,最大。道

2014-08-03 10:06:33 1079

原创 hdu2448 / 费用流 / harbin赛区c题

题(自)目(己)错(英)综(语)复(太)杂(差),关系理了半小时+翻译才看明白,看明白之后,直接建图,费用流击杀。/简单题。 2A:有的地方,可用互通的要建双向边! #include #include #include #include #include using namespace std; const int maxv=400; const int maxe=400*400*2+800;

2014-08-02 10:14:26 1106

原创 大数类模板(+-*/%等等)

注意:必需先定义,再使用。 #include #include using namespace std; #define DIGIT 4 //ËÄλ¸ô¿ª,¼´Íò½øÖÆ #define DEPTH 10000 //Íò½øÖÆ #define MAX 1000 typedef int bignum_t[MAX+1]; /**************

2014-08-02 08:43:30 924

原创 hdu4619 / 最大独立集

题意,一个矩阵,上面可以横放或者竖着放骨牌(1X2)保证横的与横的不重叠,竖的和竖的不重叠,求拿掉最小的牌,使所有的都不重叠。 分析:一看,不重叠就是没有边,拿最少,就是留最多,最大独立集啊!二分图,n+m个-最大流(最大匹配)=ans。 简单题。 #include #include #include #include using namespace std; const int inf=0

2014-08-01 16:51:59 1062

原创 hdu4888 多校B 最大流以及最大流唯一判断+输出方案

题意,给一个矩阵,告诉你每行和、每列和,并且限制所填数不大于k,问矩阵是否唯一。 经典建图不说了,第一次遇到判断最大流唯一性的,学习了:用dfs来判断残网中是否还存在环,若存在,则表明绕这个环走一圈,(流一圈流量),还是最大流保持不变,说明还有解。输出方案就EASY了。 WA了一天:第一TLE,因为这题卡DINIC,我的没有优化,后来在zz1215学长加了一行代码,在增广的时候,若发现最小总流

2014-08-01 14:59:09 1461 2

David Silver的强化学习Reinforcement Learning课程讲义PPT

David Silver的强化学习Reinforcement Learning课程讲义PPT 2017最新版

2018-05-03

空空如也

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

TA关注的人

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