GYM106191E-Leaf

news/2025/11/18 16:38:22/文章来源:https://www.cnblogs.com/NDAKJin/p/19238400

GYM106191E-Leaf

题目大意:

有一张隐藏的, \(n\) 个节点的有向图。你的目标是在 \(n\) 次查询内,找到这张图的任一叶子节点,或没有则输出 \(-1\)

你的查询操作:

输出两个点集:\(S\)\(T\) ,它们是集合 \(\{1,2,3, \ldots \ldots, n\}\) 的子集。集合 \(S\)\(T\) 可以有交集。

系统将会返回,从 \(S\) 出发,到 \(T\) 结束的边的数量。

\(Hint\)

特殊的,当 \(S==T\) 时,系统返回的值即为,集合中的点构成的子图的边数。

题解

要找到一个叶子节点,即找到一个点,出度+入度为 \(0\)。可以发现,单独把一个节点,和剩余节点作为两个集合,一次查询只能得到入度或出度的信息。我们无法在 \(O(n)\) 时间内维护出每个点。

根据 \(Hint\) ,我们可以先查询所有点的集合,得到全图的边数 \(tot\)

再依次查询除去第 \(i\) 个点的集合。可以发现用全图边数减去每次查询的结果,得到的就是第 \(i\) 个点的度。度为 \(1\) 即说明该点为叶子节点。

但是这样查询,一共使用了 \(n+1\) 次查询,比题目要求多了一次。一张图中的边数是固定的,所以最后第 \(n\) 个点的度,可以通过 总度数 \(tot*2\) 减去其余每个点的度数得到。这样我们就只使用了 \(n\) 次查询操作,就得到了所有点的度。

