$Luogu$

$Description$

有$N$个数列,求一个$x$,$x$在各个数列中的出现次数之和为奇数.这样的$x$最多存在$1$个.若不存在则输出Poor QIN Teng:(

$Sol$

这样的$x$最多存在一个说明什么呢?

我们知道奇数+偶数=偶数,偶数+偶数=偶数,所以从$x$开始往后的数,它们的前缀和都为奇数,$x$以前的数它们的前缀和都是偶数,发现了$x$的单调性!然后二分.

$over$

$Code$

#include<bits/stdc++.h>
#define il inline
#define Rg register
#define go(i,a,b) for(Rg int i=a;i<=b;++i)
#define yes(i,a,b) for(Rg int i=a;i>=b;--i)
#define mem(a,b) memset(a,b,sizeof(a))
#define int long long
#define db double
using namespace std;
il int read()
{
Rg int x=,y=;char c=getchar();
while(c<''||c>''){if(c=='-')y=-;c=getchar();}
while(c>=''&&c<=''){x=(x<<)+(x<<)+c-'';c=getchar();}
return x*y;
}
int T,n,r;
struct node{int s,e,d;}a[];
il int calc(int x)
{
Rg int ret=;
go(i,,n)if(a[i].s<=x)ret+=(min(x,a[i].e)-a[i].s)/a[i].d+;
return ret;
}
il int sol()
{
Rg int l=,as=;
while(l<=r)
{
Rg int mid=(l+r)>>;
if(calc(mid)%==)as=mid,r=mid-;
else l=mid+;
}
return as;
}
main()
{
T=read();
while(T--)
{
n=read();r=;go(i,,n)a[i]=(node){read(),read(),read()},r=max(r,a[i].e);
if(calc(r)%==){printf("Poor QIN Teng:( \n");continue;}
Rg int qwq=sol(),as=;
go(i,,n)
{
if(a[i].s>qwq || a[i].e<qwq)continue;
if((qwq-a[i].s)%a[i].d==)as++;
}
//printf("%d %d\n",qwq,as);
printf("%d %d\n",qwq,calc(qwq)-calc(qwq-));
}
return ;
}

随机推荐

  1. mysql ip常见异常

    这次的项目采用mysql数据库,以前没怎么接触过,所以遇到很多问题,在此小小总结一下: (1)com.mysql.jdbc.exceptions.jdbc4.CommunicationsExcepti ...

  2. Libev源码分析02:Libev中的IO监视器

    一:代码流程 在Libev中,启动一个IO监视器,等待该监视器上的事件触发,然后调用该监视器的回调函数.整个的流程是这样的: 首先调用ev_default_loop初始化struct  ev_loop ...

  3. 屏蔽指定地区IP访问

    <?php if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) { $ip = $HTTP_SERVER_VARS["HT ...

  4. hdu 3234 Exclusive-OR (并查集)

    Problem - 3234 题意不难理解,就是给出一些断言,以及一些查询,回答查询或者在找到断言矛盾以后沉默不做任何事. 这题其实就是一个并查集的距离存储问题,只要记录并查集元素的相对值以及绝对值就 ...

  5. tinyhttpd简介

    一:简介: tinyhttpd是由J. DavidBlackstone在1999年编写的,实现了一个很简单的web服务器.支持GET和POST方法,总代码量也就在500行左右,可以用来学习HTTP协议 ...

  6. Cutting Bamboos 主席树+二分+前缀和

    二分第x次砍的位置,然后用线段树查询小于这个位置的数的个数和值的和.然后判断即可 注意!!!主席树是通过动态开点实现的,本身已经不用再从1开始了,而本题开的范围也应该是0,100000 而不是1,10 ...

  7. phpstorm鼠标显示问题

    https://segmentfault.com/q/1010000004319802 使用phpstorm,不知道碰到了什么键,鼠标变成了一个字符那么宽的灰色色块,原来是一根很细的竖线,怎么弄?没法 ...

  8. ArrayList存储基本类型时的封装类

  9. PHP_APC扩展dll上传大文件及进度条实例

    1.弄好了APC之后,就是使用它了,下面是个例子,是一个进度条上传的例子,作为笔记记录下来 在这个例子之前,我们需要做如下的设置,如果我们需要上传的是大文件的话,请在您的php.ini文件中做如下的设 ...

  10. pycharm解析器找不到

    pycharm每个项目都需要设定解释器位置吧,把自己解释器位置添加到项目设置就好了 先装python,再装pycharm,不然找不到解析器的,解析器其实就是python.exe.