题目链接 http://codeforces.com/contest/325/problem/B

第一遍写了暴搜,果断TLE

然后上了二分,结果120组数据只有第40组过不了,我就写了奇怪的东西。。。。

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<vector>
using namespace std;
long long n;
long long a,b;
long long l,r;
long long x;
vector<long long>V;
int main()
{
while(scanf("%I64d",&n)!=EOF)
{
if(n==)
{printf("2828427124\n");continue;}
V.clear();
for(a=;a<=;a++)
{
if(((1LL<<a)-)>n) break;
l=;r=;
while(l<r)
{
b=(l+r)/;
x=((b-)*b)/+((1LL<<a)-)*b;
if(x<||x>=n||(b-)*b/<||((1LL<<a)-)*b<||((1LL<<a)-)<)
r=b;
else
l=b+;
}
if(((((r-)*r)/+((1LL<<a)-)*r)==n)&&(r%==))
V.push_back((1LL<<a)*r);
}
if(V.empty())
printf("-1\n");
else
for(size_t i=;i<V.size();i++)
printf("%I64d\n",V[i]);
}
return ;
}

附上CF里神牛们的CODE

还没想明白为何第40组过不了

#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
long long z,l,r,h,x,k,n;
vector<long long> a;
int main() {
scanf("%I64d",&n);
for (k=; k<=; k++) {
z=(1LL<<k)-;
if (z>n) break;
l=; r=min(2000000000LL,z==?2000000000LL:(n/z+));
while (l<r) {
h=(l+r)/;
x=(h*(h-1LL))/+h*z;
if (x>=n) r=h; else l=h+;
}
x=(r*(r-1LL))/+r*z;
if (x==n && r%==) a.push_back(r*(z+));
}
sort(a.begin(),a.end());
if (a.empty()) puts("-1"); else for (size_t i=; i<a.size(); i++) printf("%I64d\n",a[i]);
return ;
}

MemSQL start[c]up Round 1 B题的更多相关文章

  1. MemSQL start[c]up Round 2 - online version C. More Reclamation(博弈)

    题目大意 额,写来写去,我还是直接说抽象之后的题目大意吧: 有一个 r*2 的矩形,两个人轮流的在矩形上面减去一个 1*1 的小正方形,要求在减的过程中,不能使矩形“断开”,也就是说,如果一个人减去了 ...

  2. MemSQL start[c]up Round 1.b

    二分查找题, 不知道用double的人,用LL果断错了... B. Stadium and Games time limit per test 1 second memory limit per te ...

  3. codeforces 659A A. Round House(水题)

    题目链接: A. Round House time limit per test 1 second memory limit per test 256 megabytes input standard ...

  4. BestCoder Round #89 B题---Fxx and game(单调队列)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945     问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路:  B ...

  5. Educational Codeforces Round 15 套题

    这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib& ...

  6. Educational Codeforces Round 21 A-E题题解

    A题      ............太水就不说了,贴下代码 #include<string> #include<iostream> #include<cstring& ...

  7. Educational Codeforces Round 27 补题

    题目链接:http://codeforces.com/contest/845 A. Chess Tourney 水题,排序之后判断第n个元素和n+1个元素是不是想等就可以了. #include < ...

  8. Codeforces Round #456 B题

    一.题意 给你一个n和一个k,让你从[1, n]区间内选k个数,这k个数异或和最大. 二.思路 我一开始看到这种题,不自觉地就想到,莫非又要搞很复杂的线段树.主席树?貌似还有些难搞啊.然而事实是:Co ...

  9. Codeforces Round #346 (Div. 2) A. Round House 水题

    A. Round House 题目连接: http://www.codeforces.com/contest/659/problem/A Description Vasya lives in a ro ...

随机推荐

  1. 5.1 Components — Introduction

    1. HTML被设计的时候,浏览器是一个简单的文件浏览器.开发构建大的Web应用程序需要更多的东西. 2. 不是试图取代HTML,然而,Ember.js拥抱它,然后增加了许多新功能使得构建web应用程 ...

  2. vue小toast插件报错runtine-only

    var Toast={}; Toast.install = function (Vue, options) { let opt = { defaultType:'bottom', // 默认显示位置 ...

  3. acdream1174 合并同类项

    这题说的是 给出N,a[1]... a[N],还有M,b[1]... b[M]long long ans = 0;for(int i = 1; i <= N; i ++)    for(int ...

  4. oracle中 start with .. connect by prior.. 用法简介

    我们经常会将一个比较复杂的目录树存储到一个表中.或者将一些部门存储到一个表中,而这些部门互相有隶属关系.这个时候你就会用到connect by prior start with.oracle 提供了s ...

  5. R之内存管理

    引言 R的内存管理机制究竟是什么样子的?最近几日在讲一个分享会,被同学问到这方面的问题,可是到网上去查,终于找到一篇R语言内存管理不过讲的不清不楚的,就拿memory.limit()函数来说,是在wi ...

  6. python应用-掷骰子模拟-pygal

    pygal安装: Linux下: pip install pygal Windows下: python -m pip install pygal 效果如图: # -*- coding: utf-8 - ...

  7. 2017NOIP模拟赛-科普基地

    今天回来打的第一场NOIP难度的试题,结果惨不忍睹.写一下每道题的做法,然后每道题犯的__弱智__错误 UPD:2018.9.15 突然这篇题解就变成很多大佬要看的了,因为之前是写给自己看的,所以写的 ...

  8. 16s workfollw

    http://bioconductor.org/packages/devel/bioc/vignettes/metagenomeFeatures/inst/doc/Example_16S_Annota ...

  9. 安装 bochs

    sudo apt-get install bochs 以后接着安装bochs-x

  10. 一次完整的HTTP事务是怎样一个过程

    当我们在浏览器的地址栏输入 www.linux178.com,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握手 --> 建 ...