UVA10666欧洲杯来了!
题意
给定\ (2个n \)个数字为\ (0 \) ~ \ (2 {n}-1 \)的队伍,每个队伍按照数字顺序进行双人比赛,数字较小的队伍获胜。每个团队都有一个实力值。显然,胜者的力量值大于败者。从大到小排列力量值。给出\(N\)的个数和一个队伍,求这个队伍的最佳排名和最差排名。
题目分析
分析:最乐观的情况是让他比所有没打过球的球员都强,所以他会考虑让他成为每次对阵的球队(即\ (2 {int (log (m))} \),那么他会输多少次很明显就是他会变成奇数多少次,所以他在\(m\)二进制数里数“1”的个数。最坏的情况只有两种:如果\(m\)为\(0\),则为1,否则为团队数-\(lowbit(m)\) 1。
Dei代码:
#includebits/stdc。h
#定义整数长
#定义inf0x3f3f3f
使用命名空间标准;
int read(){ 0
int w=0,h=1;char ch=getchar();
while(ch ' 0 ' | | ch ' 9 '){ if(ch=='-')h=-h;ch=getchar();}
while(ch=' 0 ' ch=' 9 '){ w=w * 10 ch-' 0 ';ch=getchar();}
返回w * h;
}
int T,n,m,cnt
int ksm(int b,int k){ 0
int s=1;
while(k){ 0
if(k1)s=s * b;
b=b * b
k=1;
}
返回s;
}
签名main(){ 0
t=read();
而(T-){ 0
n=read();m=read();
int all=ksm(2,n),p=m;
CNT=0;
while(p){ 0
CNT=p % 2;
p=1;
}
if(!m)p=全部;
else p=m(-m);
printf('%lld %lld\n ',cnt 1,all-p 1);
}
返回0;
}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/67477.html