当前位置: 首页 > 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.rkmt.cn/news/127034.html

相关文章:

  • 【AI开发必备】Dify接入本地大模型实战指南,小白也能5分钟搞定!告别API收费,手把手教你搭建私有知识库!
  • 基于C#实现的支持五笔和拼音输入的输入法
  • 从数据库到事件流:现代清结算系统架构全指南
  • 掌握Open-AutoGLM三大调优技巧,快速提升语义解析准确率
  • 【Open-AutoGLM本地部署终极指南】:手把手教你从零搭建高效AI推理环境
  • 从夯到拉!大模型热门岗位揭秘!传统程序员如何破局,逆袭成为 AI 时代佼佼者
  • 进口热门维生素D3十大榜单:2025高口碑维生素D3品牌推荐 - 博客万
  • 从0到1部署Stanford CoreNLP:中英文模型配置与实战指南
  • Open-AutoGLM定位修正黑科技(仅限内部使用的3个参数调整技巧)
  • 2025北京西装定制店优质推荐指南:从需求到共鸣的工艺之旅 - 真知灼见33
  • Open-AutoGLM操作序列优化进阶:如何用动态规划实现生成路径最优解?
  • 相位补偿技术在PMSM滑模观测器与PLL仿真模型中的应用:波形优化与效果评估
  • COMSOL仿真 无损检测-电磁检测 包括涡流检测,漏磁检测,脉冲涡流、弱磁检测,ACFM,磁...
  • Web渗透测试之信息收集—高阶手法CDN绕过方法大全,找到你想要的真实IP地址!
  • Linux 的 Port Knocking 端口碰撞(端口敲门)
  • 2025年啤酒生产设备生产厂家权威推荐榜单:精酿啤酒设备厂家/啤酒厂设备/大型啤酒厂设备源头厂家精选 - 品牌推荐官
  • Spring Boot 机制一: 自动配置原理源码级深度讲解 - 教程
  • 如何在PHP中实现接口的多继承?
  • 7D互动影院革新娱乐体验,探秘5D影院设备生产厂家
  • 【收藏向】大模型系列:从原理到代码,零基础吃透LLM训练与推理
  • 重磅消息!ESXi 8.0 系列推出ESXi 8.0 Update 3h 更新重要版本啦
  • 【保姆级教程】Attention机制全解析!用PyTorch手写Transformer,大模型开发入门到精通!
  • 2025公共金属家具制造企业TOP5权威测评:河北优美实力怎么样 - mypinpai
  • 【必收藏】2025大模型浪潮下,程序员的职业突围指南:从被动淘汰到主动领跑
  • 从《黑镜》科幻预言到现实:AI 2027-2042年冲击全解析(附大模型学习路线+资料,建议收藏)
  • 2025-2026北京专业离婚律师评测推荐榜单:核心亮点与服务优势全攻略 - 老周说教育
  • 基于单片机的开关电源设计
  • 2025年育发生发液产品综合盘点:生发育发液/止脱生发/防脱生发深度解析与品牌参考 - 品牌推荐官
  • 8 个 AI 写作工具,MBA 论文写作不再难!
  • latex 公式 cheatsheet