UOJ#454. 【UER #8】打雪仗
UOJ#454. 【UER #8】打雪仗
分析:
- 好玩的通信题~
- 把序列分成三块,\(bob\)先发出这三块中询问点最多的一块给\(alice\)。
- 对于这一块,显然点数大于等于\(\frac{n}{3}\),全部由\(alice\)输出。
- 对于剩下的两块,先由\(bob\)告诉是否应该输出,\(alice\)再决定是否输出。
- 这样,\(alice\)的次数是\(667+\frac{2n}{3}\),\(bob\)的次数是\(2+\frac{4n}{3}\),均小于\(1350\),可以通过此题。
代码:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cstdlib>
using namespace std;
char w[2050];
void pr(char s) {
putchar(s);
fflush(stdout);
}
int L[4],R[4];
int main() {
FILE *fp=fopen("alice.in","r");
int n,m;
fscanf(fp,"%d%d%s",&n,&m,w+1);
fclose(fp);
int i;
int block=667;
L[1]=1; R[1]=block; L[2]=block+1; R[2]=block*2; L[3]=R[2]+1; R[3]=2*n;
int x=getchar()-'0',y=getchar()-'0';
x=x*2+y;
for(i=L[x];i<=R[x];i++) pr(w[i]);
for(i=1;i<L[x];i++) {
y=getchar();
if(y=='1') pr(w[i]);
}
for(i=R[x]+1;i<=2*n;i++) {
y=getchar();
if(y=='1') pr(w[i]);
}
}
#include <iostream>
#include <fstream>
#include <string>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cstdlib>
using namespace std;
char w[2050];
void pr(char s) {
putchar(s);
fflush(stdout);
}
void print(int x) {
pr(x/2+'0'); pr((x&1)+'0');
}
int n,m,p[2050],is[2050],L[4],R[4];
int main() {
FILE *fp=fopen("bob.in","r");
int n,m,i;
fscanf(fp,"%d%d",&n,&m);
for(i=1;i<=n;i++) fscanf(fp,"%d",&p[i]),is[p[i]]=1;
fclose(fp);
int block=667,c1=0,c2=0,c3=0;
for(i=1;i<=block;i++) c1+=is[i];
for(i=block+1;i<=2*block;i++) c2+=is[i];
for(i=block*2+1;i<=2*n;i++) c3+=is[i];
L[1]=1; R[1]=block; L[2]=block+1; R[2]=block*2; L[3]=R[2]+1; R[3]=2*n;
int x=0;
if(c1>=333) x=1;
if(c2>=333) x=2;
if(c3>=333) x=3;
print(x);
for(i=L[x];i<=R[x];i++) w[i]=getchar();
for(i=1;i<L[x];i++) {
pr(is[i]+'0');
if(is[i]) w[i]=getchar();
}
for(i=R[x]+1;i<=2*n;i++) {
pr(is[i]+'0');
if(is[i]) w[i]=getchar();
}
fp=fopen("bob.out","w");
for(i=1;i<=n;i++) fprintf(fp,"%c",w[p[i]]);
}
UOJ#454. 【UER #8】打雪仗的更多相关文章
- UOJ #455 [UER #8]雪灾与外卖 (贪心、模拟费用流)
题目链接 http://uoj.ac/contest/47/problem/455 题解 模拟费用流,一个非常神奇的东西. 本题即为WC2019 laofu的讲课中的Problem 8,经典的老鼠进洞 ...
- [UOJ#245][UER#7]天路(近似算法)
允许5%的相对误差,意味着我们可以只输出$\log_{1.05} V$种取值并保证答案合法.并且注意到答案随着区间长度而单增,故取值不同的答案区间是$O(\log_{1.05} V)$的. 于是初始x ...
- 【UER #1】[UOJ#12]猜数 [UOJ#13]跳蚤OS [UOJ#14]DZY Loves Graph
[UOJ#12][UER #1]猜数 试题描述 这一天,小Y.小D.小C正在愉快地玩耍. 小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 n. 小D是个机灵鬼,很快从小Y嘴里套出了 n的值.然后 ...
- UOJ #142. 【UER #5】万圣节的南瓜灯 并查集
#142. [UER #5]万圣节的南瓜灯 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/142 Descrip ...
- uoj #139. 【UER #4】被删除的黑白树 dfs序 贪心
#139. [UER #4]被删除的黑白树 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/139 Descript ...
- UOJ#210. 【UER #6】寻找罪犯 2-sat
#210. [UER #6]寻找罪犯 链接:http://uoj.ac/problem/210 想法:2-sat模型.每个人拆点,分别表示为犯人.非犯人.每个句供词拆点,分别表示真话.假话.供词与对应 ...
- UOJ#454-[UER #8]打雪仗【通信题】
正题 题目链接:https://uoj.ac/problem/454 题目大意 \(Alice\)有一个长度为\(2n\)的\(01\)串,\(Bob\)有\(n\)个在\([1,2n]\)位置的下标 ...
- 【UOJ #246】【UER #7】套路
http://uoj.ac/contest/35/problem/246 神奇!我这辈子是想不出这样的算法了. 对区间长度分类讨论:题解很好的~ 我已经弱到爆了,看完题解后还想了一晚上. 题解中&qu ...
- 【UOJ #244】【UER #7】短路
http://uoj.ac/contest/35/problem/244 对其他人来说好简单的一道题,我当时却不会做TWT 注定滚粗啊 题解很好的~ #include<cstdio> #i ...
随机推荐
- ThinkPHP框架基础知识一
ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来 ...
- Loadrunder脚本篇——关联数组(参数数组)
导言 前面说过可以用关联取出服务器相关的一些动态变化的信息,前面也提过web_reg_save_param中可以设置ord=all,代表从服务器中取出的是一个数组,它试用的场景是当我访问一个发帖网站, ...
- iOS 事件响应者链的学习(也有叫 UI连锁链)
当发生事件响应的时候,必须知道由谁来响应事件.在iOS中,由响应链来对事件进行响应,所有的事件响应的类都是继承于UIResponder的子类,响应链是一个由不同对象组成的层次结构,其中每个对象将依次获 ...
- Swift中字典解析后的问题,!?两种拆包的差别
给出一个json,使用SwiftyJSON解析传给model,传进去是个字典,字典里有String,NSNumber,NSDoctionary,和NSArray. 正常情况下直接使用下面的解析方法即可 ...
- Linux查看某个端口+gcc动态编译
Linux下就: 1.lsof -i:端口号 2.netstat -tunlp|grep 端口号 gcc:动态编译 gcc –fpic –c file.c –o file.o gcc –shared ...
- spring data jpa是什么?
JPA是一个Java编程语言接口规范,Hibernate ORM是JPA规范的一个实现. Spring Data JPA能干什么 在开始之前,先举个简单的例子. 一张表user有三个字段,id.n ...
- Shell 语句
一 test 测试: 测试命令 test [ ] [[ ]] (( ))打开man test 逐一介绍每个参数 浮点计算:echo 'scale=2;1/3'|bc -l 测试操作命令执行后会返回到 ...
- 主攻ASP.NET MVC4.0之重生:Jquery Mobile 表单元素
相关代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...
- 表单元素disabled禁用后不能自动提交到服务器
表单元素disabled禁用后不能自动提交到服务器,项目中需要一个元素只展示不修改,所以把一个input元素设置成了disabled="disabled",但是提交的时候改数据值是 ...
- 【P2014】选课(树状DP)
蒟蒻的第二道树形DP,话说看了这个题的正常做法之后一脸蒙,森林转二叉树??什么诡异的操作,蒟蒻完全没明白那个原理是啥...可能是当初没好好学吧..不管了,索性直接DP. 不难看出,这个题的DP方程和刚 ...