题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4768

题目大意:每组数据有n行输入,每行有三个数A、B、C,A<=B且小于2^32,从A到B每隔C个数发一份传单,最后所有发过传单的数中每一个数发了奇数次传单的是倒霉的那个人,倒霉的人最多只有1个。如果存在这个人输出他的序号和传单数,否则输出“DC Qiang is unhappy”

Sample Input
2
1 10 1
2 10 1
4
5 20 7
6 14 3
5 9 1
7 21 12
 
Sample Output
1 1
8 1

分析:直接模拟会超时,二分的奇妙运用

代码如下:

 # include<iostream>
# include<cstdio>
# include<algorithm>
# define LL __int64
# define maxn
using namespace std; LL a[maxn],b[maxn],c[maxn];
int n; int judge(LL l,LL r)
{
LL ret=;
for(int i=; i<=n; i++)
{
if(l>b[i] || r<a[i]) continue;
int k=a[i];
int j=min(r,b[i]);
if(j<k) continue;
ret += max(0LL, (j-k)/c[i]+);
}
if(ret% == )
return ;
return ;
} int main()
{
while(scanf("%I64d",&n)!=EOF)
{
for(int i=; i<=n; i++)
scanf("%I64d%I64d%I64d",&a[i],&b[i],&c[i]);
LL l=;
LL r=;  //可用(__int64)1 << 32 + 1代替,必须加 __int64
LL tmp = -;
while(l<=r)
{
LL mid=(l+r)/;
if(judge(,mid))
{
r = mid - ;
tmp = mid;
}
else
l= mid+;
}
if(tmp==-)
printf("DC Qiang is unhappy.\n");
else
{
int ans = ;
for(int i=; i<=n; i++)
if(a[i]<=tmp && b[i]>=tmp &&(tmp-a[i])%c[i]==)
ans ++;
printf("%I64d %d\n",tmp,ans);
}
}
return ;
}

HDU 4768 Flyer(二分法)的更多相关文章

  1. 2013长春网赛1010 hdu 4768 Flyer

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4768 题意:有n个社团发传单,每个社团发给编号为A_i, A_i+C_i,A_i+2*C_i,…A_i ...

  2. HDU 4768 Flyer(二分)

    题目链接: 传送门 Flyer Time Limit: 1000MS     Memory Limit: 32768 K Description The new semester begins! Di ...

  3. HDU 4768 Flyer (2013长春网络赛1010题,二分)

    Flyer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. hdu 4768 Flyer 二分

    思路:由于最多只有一个是奇数,所以二分枚举这个点,每次判断这个点的左边区间段所有点的和作为 二分的依据. 代码如下: #include<iostream> #include<cstd ...

  5. HDU 4768 Flyer【二分】||【异或】

    <题目链接> <转载于  >>> > 题目链接: n个社团派发传单,有a,b,c三个参数,派发的规则是,派发给序号为a,a+c....a+k*c,序号要求是小 ...

  6. HDU 4768: Flyer

    题意: 有N个社团,每个社团三个属性A,B,C,表示会向编号A+k*C的同学发传单(k=0,1,2...  && A+k*C <= B).题目保证最多有一个人收到的传单数是奇数. ...

  7. hdu 4768 Flyer (异或操作的应用)

    2013年长春网络赛1010题 继巴斯博弈(30分钟)签到后,有一道必过题(一眼即有思路). 思路老早就有(40分钟):倒是直到3小时后才被A掉.期间各种换代码姿态! 共享思路: unlucky st ...

  8. hdu 2289 Cup (二分法)

    http://acm.hdu.edu.cn/showproblem.php?pid=2289 二分法解题. 这个题很恶心...一开始测试样例都不能过,这个π一开始取3.1415926结果是99.999 ...

  9. hdu 4768 异或运算

    http://acm.hdu.edu.cn/showproblem.php?pid=4768 貌似非常多人是用的二分 可是更好的做法貌似还是异或 对于第k个人.假设他接到偶数个传单.那么异或的结果还是 ...

随机推荐

  1. .NET 基础 一步步 一幕幕[面向对象之静态、非静态]

    静态.非静态 先来看一段代码来区分静态与非静态: using System; using System.Collections.Generic; using System.Linq; using Sy ...

  2. angular的filter

    angular的filter filter两种用法 1.在模板中使用filter {{expression|filter}}//基本用法 {{expression|filter1|filter2|fi ...

  3. JSON序列化及利用SqlServer系统存储过程sp_send_dbmail发送邮件(一)

    JSON序列化 http://www.cnblogs.com/yubaolee/p/json_serialize.html 利用SqlServer系统存储过程sp_send_dbmail发送邮件(一) ...

  4. AQTime教程(1)

    AQTime教程 1 简介 AQTime和MemProof都是AutomatedQA旗下的产品,AQTime比MemProof提供了更丰富强大的功能.该产品含有完整的性能和调试工具集,能够收集程序运行 ...

  5. Android设计模式系列--模板方法模式

    模板方法,和单例模式是我认为GOF的23中最简单的两种模式.但是我个人对模板方法的经典思想特别推崇,虽然模板方法在大对数情况下并不被推荐使用,但是这种通过父类调用子类的方法,使用继承来改变算法的一部分 ...

  6. sphinx的简单实例

    sphinx.conf中的配置: source indexLocation { type = mysql sql_host = 192.168.1.113 sql_user = root sql_pa ...

  7. Android应用在不同版本间兼容性处理

    在Android系统中向下兼容性比较差,但是一个应用APP经过处理还是可以在各个版本间运行的.向下兼容性不好,不同版本的系统其API版本也不同,自然有些接口也不同,新的平台不能使用旧的API,旧的平台 ...

  8. java_实现接口的枚举类

    package ming; interface GenderDoc { void info(); } enum Gender implements GenderDoc { // public stat ...

  9. ERROR:_OBJC_CLASS_$_ADBannerView

    http://stackoverflow.com/questions/4127489/iads-integration-with-cocos2d You are getting that error ...

  10. 数据库中的DDL和DML语言

    "D:\mysql-5.6.22-winx64\bin"添加到系统环境变量path中了,然后在任意目录可访问mysql等命令,这样如登录等操作就不需要进入MySQL安装目录才好执行 ...