poj3484 Showstopper 二分
二分用的很是巧妙!关键是抽象出问题本质。
#include <cstdio>
#include <string>
#include <cstring>
const int maxn = ;
#define ull unsigned long long
ull X[maxn], Y[maxn], Z[maxn], C[maxn];
ull N;
ull judge(const ull &mid) {
ull sum = ;
for (int i = ; i < N; i++) {
if (mid >= Y[i]) {
sum += C[i];
} else if (mid >= X[i]) {
sum += ((mid-X[i])/Z[i]+);
}
}
return sum;
}
char buf[];
bool input() {
int f = ;
N = ;
while ((f = ((gets(buf) != NULL))) && strlen(buf) > ) {
sscanf(buf, "%llu %llu %llu", &X[N], &Y[N], &Z[N]);
N++;
}
return f || N;
}
int main(void) {
for (;input();) {
if (!N) {
continue;
}
ull last = ;
for (int i = ; i < N; i++) {
C[i] = (Y[i] - X[i])/Z[i] + ;
last ^= C[i];
}
if (!(last & )) {
printf("no corruption\n");
} else {
ull l = , u = 0xffffffff;
for (;(u-l)>;) {
ull mid = (u+l) >> ;
if (judge(mid)&) {
u = mid;
} else {
l = mid +;
}
}
printf("%llu %llu\n", l, judge(l)-judge(l-));
}
}
return ;
}
poj3484 Showstopper 二分的更多相关文章
- POJ3484 Showstopper (二分+字符串处理)
POJ3484 Showstopper 题目大意: 每次给出三个数x,y,z,用这三个数构成一个等差数列,x为首项,y是末项,z是公差 总共给出n组x,y,z( n待定),求这n组数列中出现次数为奇数 ...
- Showstopper [POJ3484] [二分] [思维]
Description 给你n个数列,问哪一个数字在所有的数列中出现了奇数次(最多一个). Sample Input 1 10 1 2 10 1 1 10 1 1 10 1 1 10 1 4 4 1 ...
- POJ 3484 Showstopper(二分答案)
[题目链接] http://poj.org/problem?id=3484 [题目大意] 给出n个等差数列的首项末项和公差.求在数列中出现奇数次的数.题目保证至多只有一个数符合要求. [题解] 因为只 ...
- Divide and conquer:Showstopper(POJ 3484)
Showstopper 题目大意:数据挖掘是一项很困难的事情,现在要你在一大堆数据中找出某个数重复奇数次的数(有且仅有一个),而且要你找出重复的次数. 其实我一开始是没读懂题意的...主要是我理解错o ...
- Poj3484-Showstopper(二分脑洞题)
Description Data-mining huge data sets can be a painful and long lasting process if we are not aware ...
- poj 3484 Showstopper
Showstopper Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2236 Accepted: 662 Descri ...
- POJ-3484 Showstopper---二分+前缀和
题目链接: https://cn.vjudge.net/problem/POJ-3484 题目大意: 给出一系列等差数列,给出第一项和最后一项和公差 这些等差数列中每个数出现的次数只有一个是奇数,找出 ...
- POJ 3484 二分
Showstopper Description Data-mining huge data sets can be a painful and long lasting process if we a ...
- BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 8748 Solved: 3835[Submi ...
随机推荐
- Theano2.1.13-基础知识之PyCUDA、CUDAMat、Gnumpy的兼容
来自:http://deeplearning.net/software/theano/tutorial/gpu_data_convert.html PyCUDA/CUDAMat/Gnumpy comp ...
- Theano2.1.16-基础知识之调试:常见的问题解答
来自:http://deeplearning.net/software/theano/tutorial/shape_info.html Debugging Theano: FAQ and Troubl ...
- iOS搜索附近的位置(类似微博朋友圈位置)
说什么都是苍白的,直接上图~ 在某些情况下,我们需要获取用户周边的位置,来让用户选取.例如微信的朋友圈,在发一条朋友圈时可以选择地点,就是使用这样的功能. 基于以上的情况(其实也就是为了模仿微信),有 ...
- 拦截PHP各种异常和错误,发生致命错误时进行报警,万事防患于未然
在日常开发中,大多数人的做法是在开发环境时开启调试模式,在产品环境关闭调试模式.在开发的时候可以查看各种错误.异常,但是在线上就把错误显示的关闭. 上面的情形看似很科学,有人解释为这样很安全,别人看不 ...
- JVM内存管理------杂谈(借此也论一论obj=null)
各位园友好,LZ是从某网站转战过来的博主,看到这里很多博主都称看友们为园友,LZ斗胆模仿一下,不过以前,LZ其实都是称看友们为猿友的.之前LZ在某网站已经写了一系列文章,已经全部复制到了园内的新博客, ...
- ASP.NET mvc异常处理的方法
第一种:全局异常处理 1.首先常见保存异常的类(就是将异常信息写入到文件中去) public class LogManager { private string logFilePath = strin ...
- Codeforces Round #369(div 2)
A:=w= B:=w= C:题意:有一排树,有的树已经上色,有的树没有上色,只能给没上色的树上色,一共m种颜色,不同的树上不同的色花费不同,涂完色后,连续颜色的树成为一段.对于给定的段数k,求出最小花 ...
- win10 进入安全模式的方法
[收藏] 楼主 水际天成 只看他 2014-12-19 17:53:26 Windows10出问题了,无法加载了,一直停留在鼠标刚刚出现的那个界面,只能看到计算机屏幕变了颜色,然后就没有任何反映了.想 ...
- name after, name for, name as
name after, name for, name as name after是一个常见用法 : 1.Her parents named her Sophia after her grandmo ...
- POJ2155 Matrix二维线段树经典题
题目链接 二维树状数组 #include<iostream> #include<math.h> #include<algorithm> #include<st ...