zoj3888】的更多相关文章

题目简化后最终要求的就是第二大的数.但是由于数据较大,不能直接求.可以先预处理,求出所有情况. #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct node { int from; int to; }; struct Node { int max1; int max2;//di er ge }; node a[]; ]; bool cmp(node aa…
题意:有n年,其中m年可以乘时光机回到过去,q个询问 下面m行,x,y 表示可以在y年穿越回x年, 保证y>x 下面q个询问, 每个询问有个年份k 问的是k年前面 有多少年可以通过一种以上($\ge 2$)方法穿越回去的, 其中时光机只能用一次 比如案例 如图 对于询问 6这一年:1.穿越回第1年  2.等时间过呀过呀过到第9年,再穿越回第1年 那么第1年就有两种方法可以穿越回去, 同理, 2.3.4年也有同样两种方法(回到1再等时间过呀过 过到2.3.4) 所以对于6, 有一种以上方法回去的年…
题解: 维护比这个大的第二大 代码: #include<cstdio> #include<algorithm> #include<queue> #include<cstring> using namespace std; int i,j,n,m,q,c; struct node { int a,b; }p[]; bool cmp(node a,node b) { if(a.a!=b.a) return a.a>b.a; return a.b>b.…