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

Kevin and Teams

Kevin and Teams

进行手玩,发现 \(n\)\(1\) 开始的 \(k\) 分别为 \([0,1,1,1,2,2,\dots]\)

不妨猜测 \(k = \lfloor \frac{n+1}{3} \rfloor\),考虑构造性证明这一点。

我们考虑同时保存一组黑色匹配和一组白色匹配,此时我们需要维护一条同色链。

每次我们加入点 \(u\),假设点 \(u\) 与链尾的边与链同色,则加入点 \(u\)。否则点 \(u\) 与链尾的边与链异色,此时我们去除这两条边,分别加入两个匹配即可。

显然我们会用 \(3\) 个点产生一组匹配,假设链外有 \(3a\) 个点,则匹配数为 \(\lceil \frac{n-3a-1}{2} \rceil + a = \lfloor \frac{n-3a}{2} \rfloor + a = \lfloor \frac{n-a}{2} \rfloor\)。显然 \(a \leq \lfloor \frac{n}{3} \rfloor\),则原式 \(\geq \lfloor \frac{n - \lfloor \frac{n}{3} \rfloor}{2} \rfloor = \lfloor \frac{\lceil \frac{2n}{3} \rceil}{2} \rfloor = \lfloor \frac{\lfloor \frac{2n+2}{3} \rfloor}{2} \rfloor = \lfloor \frac{2n+2}{6} \rfloor = \lfloor \frac{n+1}{3} \rfloor\)

其次我们构造一组解,使得 \(k = \lfloor \frac{n+1}{3} \rfloor\)

不妨考虑构造一个 \(m\) 个点的完全图,此时的答案为 \(\max(\lfloor \frac{m}{2} \rfloor,n-m)\),也就是 \(\lfloor \frac{\max(m,2n-2m)}{2} \rfloor\)。容易发现上式 \(\geq \lceil \frac{2n}{3} \rceil\),同上分析即可得到此下界。

#include<iostream>
#include<vector>
#include<stack>
using namespace std;
void solve(){int n;cin>>n;int k=(n+1)/3;cout<<k<<endl;stack<int> st;int flag=0;vector<int> U[2],V[2];for(int i=1;i<=n;i++){if(st.size()==0){st.push(i);}else if(st.size()==1){int u=st.top();cout<<"? "<<u<<" "<<i<<endl;cin>>flag;st.push(i);}else{int u=st.top();st.pop();int v=st.top();cout<<"? "<<u<<" "<<i<<endl;int num;cin>>num;if(num==flag){st.push(u);st.push(i);}else{st.pop();U[flag].push_back(u);V[flag].push_back(v);U[num].push_back(u);V[num].push_back(i);}}}bool tmp=false;while(!st.empty()){if(tmp==false){U[flag].push_back(st.top());}else{V[flag].push_back(st.top());}st.pop();tmp=!tmp;}cout<<"!";for(int i=0;i<k;i++){cout<<" "<<U[flag][i]<<" "<<V[flag][i];}cout<<endl;
}
int main(){int T;cin>>T;while(T--){solve();}return 0;
}
http://www.jsqmd.com/news/827495/

相关文章:

  • DPU技术解析:异构计算在数据中心的应用与优化
  • 一、PFC电路——从谐波治理到标准合规,解析现代电源设计的必由之路
  • 腾讯云轻量服务器镜像本地化实战:从云端共享到本地下载全解析
  • Ising机器与组合优化:算法对比与工程实践
  • 2026薪酬体系设计专业咨询机构排名,十大靠谱公司推荐及核心优势解析 - 远大方略管理咨询
  • STM32串口printf发中文老出乱码?一份保姆级的编码问题排查清单(含Keil和编辑器设置)
  • Win10深度学习环境搭建:CUDA 11.7与PyTorch一站式部署指南
  • VScode+texlive+sumatraPDF:打造无缝联动的LaTeX高效写作环境
  • 在RK3588开发板上编译带OpenGL ES2的Qt 5.15.0,我踩过的那些坑和最终配置方案
  • 终极.NET程序集调试与编辑解决方案:dnSpyEx完整指南
  • 你的车真的够安全吗?聊聊UN R152标准下的AEBS紧急制动系统(附避坑指南)
  • 用STM32F103ZET6和HC-06蓝牙模块,从零打造一台手机遥控小车(附完整代码与接线图)
  • 构建个人技能中心:原子化设计与Git管理提升开发效率
  • ESP32驱动LCD屏卡顿?别急着超频到240MHz,先看看这份性能调优避坑指南
  • 2026广州环境检测公司盘点:按服务类型怎么选 - 资讯速览
  • ESP32-C3驱动2寸ST7789屏幕?手把手教你搞定LVGL移植(附避坑代码)
  • 书成紫微动,律定凤凰驯:海棠山铁哥与《第一大道》《凰标》的天命闭环
  • 罗技鼠标压枪宏终极指南:如何快速掌握绝地求生无后坐力射击技巧
  • 别再乱调接口了!深入Android 11源码,看WiFi MAC随机化到底谁说了算(WifiConfigManager.java解析)
  • 用CircuitPython与BLE为乐高机器人实现蓝牙遥控改造
  • 简历照片手机怎么拍?2026 手机拍证件照完整指南 + 免费制作工具实测 - AI测评专家
  • 3大场景揭秘:Glass Browser如何用透明悬浮窗口提升300%多任务效率
  • 搞不清 LLM / Agent / Skill / MCP / Harness?一张图把 5 个名词的关系讲透
  • 从自动化到智能代理:构建家庭智能中枢的架构与实践
  • 如何用res-downloader快速下载全网视频资源:终极免费指南
  • 从像素到亚像素:InSAR图像配准的核心算法与精度跃迁
  • 如何快速掌握DriverStore Explorer:Windows驱动管理终极指南
  • 观察 Taotoken 用量看板如何清晰呈现各模型 API 调用成本
  • 2026人力资源体系搭建靠谱公司推荐,头部咨询机构专业排名及核心优势 - 远大方略管理咨询
  • 3分钟掌握网页视频下载:Chrome扩展VideoDownloadHelper完全指南