尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

题解:CF2133C The Nether

题解:CF2133C The Nether
📅 发布时间:2026/6/18 6:52:39

挺好玩的交互题。

思路

首先,我们一定需要知道 DAG 中最长路径的起点,这可以通过 \(n\) 次询问来找到。即对于每一个点 \(i\) 满足 \(1\le i\le n\) 我们都去查询从 \(i\) 开始,经过整个 DAG 可以得到的最长路是多少,同时使用一个 vector 记录长度为 \(len\) 的点有哪些。

设查询到的最长路径的长度为 \(maxn\),最长路径的起点为 \(u\),那么现在考虑从最长路径为 \(maxn-1\) 点一直查询到最长路径为 \(1\) 的点。在查询时维护一个点集 \(S\) 表示最长路径里的点,一开始 \(S=\{u\}\),然后在每次查询时都把点集里的点和即将要查询的点 \(v\) 输出,如果得到的结果比只通过点集里的点走出的最长路要长的话,就说明点 \(v\) 在最长路径上,于是也把点 \(v\) 加入点集 \(S\)。在这部分查询中,我们只会遍历 vector 中的元素一遍,也就是只会有 \(n\) 次询问,满足题意。

最后,点集 \(S\) 里的点便是最长路径上的点,将其顺序输出即可。

注意要特判一下 \(maxn\) 为 \(1\) 的情况。

代码

赛时丑陋代码:

#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define i128 __int128
#define inf (1ll << 62)
#define PII pair<int, int>
#define pb push_back
#define fi first
#define se second
using namespace std;void solve() {int n;cin >> n;int node, maxn = 0;vector<vector<int>> pos(n + 1);for (int i = 1; i <= n; i++) {cout << "? " << i << " " << n << " ";for (int j = 1; j <= n; j++) cout << j << " ";cout << "\n";cout.flush();int length;cin >> length;if (maxn < length) {maxn = length;node = i;}pos[length].pb(i);}if (maxn == 1) {cout << "! 1 1\n";cout.flush();return;}vector<int> path(maxn);int last = 1;for (int i = maxn - 1; i >= 1; i--) {for (auto j : pos[i]) {cout << "? " << node << " " << maxn - i + 1 << " " << node << " ";for (int k = maxn - 1; k > i; k--) cout << path[k] << " ";cout << j << "\n";cout.flush();int length;cin >> length;if (length > last) path[i] = j;}last++;}cout << "! " << maxn << " " << node << " ";for (int i = maxn - 1; i >= 1; i--) cout << path[i] << " ";cout << "\n";cout.flush();
}int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t = 1;cin >> t;while (t--) {solve();}return 0;
}

相关新闻

  • 实变函数1
  • 一元二次方程难题1
  • C#学习第十 一天 022 事件最后一章

最新新闻

  • Crawl4AI:为AI时代重新定义智能网页爬取的开源利器
  • WorkshopDL:跨平台Steam创意工坊模组下载器技术解析与实战指南
  • 2026年6月名表回收新风向:武汉宝利汇珠宝有限公司,回收手表/名表回收/回收劳力士二手表/欧米茄手表回收正规渠道深度解析 - 品牌推荐官
  • 贵阳黄金回收 六家靠谱店铺推荐 - 清奢黄金上门回收
  • 机床行业推广平台:2026年各品牌机床该去哪里做推广? - 品牌推荐大师1
  • 国内双相钢三通生产厂家实力排行及选型参考 - 起跑123

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号