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

省选集训 15 - 交互题

[eJOI 2022] Where Is the Root?

不难得出所有叶子节点的 LCA 即为根节点,分两种情况讨论:

根节点为叶子节点:直接二分询问叶子节点集合,如果返回 YES 则根节点在集合中。

根节点不为叶子节点:二分询问非叶子节点集合时带上所有叶子节点即可。

但是如果我们先查询一遍所有叶子节点再二分碰见菊花图时会超过限制次数。

考虑合并上述过程,将节点按度数排序过后序列上二分即可,每次询问 mid 及左侧的所有节点。

为什么这样是正确的?

如果我们得到的返回值为 NO,那根肯定不在 mid 及左侧,继续二分右边即可。

如果我们得到的返回值为 YES,假设 mid 是叶子,我们此时就相当于在二分叶节点集合了,假设 mid 不是叶子,因为按度数排了序,所以已经带上了所有叶子,也是正确的。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define N 505
#define all(v) v.begin(),v.end()
#define assign(v,l,r) v.begin()+l,v.begin()+r
int n,l,r;
bool check(vector<int> v,string res=""){cout<<"? "<<v.size()<<" ";for(auto x:v)  cout<<x<<" ";return cout<<"\n",cout.flush(),cin>>res,res=="YES";
}
int main(){ios::sync_with_stdio(false);cin.tie(nullptr),cout.tie(nullptr);cin>>n;vector<int> d(n+1,0),v(n,0);for(int i=1,x,y;i<n;i++)  cin>>x>>y,d[x]++,d[y]++;iota(all(v),1),l=1,r=n;sort(all(v),[&](int a,int b){return d[a]<d[b];});while(l<r){int mid=(l+r)>>1,res=0;if(mid==1)	res=check({v[0],v[2]});else  res=check(vector<int>(assign(v,0,mid)));res?r=mid:l=mid+1;}return cout<<"! "<<v[l-1]<<"\n",0;
}
http://www.jsqmd.com/news/307191/

相关文章:

  • 2026年三亚靠谱的汽车租赁门店联系电话,包头到三亚靠谱的汽车租赁公司联系方式技术实力与市场口碑领航者
  • 高清免费正版图片素材网站推荐:2026年十大图库资源平台盘点
  • 上海宠物牙科口碑之选:姚志权医生领衔的专业力量,宠物牙科/猫咪口腔/宠物口腔科/狗狗口腔,宠物牙科医生哪个比较好
  • 本地部署的物联网平台
  • 锅炉厂家加工厂实地考察:看哪些细节能反映真实水平,锅炉厂家/蒸汽锅炉/导热油锅炉,锅炉厂家优质厂家选哪家
  • 探讨靠谱的翻堆机实力厂家排名,安阳慧耕能排第几?
  • 网上订餐|基于ssm+ vue网上订餐系统(源码+数据库+文档)
  • 探讨盐城思科网络公司百度代运营技术排名,哪家比较靠谱
  • 2026 十大商用高清正版素材网站推荐,不会侵权的图片网站推荐
  • 铝合金花箱生产厂售后靠谱的怎么选,有啥建议
  • 飞斯达的商业模式是否可行,PLC产品选购如何选靠谱的
  • 2026年首月,做得好的二氧化碳公司都在这个排行里,汽化器/制氧机/制氮机/液氮/二氧化碳,二氧化碳源头厂家排行榜单
  • 微信小程序定制开发公司选型攻略,教你选专业商家(2026更新)(接诉即办小程序、党政小程序、物业小程序开发公司推荐)
  • Cursor使用教程
  • 2026年AIGC检测通关攻略:降ai率工具深度测评(含免费降ai率方案)
  • 吐血推荐MBA必用10款一键生成论文工具
  • 【ACM出版 | EI检索】第六届生物信息学与智能计算国际学术研讨会(BIC 2026)
  • 微信小程序定制开发公司如何选择?专业选型指南(律所小程序、寺庙小程序、活动小程序开发公司推荐)
  • 2026成都集成墙板生产厂家口碑榜:成都华伟木塑98%好评,真实用户实测推荐
  • 【一文解读】网闸是什么?新型网闸有哪些功能和作用?
  • 外贸B2B企业出海必看:推荐几家海外独立站引流服务商+Google代运营公司
  • RustFS x Cloudflare Tunnel,实现对象存储的安全访问
  • 小程序开发公司哪家专业,专注于小程序运营优化的综合服务
  • 构建一个智能 BMI 计算器:深入解析 Flutter 中的实时计算、状态反馈与健康数据可视化
  • 告别错位与分页噩梦:Excel转PDF完美指南,让表格完整如初
  • 2026年青岛西海岸新区奔驰4S店排名,可分期且保养口碑好的店盘点
  • 小程序开发公司哪家靠谱,支持多平台兼容的开发团队实测
  • 2026年行业观察:通蔚生物在生物试剂领域的创新实践,mda检测试剂盒/sod试剂盒/ELISA,通蔚生物品牌哪个好
  • 构建高可用ISBN查询服务:技术架构与工程实践深度解析
  • 小程序定制开发公司怎么选,基于行业特性的定制化方案深度解析