因为是双向边,所以相当于两条到1的最短路和,先跑spfa然后直接处理询问即可 #include<iostream> #include<cstdio> #include<queue> using namespace std; const int N=50005,inf=1e9; int n,m,b,h[N],cnt,dis[N]; bool v[N]; struct qwe { int ne,to,va; }e[N<<2]; int read() { int…
裸最短路.. ------------------------------------------------------------------------------------ #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<queue>   #define rep( i , n ) for( int i = 0 ; i &…
http://www.lydsy.com/JudgeOnline/problem.php?id=2015 这种水题真没啥好说的.. #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream> #include <algorithm> #include <queue> using namespace s…
2015: [Usaco2010 Feb]Chocolate Giving Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 269  Solved: 183[Submit][Status] Description Farmer John有B头奶牛(1<=B<=25000),有N(2*B<=N<=50000)个农场,编号1-N,有M(N-1<=M<=100000)条双向边,第i条边连接农场R_i和S_i(1<=R_i&…
正反加边分别跑spfa最短路,把两次最短路的和求个max就是答案 #include<iostream> #include<cstdio> #include<queue> #include<cstring> using namespace std; const int N=2005,M=200005; int n,m,s,x[M],y[M],z[M],h[N],cnt,c[N],d[N]; bool v[N]; struct qwe { int ne,to,v…
洛谷数据好强啊,普通spfa开o2都过不了,要加双端队列优化 因为是双向边,所以dis(u,v)=dis(v,u),所以分别以pa1和pa2为起点spfa一遍,表示pb-->pa1-->pa2和pb-->pa2-->pa1,取个min即可 #include<iostream> #include<cstdio> #include<queue> using namespace std; const int N=200005,inf=2e9+7; in…
Description Farmer John有B头奶牛(1<=B<=25000),有N(2*B<=N<=50000)个农场,编号1-N,有M(N-1<=M<=100000)条双向边,第i条边连接农场R_i和S_i(1<=R_i<=N;1<=S_i<=N),该边的长度是L_i(1<=L_i<=2000).居住在农场P_i的奶牛A(1<=P_i<=N),它想送一份新年礼物给居住在农场Q_i(1<=Q_i<=N)的…
明明是个最短路却有网络流一样的神建图= A = 首先要是暴力建图的话最坏有O(nm)条边.所以优化建图. 考虑分块思想,设bs=sqrt(n),对于p大于bs的,直接连边即可,最多有sqrt(n)条,注意边权不全是1了,因为要从b走过去:对于p小于等于bs,先把每栋楼建sqrt个辅助点,然后这些辅助点向原点连边,其中i点的辅助点j表示i栋楼可以跳p步.这些辅助点同层之间连双向边.然后对于一只狗,直接连接b点与b点的第p辅助点即可. spfa即可 然而事实证明bs取sqrt甚至会re,直接取100…
直接bfs,在过程中更新方案数即可 #include<iostream> #include<cstdio> #include<queue> using namespace std; const int N=55,inf=1e9,dx[]={1,1,-1,-1,2,2,-2,-2},dy[]={2,-2,2,-2,1,-1,1,-1}; int n,m,a[N][N],b[N][N],dis[N][N]; long long f[N][N]; bool v[N][N];…
[bzoj 1782] [Usaco2010 Feb]slowdown慢慢游 Description 每天Farmer John的N头奶牛(1 <= N <= 100000,编号1-N)从粮仓走向他的自己的牧场.牧场构成了一棵树,粮仓在1号牧场.恰好有N-1条道路直接连接着牧场,使得牧场之间都恰好有一条路径相连.第i条路连接着A_i,B_i,(1 <= A_i <= N; 1 <= B_i <= N).奶牛们每人有一个私人牧场P_i (1 <= P_i <=…