Codeforces Round #686 (Div. 3)
比赛链接
Codeforces Round #686 (Div. 3)
F. Array Partition
判断是否能将一个长度为 的数组分成 部分,使得两边的最大值都等于中间的最小值
解题思路
st,二分,前缀最值
可以先处理前缀最值和后缀最值,用后缀最值遍历后部分,中间部分用 表维护最小值,将前部分和中间部分满足条件的区间二分出来再判断即可
- 时间复杂度:
代码
E. Number of Simple Paths
求一棵基环树的简单路径的数量
解题思路
容斥原理
假设所有点对之间都有两条路径,则数量为 ,利用容斥原理,减去只有一条路径的点对数量即可,即对于基环上的点,设其子树大小为 ,子树上的任意两点都只有一条路径,其数量为 ,求环上的点可以利用拓扑排序不断将所有度数为 的清除掉,剩下的点即为环上的点// Problem: E. Number of Simple Paths
// Contest: Codeforces - Codeforces Round #686 (Div. 3)
// URL: https://codeforces.com/contest/1454/problem/E
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
// %%%Skyqwq
include <bits/stdc++.h>
//#define int long long
define help
define pb push_back
define fi first
define se second
define mkp make_pair
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
typedef pair<LL, LL> PLL;
template
template
template
int f = 1; x = 0; char s = getchar();
while (s < '0' || s > '9') { if (s == '-') f = -1; s = getchar(); }
while (s <= '9' && s >= '0') x = x * 10 + (s ^ 48), s = getchar();
x *= f;
}
const int N=2e5+5;
int t,n,de[N],sz[N];
bool v[N];
vector
int dfs(int x,int fa)
{
sz[x]=1;
for(int y:adj[x])
{
if(!v[y]||yfa)continue;
dfs(y,x);
sz[x]+=sz[y];
}
return sz[x];
}
int main()
{
for(cin>>t;t;t--)
{
cin>>n;
for(int i=1;i<=n;i++)adj[i].clear(),de[i]=v[i]=sz[i]=0;
for(int i=1;i<=n;i++)
{
int x,y;
cin>>x>>y;
adj[x].pb(y),adj[y].pb(x);
de[x]++,de[y]++;
}
queue
for(int i=1;i<=n;i++)
if(de[i]
while(q.size())
{
int x=q.front();
q.pop();
for(int y:adj[x])
if(--de[y]==1)q.push(y),v[y]=1;
}
LL res=1lln(n-1);
for(int i=1;i<=n;i++)
if(!v[i])
{
int sz=dfs(i,0);
res-=1llsz(sz-1)/2;
}
cout<<res<<"\n";
}
return 0;
}
- 时间复杂度:
代码
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/16571279.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!