摘要: "传送门" 我讨厌dfs……题解不想写……自己看吧…… "这里" 阅读全文
posted @ 2018-11-29 22:23 bztMinamoto 阅读(214) 评论(0) 推荐(0) 编辑
摘要: "传送门" →_→唯一一篇能看得懂的题解 "这里" 很容易想到二分+网络流,然而并没有什么卵用……出题人的思路太神了…… 首先考虑如果一块奶酪在同一时间可以被多只老鼠吃的话,该如何建图。首先不难发现可以把时间离散化代表不同的时间段,然后把每只老鼠按对应的时间拆点。从源点向奶酪连边容量$p[i]$,然 阅读全文
posted @ 2018-11-29 21:10 bztMinamoto 阅读(235) 评论(0) 推荐(0) 编辑
摘要: "传送门" 很显然,除非白子和黑子相邻,否则必然是黑子获胜~~虽然我并没有看出来~~ 那么现在对黑子来说它要尽可能快的赢,对白子它要多苟一会儿 然后就是这个叫做对抗搜索的东西了 //minamoto include define fp(i,a,b) for(register int i=a,I=b+ 阅读全文
posted @ 2018-11-29 18:11 bztMinamoto 阅读(226) 评论(0) 推荐(0) 编辑
摘要: "传送门" 如果把速度看成斜率,起始位置看成截距,这就是一个水平可见直线了…… 不过这题里我实现方法借鉴了CQzhangyu大佬的,先按速度排序,然后维护一个单调栈,如果当前的人速度比栈顶大距离又比它远直接弹出栈顶,或者如果它和栈顶的交点在栈顶和之前一条直线交点的左边那么也要弹出栈顶 虽然硬说起来其 阅读全文
posted @ 2018-11-29 16:46 bztMinamoto 阅读(101) 评论(0) 推荐(0) 编辑
摘要: "传送门" 完全看不出这思路是怎么来的…… 首先对于两个亲戚,他们监视范围的边界是他们连线的中垂线。那么对于一个亲戚来说它能监视的范围就是所有的中垂线形成的半平面交 然后如果某两个亲戚的监视范围有公共边,那么就在这两个亲戚之间连一条边,如果某个亲戚的监视范围和矩阵边界有公共边,那么就把这个亲戚和终点 阅读全文
posted @ 2018-11-29 16:22 bztMinamoto 阅读(144) 评论(0) 推荐(0) 编辑
摘要: "洛谷题面" 圆方树还真是个神奇的玩意儿…… 我们先考虑询问,对一个点双来说,经过这个点双的时候能走到的最小值肯定是这个点双内的最小值,那么只要对于每个点双把它的权值设成它里面所有点的最小值,那么就可以在建出广义圆方树之后用树链剖分求出路径最小值了 然而这里有询问,一个想法是对每个点双开一个mult 阅读全文
posted @ 2018-11-29 15:08 bztMinamoto 阅读(216) 评论(0) 推荐(0) 编辑
摘要: "传送门" 总算知道圆方树是个什么玩意儿了…… 首先我们构造出这个仙人掌的圆方树(不知道圆方树是什么玩意儿的可以看看yyb巨佬的 "博客" ) 先tarjan缩点,把每一个环都给建出一个方点,然后圆点和方点之间的边的权值为这个圆点到环上深度最小的点的最短距离(因为这是个环所以两边走的距离不一样的), 阅读全文
posted @ 2018-11-29 13:54 bztMinamoto 阅读(157) 评论(0) 推荐(0) 编辑
摘要: "传送门" 仙人掌直径,以前好像模拟赛的时候做到过一道基环树的直径,打了个很麻烦的然而还错了……今天才发现那就是这个的弱化版啊…… 如果是树的话用普通的dp即可,记$f[u]$表示$u$往下最长能伸多少。我们用一个类似tarjan的做法,在dfs的过程中记录dfn和low,如果某条边不在环内,那么这 阅读全文
posted @ 2018-11-29 12:54 bztMinamoto 阅读(200) 评论(0) 推荐(0) 编辑
Live2D