「luogu4366」最短路】的更多相关文章

「luogu4366」最短路 传送门 直接连边显然不行,考虑优化. 根据异或的结合律和交换律等优秀性质,我们每次只让当前点向只有一位之别的另一个点连边,然后就直接跑最短路. 注意点数会很多,所以用配对堆优化 \(\text{Dijkstra}\) 即可. 参考代码: #include <cstring> #include <cstdio> #include <ext/pb_ds/priority_queue.hpp> #define rg register #defin…
题目描述 给出一个NN个顶点MM条边的无向无权图,顶点编号为1-N1−N.问从顶点11开始,到其他每个点的最短路有几条. 输入输出格式 输入格式: 第一行包含22个正整数N,MN,M,为图的顶点数与边数. 接下来MM行,每行22个正整数x,yx,y,表示有一条顶点xx连向顶点yy的边,请注意可能有自环与重边. 输出格式: 共NN行,每行一个非负整数,第ii行输出从顶点11到顶点ii有多少条不同的最短路,由于答案有可能会很大,你只需要输出ans \bmod 100003ansmod100003后的…
大家好我叫蒟蒻,这是我的第一篇信竞题解blog [题目描述] 策策同学特别喜欢逛公园. 公园可以看成一张 \(N\) 个点 \(M\) 条边构成的有向图,且没有自环和重边.其中 \(1\) 号点是公园的入口, \(N\) 号点是公园的出口,每条边有一个非负权值,代表策策经过这条边所要花的时间. 策策每天都会去逛公园,他总是从 \(1\) 号点进去,从 \(N\) 号点出来. 策策喜欢新鲜的事物,他不希望有两天逛公园的路线完全一样,同时策策还是一个特别热爱学习的好孩子,他不希望每天在逛公园这件事上…
[题目]#6354. 「CodePlus 2018 4 月赛」最短路 [题意]给定n个点,m条带权有向边,任意两个点i和j还可以花费(i xor j)*C到达(C是给定的常数),求A到B的最短距离.\(n \leq 10^5,m \leq 5*10^5\). [算法]异或优化建图+Dijkstra 正常建边O(n^2),与其考虑特殊边的处理不如考虑优化n^2的建边方案.一个点x到另一个点y的代价是由每个改变的数位得到的,所以枚举所有点x的每个数位j,从x向\(x \ \ xor \ \ 2^j\…
「bzoj1003」「ZJOI2006」物流运输-----------------------------------------------------------------------------------------------------------------------------------------Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便…
2090. 「ZJOI2016」旅行者 链接 loj 思路 \((l,mid)(mid+1,r)\).考虑跨过mid的贡献. 假设选的中间那条线的点为gzy,贡献为\(dis(x,gzy)+dis(gzy,y)\) 那就计算n遍最短路,一次分治为\(n^2mlog{nm}\) 设S=n*m.矩阵的长度是不定的,每次取最长的边进行分治是最好的,n最坏为\(\sqrt{n}\). \(f(n)=2*f(\frac{n}{2})+S\sqrt{S}logS.所以总的复杂度就是\)\(S\sqrt{S}…
「BZOJ3694」「FJ2014集训」最短路 首先树剖没得说了,这里说一下并查集的做法, 对于一条非树边,它会影响的点就只有u(i),v(i)到lca,对于lca-v的路径上所有点x,都可通过1-t-u-v-x,长度为dep[u]+dep[v]+w(i)-dep[x],lca-u同理, 将非树边按dep[u]+dep[v]+w(i)从小到大排序,显然每个点被前一条能更新他的边更新后即是最优解,此时将它与父亲节点合并,修改的时候用并查集向上修改即可. #include<algorithm> #…
「ZJOI2016」解题报告 我大浙的省选题真是超级神仙--这套已经算是比较可做的了. 「ZJOI2016」旅行者 神仙分治题. 对于一个矩形,每次我们从最长边切开,最短边不会超过 \(\sqrt{n\times m}\),所以对于每个点跑一遍最短路就行了. 时间复杂度 \(O(n\sqrt{n}\log n+q\sqrt{n})\) \(Code\ Below:\) #include <bits/stdc++.h> #define id(i,j) (((i)-1)*m+(j)) using…
「APIO2017」商旅 题目描述 在广阔的澳大利亚内陆地区长途跋涉后,你孤身一人带着一个背包来到了科巴.你被这个城市发达而美丽的市场所深深吸引,决定定居于此,做一个商人.科巴有 \(N\) 个集市,集市用从 \(1\) 到 \(N\) 的整数编号,集市之间通过 \(M\) 条 单向 道路连接,通过每条道路都需要消耗一定的时间. 在科巴的集市上,有 \(K\) 种不同的商品,商品用从 \(1\) 到 \(K\) 的整数编号.每个集市对每种商品都有自己的定价,买入和卖出商品的价格可以是不同的.并非…
「ZJOI2016」旅行者 对网格图进行分治. 每次从中间选一列,然后枚举每个这一列的格子作为起点跑最短路,进入子矩形时把询问划分一下,有点类似整体二分 至于复杂度么,我不会阿 Code: #include <cstdio> #include <cctype> #include <cstring> #include <queue> #include <vector> #include <algorithm> using std::mi…