博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 4725 [POI2017]Reprezentacje ró?nicowe 暴力
阅读量:5265 次
发布时间:2019-06-14

本文共 1728 字,大约阅读时间需要 5 分钟。

 [POI2017]Reprezentacje ró?nicowe

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 141  Solved: 67
[][][]

Description

给定一个数列a:
当n<=2时,a[n]=n
当n>2,且n是奇数时,a[n]=2a[n-1]
当n>2,且n是偶数时,a[n]=a[n-1]+r[n-1]
其中r[n-1]=mex(|a[i]-a[j]|)(1<=i<=j<=n-1),mex{S}表示最小的不在S集合里面的非负整数。
数列a的前若干项依次为:1,2,4,8,16,21,42,51,102,112,224,235,470,486,972,990,1980。
可以证明,对于任意正整数x,只存在唯一一对整数(p,q)满足x=a[p]-a[q],定义为repr(x)。
比如repr(17)=(6,3),repr(18)=(16,15)。
现有n个询问,每次给定一个正整数x,请求出repr(x)。

 

Input

第一行包含一个正整数n(1<=n<=10^5)。
接下来n行,每行一个正整数x(1<=x<=10^9),表示一个询问。

 

Output

输出n行,每行两个正整数p,q,依次回答每个询问。

 

Sample Input

2
17
18

Sample Output

6 3
16 15

HINT

 

Source

 

暴力跑出来,就log个数,然后随便乱搞,就可以了,枚举就好了,map存一下之类。

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include 8 9 #define N 1000710 #define it map
>::iterator11 using namespace std;12 inline int read()13 {14 int x=0,f=1;char ch=getchar();15 while(!isdigit(ch)){ if(ch=='-')f=-1;ch=getchar();}16 while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}17 return x*f;18 }19 20 map
>s;21 int Q,n,cnt;22 int a[N],b[N];23 24 int main()25 {26 a[1]=1,a[2]=2;27 s[1]=make_pair(2,1);28 for(n=3;;n++)29 {30 if(n&1) a[n]=a[n-1]*2;31 else for(int j=1;;j++) if(!s.count(j)) { a[n]=a[n-1]+j; break; }32 for(int j=1;j
1e9) break;34 }35 for(it l=s.begin();l!=s.end();l++)36 b[++cnt]=l->first;37 Q=read();38 while(Q--)39 {40 int x=read();41 it l=s.find(x);42 if(l!=s.end())43 printf("%d %d\n",(*l).second.first,(*l).second.second);44 else45 {46 int y=lower_bound(b+1,b+cnt+1,x)-b-1;47 printf("%d %d\n",n+(x-y)*2,n+(x-y)*2-1);48 }49 }50 }

 

转载于:https://www.cnblogs.com/fengzhiyuan/p/8759524.html

你可能感兴趣的文章
JAVA 注解教程(二)元注解
查看>>
appium 点击物理按键
查看>>
明天就开盘了
查看>>
Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第4节 ArrayList集合_18-练习三_按指定格式打印集合的方法...
查看>>
mac 开启 chrome 和 微信开发者工具 跨域
查看>>
EF 连接MySql
查看>>
POJ - 2976 Dropping tests
查看>>
【iCore3 双核心板_FPGA】例程六:计数器实验——计数器使用
查看>>
使用SpringBoot-JPA进行自定义的保存及批量保存
查看>>
Linq转换操作之ToArray,ToList,ToDictionary源码分析
查看>>
消息通知中心
查看>>
HTTP 的15个常见知识点复习
查看>>
逆向迭代器
查看>>
hdu 2844(多重背包)
查看>>
Dubbox 学习
查看>>
select二级联动,数据库动态加载
查看>>
数据结构之链表
查看>>
关于论文
查看>>
asp.net CKEditor和CKFinder的应用
查看>>