新闻详情

新闻详情

首页 / 资讯中心 / 详情

打卡信奥刷题(3591)用C++实现信奥题 P11562 【MX-X7-T3】[LSOT-3] 寄存器

发布时间:2026/9/26 18:49:04来源:尧图网络
打卡信奥刷题(3591)用C++实现信奥题 P11562 【MX-X7-T3】[LSOT-3] 寄存器
P11562 【MX-X7-T3】[LSOT-3] 寄存器题目背景原题链接https://oier.team/problems/X7D。这里不是 APIO所以这个题也不是让你手搓 CPU。题目描述有n nn个寄存器编号为1 ∼ n 1 \sim n1∼n。这些寄存器由n − 1 n-1n−1条带有开关的电线连接。为了保证交换信息的顺利保证每两个寄存器都可以通过若干条电线连接。初始时每个寄存器存储的信息都是0 00。小 H 每次可以独立地操纵所有电线的开关然后选择一个寄存器通电。若一个寄存器与一个通电的寄存器有开启的电线相连则这个寄存器也会通电。所有通电的寄存器都会反转存储的信息0 00会变成1 111 11会变成0 00。小 H 想让寄存器存储他想要的信息他希望你告诉他最少需要进行多少次通电。输入格式第一行一个正整数n nn表示寄存器个数。第二行n nn个非负整数a 1 , … , a n a_1, \ldots, a_na1​,…,an​表示小 H 希望寄存器i ii存储a i a_iai​。保证a i a_iai​为0 00或1 11。接下来n − 1 n - 1n−1行每行两个正整数u , v u, vu,v表示寄存器u uu和v vv之间有一根电线。保证每两个寄存器都可以通过若干条电线连接。输出格式仅一行一个非负整数表示最少进行多少次通电。输入输出样例 #1输入 #15 1 0 0 1 0 1 2 2 3 2 4 3 5输出 #12输入输出样例 #2输入 #215 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 10 2 1 7 1 5 9 7 14 2 4 11 6 5 9 15 4 5 5 3 5 14 13 5 5 8 5 12输出 #24说明/提示【样例解释 #1】先将电线( 1 , 2 ) (1, 2)(1,2)关闭其余开启给寄存器1 11通电此时1 11的信息翻转所有寄存器存储的信息变为1 0 0 0 0。然后将电线( 2 , 4 ) (2, 4)(2,4)关闭其余开启给寄存器4 44通电此时4 44的信息翻转所有寄存器存储的信息变为1 0 0 1 0满足要求。可以证明不存在更优的方案。【数据范围】本题采用捆绑测试。子任务 120 分n ≤ 5 n\le 5n≤5。子任务 220 分对于第i ii根电线u i uiuiv i 1 vi1vi1。子任务 330 分不存在一对相邻的寄存器希望储存的信息相同。子任务 430 分无特殊性质。对于全部的数据1 ≤ n ≤ 10 6 1\le n\le 10^61≤n≤1061 ≤ u , v ≤ n 1\le u,v\le n1≤u,v≤n0 ≤ a i ≤ 1 0 \le a_i \le 10≤ai​≤1每两个寄存器都可以通过若干条电线连接。C实现#includebits/stdc.h#defineintlonglongusingnamespacestd;intn;inta[1000005]{114514};vectorintadj[1000005];intmaxp,maxd;voiddfs(intcur,intpar,intdeep){if(a[cur]!a[par])deep;if(a[cur]1deepmaxd){maxddeep;maxpcur;}for(inti:adj[cur])if(i!par)dfs(i,cur,deep);}signedmain(){ios::sync_with_stdio(0);cin.tie(nullptr);cinn;boolnoonetrue;// 特判一波全为0for(inti1;in;i){cina[i];if(a[i]1)noonefalse;}if(noone){cout0;return0;}for(inti1;in;i){intu,v;cinuv;adj[u].push_back(v);adj[v].push_back(u);}dfs(1,0,0);maxd0;dfs(maxp,0,0);cout(maxd1)/2;return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

video-use 工作流:用 ffmpeg、Remotion 和 Claude Code 打造视频处理流水线 2026/9/26 19:44:06

video-use 工作流:用 ffmpeg、Remotion 和 Claude Code 打造视频处理流水线

1. 项目缘起:为什么我要把视频处理这件事“工具化” 做内容这行时间长了,绕不开一个现实问题:视频处理的需求越来越碎。今天要批量给几十条素材统一转码,明天要给某条片子加个片头片尾,后天又得从一段长录屏里切出十几…

阅读更多 →
什么是acpx?一文看懂统一操控20+ AI编码代理的无头ACP客户端全景图 2026/9/26 19:44:06

什么是acpx?一文看懂统一操控20+ AI编码代理的无头ACP客户端全景图

什么是acpx?一文看懂统一操控20 AI编码代理的无头ACP客户端全景图 【免费下载链接】acpx Headless CLI client for stateful Agent Client Protocol (ACP) sessions 项目地址: https://gitcode.com/gh_mirrors/ac/acpx acpx 是一个无头(Headless&…

阅读更多 →
Codex 401 Unauthorized 错误排查:从 config.toml 到认证链路全解析 2026/9/26 19:44:00

Codex 401 Unauthorized 错误排查:从 config.toml 到认证链路全解析

1. 项目概述:Codex 更新后返回401 Unauthorized: Invalid token的本质是什么?Codex 不是 OpenAI 官方产品,而是由第三方开发者维护的本地化 AI 工具链,常用于在 VS Code、JetBrains 等 IDE 中集成代码补全、自然语言转代码、文档生…

阅读更多 →
Chrome浏览器下载安装、扩展管理与DevTools调试全攻略 2026/9/26 19:43:53

Chrome浏览器下载安装、扩展管理与DevTools调试全攻略

1. 从热搜词里读出的真实需求:大家到底在折腾Chrome什么 先把这批热搜词摊开看一遍,你会发现它们其实不是零散的,而是能归成几大类的。第一类是 下载与版本 :chrome下载、chrome浏览器下载、chrome 109、chrome 109 win7、chrom…

阅读更多 →
微信小程序云开发免费额度详解:独立开发者如何零成本搭建小程序 2026/9/26 19:43:47

微信小程序云开发免费额度详解:独立开发者如何零成本搭建小程序

1. 这次免费到底改了什么,为什么独立开发者最该关注微信小程序云开发推出免费额度这件事,我在几个开发者群里看到的第一反应是“终于等到了”,第二反应是“具体免到什么程度”。作为一个从2018年就开始用云开发做小项目、也帮朋友做过几个上线…

阅读更多 →
虚拟机Windows密码忘了怎么办?NTPWEdit离线重置SAM实操指南 2026/9/26 19:43:47

虚拟机Windows密码忘了怎么办?NTPWEdit离线重置SAM实操指南

1. 虚拟机里找回Windows登录密码这件事,到底靠不靠谱手里有一台虚拟机,Windows系统,密码忘了,进不去桌面。这种情况我遇到过不止一次,多数是测试环境里同事离职后留下的镜像,或者自己早期做实验时随手设的密…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