摘要:
很巧妙的题首先有几种情况1. 有环 2.两点间有多条路径 3.其他3.显然最简单,最小是3,最大是每个弱联通块中最长链2.显然,两点间两条路径的差是答案的倍数1.出现环,那答案一定是其约数,那么最大答案就是所有环长的最大公约数,最小是最大的大于等于3的最小因数综合以上,我们就有了大概的思路,但是不好...
阅读全文
posted @ 2015-06-20 15:49
acphile
阅读(168)
推荐(0)
摘要:
比较好的树形dp,涉及到树上路径的题目,我们往往考虑对路径分类当我们考虑以x为根的子树,有这样几类路径1. 起点终点都在子树内2. 一个点延伸到子树外对于要选择另一个点在子树外的路径,要建立在不破坏儿子子树内的路径基础上因为破坏会破坏多条,而只能多选择一条,不合适因此我们考虑树dp,设f[x]为路径...
阅读全文
posted @ 2015-06-20 15:37
acphile
阅读(316)
推荐(0)
摘要:
忘写题解了,经典的最大密度子图可以类似分数规划的做,二分密度,然后转化为最大权闭合子图做,判断是否大于0注意方案的输出 1 const eps=1e-6; 2 lim=1e-12; 3 inf=1000000007; 4 type node=record 5 ...
阅读全文
posted @ 2015-06-20 15:00
acphile
阅读(198)
推荐(0)
摘要:
首先想到二分答案然后我们从大往小加区间,如果之前出现了一个区间包含当前区间那显然不合法,我们可以用并查集了维护 1 type node=record 2 x,y,mi,id:longint; 3 end; 4 5 var q:array[0..25010] of ...
阅读全文
posted @ 2015-06-13 14:18
acphile
阅读(256)
推荐(0)
摘要:
分组赛的题……madan原题,考试想不出来真是SB得不行首先,从大往小加边,每次加边如果成环必然弹出环上最大边考虑询问[x,y],如果边权在[x,y]的边弹出了小于等于y的边j,说明j不在最小生成树上其余边权在[x,y]的边都在最小生成树上因此我们每次只要询问,在一段区间内边权小于等于y的边权和是多...
阅读全文
posted @ 2015-06-13 14:15
acphile
阅读(538)
推荐(0)
摘要:
裸题,直接上凸包,然后加上一个圆周即可只是在这之前没写过旋转而已 1 const pi=3.14159265358979323; 2 eps=1e-8; 3 type point=record 4 x,y:double; 5 end; 6 7 var p:arr...
阅读全文
posted @ 2015-06-13 14:08
acphile
阅读(295)
推荐(0)
摘要:
分组赛时wy大神讲的题,网上都是随机化的题解我来讲一下正解吧,我们穷举两个点,这两点距离要小于限制然后我们分别以这两个点为圆心,两点距离为半径画圆圆圆相交的部分被两点练成线段划分成两部分,不难发现每个部分内点点之间的距离是小于限制的,很明显想到二分图对于上半部分与下半部分的两点,如果距离大于限制则连...
阅读全文
posted @ 2015-06-13 13:52
acphile
阅读(569)
推荐(0)
摘要:
分组赛讲课讲了APIO2015的题,于是回去就做完了稍微写一点题解吧bzoj4069 逐位处理的简单题,然后就是bool型dp然后a=1 的时候可以把一位状态干掉当一维状态单调且是bool型dp时,我们可以用dp表示这一维状态;类似的思想也在bzoj1937出现过 1 var s:array[0.....
阅读全文
posted @ 2015-06-13 12:17
acphile
阅读(393)
推荐(0)
摘要:
羞耻,分组赛上考的,竟然没想出来,对坐标离散化后区间dp即可,竟然还双倍经验 1 const inf=100000007; 2 var f:array[0..610,0..610] of longint; 3 v:array[0..10010] of longint; 4 a,b,h...
阅读全文
posted @ 2015-06-13 11:31
acphile
阅读(281)
推荐(0)
摘要:
同样的最小乘积XXX模型,这里显然是二分图带权匹配我不会写KM……于是写了个费用流,由于是稠密图,会退化到n^4然后本地跑了56s,交上去过了………………一定是我电脑太慢……改天写个KM吧 1 const inf=14000*14000; 2 type node=record 3 ...
阅读全文
posted @ 2015-06-13 11:30
acphile
阅读(309)
推荐(0)