【Codeforces Global Round 1 C】Meaningless Operations
【链接】 我是链接,点我呀:)
【题意】
给你一个a
让你从1..a-1的范围中选择一个b
使得gcd(a^b,a&b)的值最大
【题解】
显然如果a的二进制中有0的话。
那么我们就让选择的b的二进制中对应的位置为1
剩下全为0就好
这样a的二进制全都变成1之后就是答案了(gcd的右边是0)。
但是如果a的二进制里面全是1的话。
就没办法这么构造了
这里有两种情况。
①.1的个数是偶数
那么就101010这样构造
另外一个数就是010101
答案就是010101转换成十进制
②.1的个数是奇数
找不出来规律。。然后就打表了。
(就25个数字>_
【代码】
import java.io.*;
import java.util.*;
public class Main {
static int N = 100;
static InputReader in;
static PrintWriter out;
static int a,q;
static int bin[];
public static void main(String[] args) throws IOException{
in = new InputReader();
out = new PrintWriter(System.out);
bin = new int[N+10];
q = in.nextInt();
for (int i = 1;i <= q;i++) {
a = in.nextInt();
int num = 0,cnt1 = 0;
int cur = 1;
while (a>0){
cur = cur*2;
num++;
if (a%2==1) {
cnt1++;
}
a/=2;
}
if (num!=cnt1){
//exsit zero
out.println(cur-1);
}else {
if(num%2==1) {
switch(num) {
case 3:
out.println(1);
break;
case 5:
out.println(1);
break;
case 7:
out.println(1);
break;
case 9:
out.println(73);
break;
case 11:
out.println(89);
break;
case 13:
out.println(1);
break;
case 15:
out.println(4681);
break;
case 17:
out.println(1);
break;
case 19:
out.println(1);
break;
case 21:
out.println(299593);
break;
case 23:
out.println(178481);
break;
case 25:
out.println(1082401);
break;
}
}else {
cur = 1;
int ans = 0;
for (int j = 1;j <= num;j++) {
if (j%2==1) {
ans = ans + cur;
}
cur*=2;
}
out.println(ans);
}
}
}
out.close();
}
static class InputReader{
public BufferedReader br;
public StringTokenizer tokenizer;
public InputReader() {
br = new BufferedReader(new InputStreamReader(System.in));
tokenizer = null;
}
public String next(){
while (tokenizer==null || !tokenizer.hasMoreTokens()) {
try {
tokenizer = new StringTokenizer(br.readLine());
}catch(IOException e) {
throw new RuntimeException(e);
}
}
return tokenizer.nextToken();
}
public int nextInt() {
return Integer.parseInt(next());
}
}
}
【Codeforces Global Round 1 C】Meaningless Operations的更多相关文章
- 【Codeforces Global Round 1 E】Magic Stones
[链接] 我是链接,点我呀:) [题意] 你可以把c[i]改成c[i+1]+c[i-1]-c[i] (2<=i<=n-1) 问你能不能把每一个c[i]都换成对应的t[i]; [题解] d[ ...
- 【 Codeforces Global Round 1 B】Tape
[链接] 我是链接,点我呀:) [题意] x轴上有m个连续的点,从1标号到m. 其中有n个点是特殊点. 让你用k段区间将这n个点覆盖. 要求区间的总长度最小. [题解] 一开始假设我们需要n个胶带(即 ...
- 【Codeforces Global Round 1 A】Parity
[链接] 我是链接,点我呀:) [题意] 给你一个k位数b进制的进制转换. 让你求出来转成10进制之后这个数字是奇数还是偶数 [题解] 模拟一下转换的过程,加乘的时候都记得对2取余就好 [代码] im ...
- 【Codeforces Beta Round #45 D】Permutations
[题目链接]:http://codeforces.com/problemset/problem/48/D [题意] 给你n个数字; 然后让你确定,这n个数字是否能由若干个(1..x)的排列连在一起打乱 ...
- 【Codeforces Beta Round #88 C】Cycle
[Link]:http://codeforces.com/problemset/problem/117/C [Description] 问你一张图里面有没有一个三元环,有的话就输出. [Solutio ...
- 【手抖康复训练1 】Codeforces Global Round 6
[手抖康复训练1 ]Codeforces Global Round 6 总结:不想复习随意打的一场,比赛开始就是熟悉的N分钟进不去时间,2333,太久没写题的后果就是:A 题手抖过不了样例 B题秒出思 ...
- CodeForces Global Round 1
CodeForces Global Round 1 CF新的比赛呢(虽然没啥区别)!这种报名的人多的比赛涨分是真的快.... 所以就写下题解吧. A. Parity 太简单了,随便模拟一下就完了. B ...
- Codeforces Global Round 1 (A-E题解)
Codeforces Global Round 1 题目链接:https://codeforces.com/contest/1110 A. Parity 题意: 给出{ak},b,k,判断a1*b^( ...
- Codeforces Global Round 1 (CF1110) (未完结,只有 A-F)
Codeforces Global Round 1 (CF1110) 继续补题.因为看见同学打了这场,而且涨分还不错,所以觉得这套题目可能会比较有意思. 因为下午要开学了,所以恐怕暂时不能把这套题目补 ...
随机推荐
- 通过代码获取log4net的文件路径
http://stackoverflow.com/questions/1343749/get-log4net-log-file-in-c-sharp Solution is quite easy in ...
- JSP页面规格化
http://doc.okbase.net/%E4%BA%BA%E7%94%9F%E9%9A%BE%E5%BE%97%E7%B3%8A%E6%B6%82/archive/123084.html htt ...
- bzoj3550
费用流+线性规划 搞了很长时间... 我们可以设立式子,a[1]+a[2]+a[3]+...+a[n]<=k , ... , a[2 * n + 1]+ ... +a[3*n]<=k a是 ...
- bzoj1690
二分+分数规划+dfs判环 跟1486很像,但是我忘记怎么判环了, 我们可以写一个dfs,如果当前节点的距离小于更新的距离,而且这个点已经在当前访问过了,那么就是有环了,如果没有访问过就继续dfs,每 ...
- 设计模式(二):单例模式(DCL及解决办法)
public class Singleton { //懒汉模式 双重检查锁定DCL(double-checked locking) //缺点:由于jvm存在乱序执行功能,DCL也会出现线程不安全的情况 ...
- [转]完整教程--idea使用git进行项目管理
完整教程--idea使用git进行项目管理 第一部分: 安装 1. 下载地址: https://git-scm.com/download/win; 如果速度慢, 使用 迅雷下载; 2. 点击安装, ...
- AJAX异步实现
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容. <head> <meta charset="utf-8"> & ...
- 【转】深入理解Java多态原理
之前一直知道多态是什么东西,平时敲代码也经常用到多态,但一直没有真正了解多态底层的运行机制到底是怎么样的,这两天才研究明白点,特地写下来,跟各位同学一起进步,同时也希望各位大神指导和指正. 多态的概念 ...
- css选择器---继承,优先级,层叠
CSS三大特性—— 继承. 优先级和层叠. 继承:即子类元素继承父类的样式; 优先级:是指不同类别样式的权重比较; 层叠:是说当数量相同时,通过层叠(后者覆盖前者)的样式. css选择符分类 首先来看 ...
- 巴什博弈----hdu2147-----较难
kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/10000 K (Java/Others)Total ...