搜交互题搜到的...

竟然还有这么水的交互题,赶紧过了再说

交互库里有一个 $[1,n]$ 到 $[1,n]$ 的双射

你可以调用 $encode(k,a[])$ 询问左边的一个大小为 $k$ 的集合 $a[]$,可以询问出 $a[]$ 对应的集合 $b[]$ ,但不告诉你 $a[],b[]$ 之间的一一对应关系

求双射,最多询问 log 次

sol:

log 次,显然是把二进制每一位拆开

然后就做完了。。。

  1. #include<bits/stdc++.h>
  2. #define LL long long
  3. #define rep(i,s,t) for(register int i = (s),i##end = (t); i <= i##end; ++i)
  4. #define dwn(i,s,t) for(register int i = (s),i##end = (t); i >= i##end; --i)
  5. using namespace std;
  6. inline int read()
  7. {
  8. int x=,f=;char ch;
  9. for(ch=getchar();!isdigit(ch);ch=getchar())if(ch=='-')f=-f;
  10. for(;isdigit(ch);ch=getchar())x=*x+ch-'';
  11. return x*f;
  12. }
  13. int ans[];
  14. int main()
  15. {
  16. int n = read(), T = read();
  17. for(int Bit=;Bit<n;Bit<<=)
  18. {
  19. cout << "encode ";
  20. int pnt = ;
  21. rep(j, , n-) if(j & Bit) pnt++;
  22. cout << pnt << " ";
  23. int cur = ;
  24. rep(j, , n-) if(j & Bit)
  25. {
  26. cur++;
  27. //printf(cur == pnt ? "%d\n" : "%d ",j+1);
  28. if(cur == pnt) cout << j+ << endl;
  29. else cout << j+ << " ";
  30. }
  31. //fflush(stdout);
  32. while(pnt--) ans[read()] |= Bit;
  33. }
  34. cout << "submit ";
  35. rep(i, , n)
  36. {
  37. if(i == n) cout << ans[i] + << endl;
  38. else cout << ans[i] + << " ";
  39. }
  40. return ;
  41. }

loj#6566. 月之都的密码的更多相关文章

  1. Git push 时每次都需要密码的疑惑

    2015.1.13更新: 在本地搭建Git服务器时,也是有每次操作需要密码的情况. 是因为每次做推送动作时,Git需要认证你是好人.所以需要密码. 可以在 /home/username/.ssh/au ...

  2. source tree每次push都需要密码的解决方法

    Windows首先可以考虑使用GitHub for Windows,它已经包含了该助手,或者可以下载对应系统的版本:Windows 7.Windows 8.Source 版本,然后解压缩文件并将里面的 ...

  3. github每次push都需要密码以及用户名的解决办法

    git remote set-url origin git@github.com:你的账户/项目名称.git就可以直接git push origin master了.

  4. github每次push提交都要输入账号密码

    问题产生的原因是在克隆的时候使用的是https的方式或者用一些特殊的指令来克隆的github项目源,如 golang里的go get github.com/...... 没次提交push的时候都会提示 ...

  5. Azure Active Directory Connect密码同步问题

    这几天一直在弄O365与本地域账号的密码同步问题.由于微软即将用Azure Active Directory Connect(以下简称AADC)这个同步工具替代之前的DirSync,所以我也研究了下这 ...

  6. 【密码】Oracle用户密码系列

    [密码]Oracle用户密码系列 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...

  7. 使用javascript对密码进行有密码强度提示的验证

    好些网站的注册功能中,都有对密码进行验证并且还有强度提示.下面就来实现这种效果.密码强度说明:密码强度:弱——纯数字,纯字母,纯符号密码强度:中——数字,字母,符号任意两种的组合密码强度:强——数字, ...

  8. 基于JavaScript实现表单密码的隐藏和显示出来

    转载:http://www.jb51.net/article/80326.htm 主要代码:<input type="password" name="pass&qu ...

  9. SQL Server密码管理的六个危险判断

    当管理SQL Server内在的帐户和密码时,我们很容易认为这一切都相当的安全.但实际上并非如此.在这里,我们列出了一些对于SQL Server密码来说非常危险的判断. 当管理SQL Server内在 ...

随机推荐

  1. JavaScript:学习笔记(3)——正则表达式的应用

    JavaScript:正则表达式的应用 应用正则表达式对象RegExp 创建正则表达式 JavaScript中使用RegExp对象来表述一个正则表达式.使用正则表达式之前首先要创建一个RegExp对象 ...

  2. pyhton3 sys模块

    Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 1 ). sys.stdin 标准输入流.2 ).sys.stdout 标准输出流.3 ). sys.std ...

  3. UI控件之UITabBarController

    UITabBarController:标签栏控制器,继承自UIViewController,用标签栏的形式管理视图控制器,各标签栏对应的视图控制器之间相互独立,互不影响,单击标签栏,显示标签栏对应的视 ...

  4. iOS系统自带分享功能

    很多APP中都带有社交分享功能,通过用户的分享,让更多地人去了解和使用这个APP,目前社交分享是移动互联网应用程序推广的最重要手段之一,国内较或的分享平台有微信,IOS6后苹果集成的新浪微博,还有IO ...

  5. PCIE phy和控制器

    转:https://wenku.baidu.com/view/a13bc1c20722192e4436f617.html 文章中的第11页开始有划分phy和控制器部分....

  6. ubuntu ssh免密码登录

    目前很多服务(ceph,openstack等)都需要用到SSH使用ssh-key进行登录,而不能使用密码进行登录. 下面是配置步骤: 一.在SSH Client生成ssh key pair root@ ...

  7. [Android]开源中国源码分析之二---DrawerLayout

    从启动界面到主界面之后的效果如图所示,采用的是v4包下的DrawerLayout, activity_main.xml文件如下: <!-- A DrawerLayout is intended ...

  8. AOP理解,待细看

    http://jinnianshilongnian.iteye.com/blog/1474325

  9. EJS基本用法

    1.引入 <script src="/src/ejs_production.js"></script> 2.模板 <script id="c ...

  10. Get UTI (uniform type identifier) and ContentType

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...