CF893B Beautiful Divisors 题解
Content
给定一个数 \(n\),求出 \(n\) 最大的可以表示成 \((2^k-1)\cdot2^{k-1}\) 形式的因数 \(x\)。
数据范围:\(1\leqslant n\leqslant 10^5\)。
Solution
数据范围很小,所以我们先考虑将 \(10^5\) 以内的能够表示成 \((2^k-1)\cdot2^{k-1}\) 形式的数全部通过打表生成出来。而且打完以后,我们发现,事实上满足这个条件的数在 \(10^5\) 以内只有 \(8\) 个:\(1,6,28,120,496,2016,8128,32640\)。
然后输入完 \(n\),就直接从 \(n\) 开始往 \(1\) 直接枚举,一旦找出了可以表示成 \((2^k-1)\cdot2^{k-1}\) 的因数就直接输出即可。
Code
int num[17], n, cnt, vis[200007];
int main() {
while(num[cnt] <= 100000) ++cnt, num[cnt] = (1 << (2 * cnt - 1)) - (1 << (cnt - 1));
F(int, i, 1, cnt) vis[num[i]] = 1;
n = Rint;
R(int, i, n, 1) if(vis[i] && !(n % i)) return write(i), 0;
return 0;
}
CF893B Beautiful Divisors 题解的更多相关文章
- codeforces 893B Beautiful Divisors 打表
893B Beautiful Divisors 思路: 打表 代码: #include <bits/stdc++.h> using namespace std; #define _for( ...
- Educational Codeforces Round 33 (Rated for Div. 2) B. Beautiful Divisors【进制思维/打表】
B. Beautiful Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- CF55D Beautiful numbers 题解
题目 Volodya is an odd boy and his taste is strange as well. It seems to him that a positive integer n ...
- 【SP26073】DIVCNT1 - Counting Divisors 题解
题目描述 定义 \(d(n)\) 为 \(n\) 的正因数的个数,比如 \(d(2) = 2, d(6) = 4\). 令 $ S_1(n) = \sum_{i=1}^n d(i) $ 给定 \(n\ ...
- 【Educational Codeforces Round 33 B】Beautiful Divisors
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 把所有的那些数字打表出来. 逆序枚举就好 [代码] /* 1.Shoud it use long long ? 2.Have you ...
- CF1265B Beautiful Numbers 题解
Content 给定一个 \(1\sim n\) 的排列,请求出对于 \(1\leqslant m\leqslant n\),是否存在一个区间满足这个区间是一个 \(1\sim m\) 的排列. 数据 ...
- UVA294 约数 Divisors 题解
Content 给定 \(n\) 个区间 \([l,r]\),求出每个区间内约数个数最大的数. 数据范围:\(1\leqslant l<r\leqslant 10^{10}\),\(r-l\le ...
- Codeforces Round #604 (Div. 2) E. Beautiful Mirrors 题解 组合数学
题目链接:https://codeforces.com/contest/1265/problem/E 题目大意: 有 \(n\) 个步骤,第 \(i\) 个步骤成功的概率是 \(P_i\) ,每一步只 ...
- HDU5179 beautiful number 题解 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5179 题目大意: 给你一个数 \(A = a_1a_2 \cdots a_n\) ,我们称 \(A\) ...
随机推荐
- Pickle的简单用法
Python中pickle的用法 pickle存在的意义 在python的文件操作里面,我们常常需要将python容器里面的一些东西把它写成一个二进制文件存放在硬盘里面来永久保存. 在不借助pickl ...
- Codeforces Round #717 (Div.2) 题解
我 AK 的第二场(?)的 Div.2,还捡了个 rk4(虽然我 div2 only 的最高记录是 rk2)祭之( A 这题我竟然 WA 了两发,丢人( 直接贪心,对于 \(i=1,2,\cdots, ...
- miRAN 分析以及mRNA分析
一些参考资料 http://www.360doc.com/content/17/0528/22/19913717_658086490.shtml https://www.cnblogs.com/tri ...
- MYSQL5.8----M3
333333333333333333333333333 mysql> DESC user; +----------+---------------------+------+-----+---- ...
- urllib的基本使用介绍
1. urllib中urlopen的基本使用介绍 1 ### urllib中urlopen的基本使用介绍 2 3 ## urlopen的基本用法(GET请求) 4 import urllib.requ ...
- 痞子衡嵌入式:利用GPIO模块来测量i.MXRT1xxx的系统中断延迟时间
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx的系统中断延迟时间. 在 <Cortex-M系统中断延迟及其测量方法简介> 一文里,痞子衡介绍了 Cor ...
- c#Gridview添加颜色
e.Row.Cells[1].ForeColor = System.Drawing.Color.Blue;
- 巩固java第四天
巩固内容: HTML 元素 HTML 文档由 HTML 元素定义. HTML 元素 开始标签 * 元素内容 结束标签 * <p> 这是一个段落 </p> <a href= ...
- JuiceFS 性能评估指南
JuiceFS 是一款面向云原生环境设计的高性能 POSIX 文件系统,任何存入 JuiceFS 的数据都会按照一定规则拆分成数据块存入对象存储(如 Amazon S3),相对应的元数据则持久化在独立 ...
- Linux 内存泄漏 valgrind
Valgrind 是个开源的工具,功能很多.例如检查内存泄漏工具---memcheck. Valgrind 安装: 去官网下载: http://valgrind.org/downloads/curre ...