首页 > TAG信息列表 > nowV
P5021 [NOIP2018 提高组] 赛道修建 思路简记
发现答案具有单调性,尝试一下二分答案能不能做 二分答案 \(t\) 后,问题的关键就变成最多能找到多少条长度大于等于 \(t\) 的赛道 我们先假设整棵树以 \(1\) 为根 把样例的图放出来: 我们可以发现一个性质: 如果一个链,它经过了结点 \(i\) 的父结点,同时包含了 \(i\) 到子结点的某条边,那P1144 最短路计数
题目地址 注意点: 本题需要开双向边. #include<cstdio> #include<iostream> #include<queue> #include<cstring> #define int long long using namespace std; const int MAXN=2e6,MAXM=4e6,INF=2e9,MOD=100003; struct Edge{ int from,to,w,nxt; }e[MAXM];T103440 【模板】缩点
题目地址 #include<cstdio>#include<iostream>using namespace std;const int MAXN=1e5,MAXM=1e6;struct Edge{ int from,to,nxt;}e[MAXM];int head[MAXN],edgeCnt=1;void addEdge(int u,int v){ e[++edgeCnt].from=u; e[edgeCnt].to=v; e[edgeCnt].nxt=head[u]; heAW365 圆桌骑士
题目地址 易错点: 为了防止错误加边(自环,即i==j),可将加边时的第二层遍历从i+1开始,由对称性可知加边无错误. vector直接用[]比at()更美观. 对于每个dcc都要重置一次color,这是因为同一个点可能属于多个dcc. #include<cstdio> #include<iostream> #include<cstring> #include<vect