随笔分类 -  训练记录

每场组队记录
摘要:题目链接 DAG最小路径覆盖裸题 包括两类 最小不相交路径覆盖:任意两路径不相交. 最小可相交路径覆盖: 对于不相交问题, 转换为二分图匹配: 将每个点拆成Ax,Ay两个点, 如果有A->B的边,就在二分图中加边Ax->By容量为1 最后最小路径覆盖为(结点数-匹配数). 证明: 如果两点匹配,那么 阅读全文
posted @ 2021-03-22 13:04 naymi 阅读(29) 评论(0) 推荐(0)
摘要:题意:在马路上有n辆车在你前方,每辆车有三个属性:车长,车头离终点线距离,最大速度; 道路狭窄不能超车,问你最快多久能到达终点,每辆车到达终点之后还是会继续行驶,当你的车头到达终点时就认为你到达了终点 思路:一眼二分时间,关键是怎么check: 考虑我到达终点时前面的车需要到达的位置:终点向前走pr 阅读全文
posted @ 2021-03-16 22:05 naymi 阅读(38) 评论(0) 推荐(0)
摘要:问题是确定断开最短的边使得从1到n最短路长度增加 转化成两个问题: 确定边在最短路上 确定断开最短路上的那一条边 对于第一个问题,如果边(u,v)在最短路上则dis(1,u) + cost(u,v) + dis(v,n) = dis(1,n) dis(a,b)代表从a到b的最短距离 其中,dis(1 阅读全文
posted @ 2021-03-16 21:38 naymi 阅读(48) 评论(0) 推荐(0)
摘要:判断点是否在多边形内,射线法O(n) 如果对每个点顺序地判断每个小四边形,算下复杂度O(n*m),显然tle 可以二分优化,注意二分终点是l + 1 < r. const int maxn = 1e5 + 7; int u[maxn], l[maxn]; const double eps = 1e- 阅读全文
posted @ 2021-03-15 19:11 naymi 阅读(36) 评论(0) 推荐(0)
摘要:二分 + 最小生成树 容易看到d可以二分,小于d边的直接连接, 最后check的是并查集里面父节点个数 const int maxn = 5e5 + 7; const double esp = 1e-9; int t, s, p, cnt, fa[maxn]; double x[maxn], y[m 阅读全文
posted @ 2021-03-14 23:08 naymi 阅读(60) 评论(0) 推荐(0)