最短路
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[BZOJ4152]The Captain
假设A,B,C三点,xA#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>#define ll long long#define pa pair<ll ,int>using namespace std;const int maxn=原创 2017-10-21 07:15:47 · 380 阅读 · 0 评论 -
[BZOJ3040]最短路
配对堆优化最短路。。。 代码:#include<iostream>#include<cstdio>#include<cstring>#include<ext/pb_ds/priority_queue.hpp>#define ll long long#define pa pair<ll ,int >using namespace std;using namespace __gnu_pb原创 2017-10-21 07:17:21 · 392 阅读 · 0 评论 -
[2017纪中11-9]玩游戏 最短路数+LCA
题面 考虑这样定义的最短路对应的最短路树恰好是最小生成树。因为add操作不多,每次暴力重构最短路树,询问的时候跑lca即可。复杂度O(n^2logn)。 代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define ll long longusing namespace std;in原创 2017-11-10 15:39:01 · 415 阅读 · 0 评论 -
[BZOJ1612]奶牛的比赛 传递闭包
考虑一个点的排名能被确定,当且仅当不存在另一个点与它互相不能到达。跑一边传递闭包,判断每个点是否满足上述条件即可。 代码:#include<iostream>#include<cstdio>using namespace std;int n,m,ans=0;bool f[110][110];int main(){ scanf("%d%d",&n,&m); for(int原创 2017-10-26 08:09:07 · 372 阅读 · 0 评论 -
[ARC084]D - Small Multiple 图论建模+最短路
题面 考虑每一个数都能从1通过以下两个操作得到: 1.乘10(数位和不变) 2.加1(数位和+1) 我们在模K意义下计算,把0~K-1中的每一个数看成一个点,i向i+1连一条权值为1的边,i向10i连一条权值为0的边,从1到0跑最短路或0/1BFS即可。 其实连续走10次及以上权值为1的边是非法的,但我们考虑到这样走一定不是最短路(可以在乘10之前走1步然后再乘10),所以不影响答案。原创 2017-12-06 19:33:46 · 583 阅读 · 0 评论 -
[2018雅礼省选集训3-25]bsh 分治最短路
因为是三角剖分,所以每一条对角线都把多边形分成两部分,于是考虑分治。 先找到一条把多边形分得比较均匀的对角线,对两个端点做一下bfs,处理掉起点和终点分别在这条对角线两侧的询问(分经过某个点或者经过这条边三种情况更新),然后继续分治直到三角形为止。 选对角线的时候直接选最远的即可。 代码:#include<iostream>#include<cstdio>...原创 2018-04-16 15:56:32 · 376 阅读 · 0 评论 -
[2018雅礼省选集训3-30]path 平面图最短路最小割
根据题意,题目给定的图是一个平面图。如果把111号点到不了的点和到不了nnn号点的点及所连边删掉,那么图就大概是有一条111到nnn的链,然后还有一些边覆盖在上面,这样的话它的对偶图就大概是一棵树。 再考虑颜色限制怎么搞,假设xxx与其父亲的边在原图中代表边(u,v)(u,v)(u,v),那么xxx在TTT割就表示不选u+1,...,v−1u+1,...,v−1u+1,...,v-1这些点的颜色...原创 2018-04-16 22:20:18 · 424 阅读 · 0 评论