#include
using namespace std;
const int N = 1010;
const int M = 1000010;
struct node {
int l, r, s, t;
} que[M];
int n, m, q, dis[N][N], ans[M];
pair ed[M];
vector vec[M];
int main() {
cin >> n >> m >> q;
for(int i=1; i> ed[i].first >> ed[i].second;
for(int i=1; i> que[i].l >> que[i].r >> que[i].s >> que[i].t;
for(int i=1; i<=q; i++)
ans[i] += (que[i].s == que[i].t);
for(int i=1; i<=q; i++)
vec[que[i].l].emplace_back(i);
for(int i=1; i<=n; i++)
for(int j=1; j=1; i--) {
int u = ed[i].first, v = ed[i].second;
dis[u][v] = dis[v][u] = i;
for(int w=1;w<=n;w++)
dis[u][w] = dis[v][w] = min(dis[u][w], dis[v][w]);
for (int x : vec[i])
ans[x] |= (dis[que[x].s][que[x].t] <= que[x].r);
}
for(int i=1; i<=q; i++) cout << (ans[i] ? "Yes" : "No") << '\n';
}
看到一半,挂一下
1.11之争
博弈论博弈dp,鉴定为打太少导致的。
场打搜索15分,还有15分单y单o的判断不知道为什么错了。
2.环球旅行
扫描线,按序号边加边边跑,如上,看一半,挂一下