loj#6566. 月之都的密码
搜交互题搜到的...
竟然还有这么水的交互题,赶紧过了再说
交互库里有一个 $[1,n]$ 到 $[1,n]$ 的双射
你可以调用 $encode(k,a[])$ 询问左边的一个大小为 $k$ 的集合 $a[]$,可以询问出 $a[]$ 对应的集合 $b[]$ ,但不告诉你 $a[],b[]$ 之间的一一对应关系
求双射,最多询问 log 次
sol:
log 次,显然是把二进制每一位拆开
然后就做完了。。。
#include<bits/stdc++.h> #define LL long long #define rep(i,s,t) for(register int i = (s),i##end = (t); i <= i##end; ++i) #define dwn(i,s,t) for(register int i = (s),i##end = (t); i >= i##end; --i) using namespace std; inline int read() {int x=0,f=1;char ch;for(ch=getchar();!isdigit(ch);ch=getchar())if(ch=='-')f=-f;for(;isdigit(ch);ch=getchar())x=10*x+ch-'0';return x*f; } int ans[200010]; int main() {int n = read(), T = read();for(int Bit=1;Bit<n;Bit<<=1){cout << "encode ";int pnt = 0;rep(j, 0, n-1) if(j & Bit) pnt++;cout << pnt << " ";int cur = 0;rep(j, 0, n-1) if(j & Bit){cur++;//printf(cur == pnt ? "%d\n" : "%d ",j+1);if(cur == pnt) cout << j+1 << endl;else cout << j+1 << " ";}//fflush(stdout);while(pnt--) ans[read()] |= Bit;}cout << "submit ";rep(i, 1, n){if(i == n) cout << ans[i] + 1 << endl;else cout << ans[i] + 1 << " ";}return 0; }
View Code
转载于:https://www.cnblogs.com/Kong-Ruo/p/10398603.html
loj#6566. 月之都的密码相关推荐
- vscode,git提交push,需要每次都输入账号密码username,password
vscode,git提交push,需要每次都输入账号密码username,password 配置name,Email git config --global user.name "huach ...
- [java]已知文件 source.txt 中的内容如下,其中,username、yonghu 都表示用户名,password、mima都表示密码,level、dengji都表示等级
已知文件 source.txt 中的内容如下 username=root , password= 1234, id=1, level= 10 username= adimin, mima= 1234 ...
- Git push 时每次都需要密码的疑惑
2015.1.13更新: 在本地搭建Git服务器时,也是有每次操作需要密码的情况. 是因为每次做推送动作时,Git需要认证你是好人.所以需要密码. 可以在 /home/username/.ssh/au ...
- 服务器的文件夹每次都输密码怎么设置,如何设置每次登陆共享文件夹都要输密码...
满意答案 anjelie 2013.09.11 采纳率:55% 等级:13 已帮助:10092人 首先取消默认的"简单共享".打开"我的电脑",依次点击& ...
- iterm2一键登陆服务器(门神权限不用每次都输密码进行验证)
1.新建文件 vim ~/.ssh/config 在打开的文件中输入以下内容 Host * ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p ...
- 远程桌面计算机让输入密码,Windows远程桌面每次都需要输入密码(远程保存密码方法)...
远程桌面是windows操作系统中比较常用的功能,在使用过程中需要输入正确密码才能连接操控,对于部分用户来说每天使用远程桌面是必不可少的,但是每次在连接远程桌面时都需要密码也会显得很是麻烦,就算是选择 ...
- Access 打开mdb文件时需要密码,打开每一个mdb文件都需要。
进来出现了一个问题,使用access 2007打开任何一个mdb文件时都需要密码,其实这些文件没有设置密码. 问题解决过程: 从网上查询资料得知是access的工作组里设置了密码,找了半天没有找的怎 ...
- 账号申述不思议迷宫填什么服务器,不思议迷宫账号密码都忘了 | 手游网游页游攻略大全...
发布时间:2017-06-14 不思议迷宫蒸汽之都保险箱密码是多少 不思议迷宫蒸汽之都保险箱密码在哪里?想要知道的小伙伴,下面一起来看看吧. 不思议迷宫蒸汽之都保险箱的密码是654321,打开后能获取 ...
- 没有设置密码,每次打开RAR文件却都要输密码?
有小伙伴说遇到这种情况:用WinRAR软件压缩RAR文件后,再次打开时显示需要输入密码,但自己压缩文件时并没有设置密码,后续不管几次压缩文件都需要密码,这是怎么回事呢? 其实,这很可能是之前设置压缩文 ...
最新文章
- 如何设计出优秀的Restful API?
- 10大NLP精选项目-涉及预训练Bert、知识图谱、智能问答、机器翻译、对话等
- day03-正则表达式
- ASP.NET Core 2.0 配置NLog日志组件
- 20200813每日一句
- mysql一张表能存多少条数据不影响性能_MySQL|优化案例两则
- jquery图片延迟加载 及 serializeArray、serialize用法记录
- java mencoder_mencoder java linux
- ASP.NET2.0 ReportingServices,报表灵魂的收割者(一)
- 精通cobol--9.3.1 OCCURS语句的使用方法
- 【python进阶】古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
- 软件生命周期-SDLC-的六个阶段简单介绍
- CSDN中如何插入数学公式
- mailbox的controller
- 如何实现标签元素在HTML页面中居中显示
- 面试官:大文件上传如何做断点续传?
- 2016 计算机一级学科,2016北京市大学一级学科排行榜
- java编写k线_用Java绘制K线图
- 纪念谷安创始人李华先生
- Linux 存储结构与磁盘划分