$Luogu4403$ 秦腾与教学评估 二分
$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 ;
}
随机推荐
- C# 局部函数与事件
本文告诉大家使用局部函数可能遇到的坑. 在以前,如果有一个事件public event EventHandler Foo和一个函数private void Program_Foo(object sen ...
- 利用mock生成随机的东西
Mock.mock({ "list|100": [ { 'id|+1': 1,//id排列 'color': '@color()',//随机颜色 'date': '@datetim ...
- Android 错误:IllegalStateException: Can not perform this action after onSaveInstanceState
今天做Fragment切换.状态保存功能的时候,出现了这个错误: E/AndroidRuntime(12747): Caused by: java.lang.IllegalStateException ...
- JVM -XX: 参数列表
功能开关: 参数 默认值或限制 说明 参数 默认值 功能 -XX:-AllowUserSignalHandlers 限于Linux和Solaris,默认不启用 允许为java进程安装信号处理器,信号处 ...
- 2018-10-15-Winforms-可能遇到的-1000-个问题
title author date CreateTime categories Winforms 可能遇到的 1000 个问题 lindexi 2018-10-15 09:35:15 +0800 20 ...
- NodeMCU快速上云集锦
摘要: 上至智慧园区项目,下至 `Hello world`,基于开源 MQTT 协议,阿里云 IoT 用户使用 NodeMCU 完成了不少 IoT 项目,以下为项目和教程集锦,欢迎大家一起上手试试. ...
- Activiti6-快速开始
下载 https://www.activiti.org/download-links 快速开始 https://www.activiti.org/quick-start 用户指南 https://ww ...
- 2018-8-10-C#-判断文件编码
title author date CreateTime categories C# 判断文件编码 lindexi 2018-08-10 19:16:52 +0800 2018-2-13 17:23: ...
- 安装 NodeJ Koa2、3 + 独立插件 cli脚手架 npm cnpm Vue
安装 NodeJ npm cnpm Koa2.3 + 独立插件 cli脚手架 Vue 安装 在 这里写过了 这两个分开了写 Nodej:下载 node.js 安装 10.0版 ...
- H3C STP配置示例