当前位置: 首页 > news >正文

CF2112D(div2) D. Reachability and Tree R1700

题意:给定一个含有n个点的树,现在要求选择改变所有边的方向,使得:对于1-n的每个点,它们各自能够通过边到达的其他点的个数的和恰好为n。

思路:
1.首先,num == n这个条件非常苛刻:因为一条边无论是什么方向,它对总个数的贡献至少为1,也就是说,num至少为n - 1。
2.先考虑什么情况下可以达到 num = n - 1 : 当边方向交替的时候便可以。 如 1 -> 2 <- 3
3.那么什么情况下,怎么改变其中一条边的方向,可以让num恰好+1呢?其实不难发现:把交替方向的 1->2-<3改成 1->2->3即可。
4.然后注意到,貌似当deg[i] > 2的时候,就无法对一个部分改变其中一条边的方向,使得它对num的贡献恰好+1了。
5.于是寻找一个deg == 2的点,开始dfs构造边,当遇到k的时候就翻转方向。

细节:我们选取dfs的开始点为g[k][0],避免从K开始导致k被跳过处理了。

code:

#include<bits/stdc++.h>
using namespace std;
#define maxn 200005
vector<int> g[maxn];
int deg[maxn];
int k = -1;void dfs(int p, int fa, bool op) {if (p == k) op = !op;for (int x : g[p]) {if (x != fa) {if (op) cout<<p<<" "<<x<<endl;else cout<<x<<" "<<p<<endl;dfs(x, p, !op);}}
}void solve() {int n; cin>>n;for (int i = 0; i <= n; ++i) {g[i].clear();deg[i] = 0;}for (int i = 0; i < n - 1; i++) {int u, v; cin>>u>>v;deg[u]++;deg[v]++;g[u].push_back(v);g[v].push_back(u);}k = -1;for (int i = 1; i <= n; ++i) {if (deg[i] == 2) {k = i;break;}}if (k == -1) {cout<<"NO"<<endl;return;}cout<<"YES"<<endl;int s = g[k][0];dfs(s, s, 1);return;
}int main() {int tt; cin>>tt;while (tt--) solve();
}
http://www.jsqmd.com/news/115097/

相关文章:

  • 【AI开发必备】Dify接入本地大模型实战指南,小白也能5分钟搞定!告别API收费,手把手教你搭建私有知识库!
  • Storm集群的安装-cnblog
  • 基于C#实现的支持五笔和拼音输入的输入法
  • 2025年广东十大广告公司实力排行榜,服务大品牌的广告大型公司推荐精选优质厂家 - 品牌推荐师
  • Playwright 文件上传与下载完成判断全指南
  • 2025.12.20 Record
  • Open-AutoGLM非root权限实战指南(99%人忽略的关键细节)
  • 2025-2026北京离婚律师口碑排名榜 权威测评靠谱律所实力解析 - 苏木2025
  • 从数据库到事件流:现代清结算系统架构全指南
  • Java虚拟机是什么?新手小白带你入门,收藏这篇就够了
  • 从0到1部署Stanford CoreNLP:中英文模型配置与实战指南
  • 【硬核干货】大模型+医疗知识:图神经网络实现药物重定位的完整指南
  • 【Open-AutoGLM本地部署终极指南】:手把手教你从零搭建高效AI推理环境
  • 近五年体内微/纳米机器人赋能肿瘤精准治疗综述:以 GBM 为重点
  • 赛迪CCID重磅发布《2025年中国信用修复行业白皮书》 - 博客万
  • Linux 的 Port Knocking 端口碰撞(端口敲门)
  • 2025年MBTI人格测试官方入口选择指南:4个基于信效度数据的热门MBTI测试网站评估 - 博客万
  • 北京婚姻律师哪家好?2025-2026最新数据支撑的专业推荐指南 - 老周说教育
  • 掌握Open-AutoGLM三大调优技巧,快速提升语义解析准确率
  • 2025北京西装定制店优质推荐指南:从需求到共鸣的工艺之旅 - 真知灼见33
  • 渗透测试之SSRF漏洞原理危害、产生的原因、探测手法、防御手法、绕过手法、限制的手段
  • 从夯到拉!大模型热门岗位揭秘!传统程序员如何破局,逆袭成为 AI 时代佼佼者
  • 2025/12/20 今天学的day8的lecode的242
  • 进口热门维生素D3十大榜单:2025高口碑维生素D3品牌推荐 - 博客万
  • Open-AutoGLM定位修正黑科技(仅限内部使用的3个参数调整技巧)
  • Open-AutoGLM操作序列优化进阶:如何用动态规划实现生成路径最优解?
  • 这可能是全网最详细的黑客网络钓鱼攻击教程,一文教会你网络钓鱼的各种骚操作!
  • 位运算表
  • 渗透测试之文件上传漏洞目录穿越漏洞教程,网络安全零基础入门到精通教程!
  • Wireshark流量分析例题详解,网络安全零基础入门到精通实战教程!