#include<bits/stdc++.h>
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define umap unordered_map
//#define endl '\n'
using namespace std;
using i128 = __int128;
const int mod =1e9+7;
template <typename T>void read(T&x){x=0;int f = 1;char c=getchar();for(;!isdigit(c);c=getchar())if(c=='-')f=-1;for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);x*=f;
}
template <typename T>void print(T x) {if (x < 0) { putchar('-'); x = -x; }if (x > 9) print(x / 10);putchar(x % 10 + '0');
}
#define int long long
const int N=500005;
const int M=2000005;
inline void solve()
{int n;cin>>n;cout<<"? "<<n<<" ";for(int i=1;i<=n;i++) cout<<i<<" ";cout<<n<<" ";for(int i=1;i<n;i++) cout<<i<<" ";cout<<n<<endl;int tot;cin>>tot;vector<int> edge(n+1); for(int i=1;i<n;i++){cout<<"? "<<n-1<<" ";for(int j=1;j<i;j++) cout<<j<<" ";for(int j=i+1;j<=n;j++) cout<<j<<" ";cout<<n-1<<" ";for(int j=1;j<i;j++) cout<<j<<" ";for(int j=i+1;j<n;j++) cout<<j<<" ";cout<<n<<endl;cin>>edge[i];edge[i]=tot-edge[i];}edge[n]=2*tot;for(int i=1;i<n;i++) edge[n]-=edge[i];for(int i=1;i<=n;i++){if(edge[i]==1){cout<<"! "<<i<<endl;return;}}cout<<"! "<<-1<<endl;
}signed main()
{ios;int T=1;cin>>T;for(;T--;) solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/969104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebSocket使用教程 整合springboot

1.pom文件引入<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>2.编写websocket 的配置类 这个配…

【C++】哈希表 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

linux apache配置文件

在 Linux 系统中,Apache 服务器的配置文件通常位于 /etc/apache2/ 目录下,主要配置文件是 apache2.conf。以下是一些常见的 Apache 配置文件相关操作和命令,帮助你管理 Apache 服务器:一、查看 Apache 配置文件 # …

2025年隔离器厂家实力榜:细胞治疗隔离器、无菌粉体原料药隔离器、负压隔离器、多类型隔离器五家企业凭技术与口碑出圈

随着生物医药、实验室科研、医疗健康领域的快速发展,隔离器作为保障无菌环境、生物安全的核心设备,其技术稳定性与合规性成为市场关注焦点。在无菌隔离器、细胞治疗隔离器、无菌粉体原料药隔离器等主流品类中,一批具…

论文大纲模版怎么用?看完这篇全明白!

论文大纲是论文的骨架,然而很多人不知如何正确使用大纲模板。本文详细探讨了论文大纲模版的使用方法,并介绍了论文创作工具鲲鹏智写。文中分析了大纲模版的基本结构,讲解了如何根据论题选择合适的大纲模版,阐述了使…

2025年国内产品认证机构权威评测:昆明英格尔管理咨询有限公司蝉联榜首

摘要 2025年产品认证行业迎来新一轮发展机遇,随着国家对产品质量监管的加强和企业国际化需求的提升,认证服务市场需求持续增长。本文基于行业数据分析和用户口碑调研,为您呈现2025年国内产品认证机构综合排名,并提…

[题解]P2340 [USACO03FALL] Cow Exhibition G

P2340 [USACO03FALL] Cow Exhibition G 用 \(f[i][j][k]\) 表示前 \(i\) 个元素,智商之和为 \(j\),情商之和为 \(k\)。这样表示显然很冗余,因为答案已经包含在状态里面了。 一个常见的技巧是将键挪到值处,即用 \(f…

基于模型预测控制的主蒸汽温度单步预测MATLAB实现

一、核心算法框架 主蒸汽温度预测控制采用模型预测控制(MPC)框架,包含以下关键模块:动态模型:描述温度系统动态特性 滚动优化:单步预测与控制量求解 约束处理:温度/流量限制二、MATLAB代码实现(分步详解) 1. …

2025年自动化绕线机订制厂家权威推荐:电机自动绕线机/小型自动绕线机/全自动电机绕线机源头厂家精选

随着电机、变压器和电感器等电子元件需求持续增长,全球绕线设备市场正迎来智能化升级浪潮,高效、精密的自动化绕线机已成为提升生产效能的关键装备。 自动化绕线机作为电子制造与电机制造的核心设备,其精度、稳定性…

屏幕信息网站

https://www.displaymate.com/index.html屏幕参数大全 https://testufo.com/ 刷新率测试

2025年知名的储气罐定制厂家权威推荐榜单:可靠的储气罐/质量好的储气罐/专业的储气罐源头厂家精选

全球储气罐市场规模预计在2025年将达到78.5亿美元,并以4.8%的年复合增长率持续扩张,中国市场在其中占据重要份额。 储气罐作为工业生产中的关键压力容器,其性能直接关系到整个生产系统的安全与效率。随着新能源、新…

Kubernetes 调度器开发方法概述

法 1:通过配置(无代码) apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - schedulerName: default-scheduler# ... - schedulerName: batch-schedulerplugins:score:enab…

微信公众号服务号关注发送授权链接,直接注册成为会员,再接入智能客服功能

一键关注,即刻体验:我们如何用微信公众号重塑用户服务体验 今天我想和大家分享一个我们最近完成的系统升级——将客服系统与微信公众号深度整合的创新方案。这个改变不仅简化了用户体验,更为我们的会员体系注入了新…

Springboo下的MQTT多broker实现

Springboo下的MQTT多broker实现参考项目:GitHub - mqtt-spring-boot-starter 背景说明: 和原作者一样,也是身处IOT物联网公司,身不由己,哈哈 实现功能:1、多broker连接,这是原作者造好的轮子 2、指定信息发布,…

CF1830D Mex Tree

发现一个巨大无比爆炸重要的性质。树上路径 MEX 只有 0,1,2 三种情况/dy。 想了会交替染色为何不对,发现对于单点填 0 会有 1 的贡献,而填 1 没有贡献。所有交替染色只能保证长度 \(\ge 2\) 的路径的权值和最大。 最…

2025 年 11 月流速仪厂家推荐排行榜,LS300-A 流速仪,旋杯式/旋桨式流速仪,手持式电波雷达流速仪,专业测量与高效性能口碑之选

2025 年 11 月流速仪厂家推荐排行榜:LS300-A 流速仪、旋杯式/旋桨式流速仪、手持式电波雷达流速仪,专业测量与高效性能口碑之选 在水利监测、环境工程和工业流程控制领域,流速仪作为关键测量工具,其精度和可靠性直…

14. Service

Service 为什么需要 Service? 在 Kubernetes 中:Pod 的生命周期短暂:一旦被销毁,重建后 IP 会变化。 其他应用如果直接依赖 Pod IP,就会出现“找不到服务”的问题。 在传统架构中,我们用 Nginx + Consul / ZooKe…

基于图像小波变换的多尺度自适应双边滤波matlab仿真 - 指南

基于图像小波变换的多尺度自适应双边滤波matlab仿真 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

2025年11月防晒选购指南:花西子/珀莱雅/薇诺娜/安热沙实测,全肤质闭眼入款竟是它

2025年11月防晒选购指南:花西子/珀莱雅/薇诺娜/安热沙实测,全肤质闭眼入款竟是它一、防晒先懂“敌”:紫外线的隐形伤害 紫外线中UVA(长波)穿透力强,会穿透真皮层导致光老化(细纹、色斑、松弛),堪称“皮肤老化…

使用马尔科夫蒙特卡洛方法对非常规的概率密度函数进行样本抽取

马尔科夫蒙特卡洛(Markov Chain Monte Carlo,MCMC)方法是一种强大的工具,用于从复杂的概率分布中抽取样本。对于非常规的概率密度函数(PDF),MCMC方法尤其有用,因为这些分布可能难以直接采样。其中,Metropolis…