题目 题意: 给定n个点的无向图,你现在可以给每条边规定对应的方向,求最长路径的最小值和最大值. 思路: 最小值就n-1,n个点。 最大值要构造对应的欧拉通路,因为欧拉通路可以走遍图中所有点。 若n为奇数,每个点都是偶度顶点,可以构造出,而且有欧拉回路。 若n为偶数,每个点都是奇度顶点,需要删一定的边构造。只要留两个奇度顶点即可,每条边影响两个点,删去(n/2-1)条边即可。 时间复杂度: O(1) 代码:
// Problem: 小沙的长路
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/23477/E
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;i>T;
// read(T);
while(T--)
{
solve();
}
return 0;
}