06 2017 档案
摘要:poj2559 弄个单调递增栈扫一遍,然后每次出栈更新一下答案,再记录一下最小的坐标传给进栈元素就好啦。别忘了开LL... (好像这题还能dp 1 #include<cstdio> 2 #define N 100010 3 #define repu(i,x,y) for(i=x;i<=y;i++)
阅读全文
摘要:树的直径,即这棵树中距离最远的两个结点的距离。 方法一:用两次bfs,求出1的最远点x,再求x的最远点y,xy即为直径 1 #include<cstdio> 2 #define N 10001 3 #define repu(i,x,y) for(i=x;i<=y;i++) 4 struct edge
阅读全文
摘要:传送门 tarjan缩点后是个DAG,然后只有一个出度为0的点的话就输出该点的大小,否则为0。 1 #include<cstdio> 2 #define repu(i,x,y) for(i=x;i<=y;i++) 3 #define min(a,b) (a<b?a:b) 4 #define N 50
阅读全文
摘要:传送门 每个联通块看成一个整体,然后做个背包就好啦。 1 #include<cstdio> 2 #define N 10001 3 #define repu(i,x,y) for(i=x;i<=y;i++) 4 #define max(a,b) (a>b?a:b) 5 struct edge{ 6
阅读全文
摘要:强连通分量 推荐:https://www.byvoid.com/zht/blog/scc-tarjan/ 1 #include<cstdio> 2 #include<cstring> 3 #define repu(i,x,y) for(i=x;i<=y;i++) 4 #define N 2001 5
阅读全文
摘要:传送门 还以为要打很长呢。 1 #include<cstdio> 2 #define N 51 3 #define repu(i,x,y) for(i=x;i<=y;i++) 4 #define max(a,b) (a>b?a:b) 5 int n,m,a[N][N],f[N][N],x=0,s[N
阅读全文
摘要:传送门 最近在写usaco的题。。 这个考虑到同种操作是可以抵消的,然后就从初状态开始枚举就好了。 1 #include<cstdio> 2 #include<algorithm> 3 #define repu(i,x,y) for(i=x;i<=y;i++) 4 #define min(a,b)
阅读全文

浙公网安备 33010602011771号