2013年长春网络赛1010题

继巴斯博弈(30分钟)签到后,有一道必过题(一眼即有思路)。

思路老早就有(40分钟):倒是直到3小时后才被A掉。期间各种换代码姿态!

共享思路:

  unlucky student flag 如果存在,有且只有one。flyers为基数;

  其他student 为偶数。很容易想到以前做过的一道异或题。

过程:

(1)通过异或找unlucky。

(2)如果找到,再通过分发 flyers的规律取余操作确定 flyers的个数;

由于第二个条件出现了bug,但确信思路比对;所以各种换姿势,Wrang到想死,又各种找tricks。

(期间自然也有在线管理员的ansers的误导)。直到最后让队友完全了解思路才找到bug,然后A掉。

#include<stdio.h>
int main()
{
int i,n;
while(scanf("%d",&n)!=EOF)
{
__int64 ans=;
int a[],b[],c[];
for(i=; i<n; i++)
{
scanf("%d%d%d",&a[i],&b[i],&c[i]);
int x=a[i];
while(x<=b[i])
{
ans=ans^((__int64)x);
x+=c[i];
}
}
int js=;
if(ans)
{
for(i=;i<n;i++)
{
if(ans>=a[i]&&ans<=b[i]&&(ans-a[i])%c[i]==)js++;
//ans>=a[i]&&(ans-a[i])%c[i]==0最初写这样。该死的小bug
//也怪自己改错的重心出了问题,以为是tricks。~~o(>_<)o ~~
}
printf("%I64d %d\n",ans,js);
}
else printf("DC Qiang is unhappy.\n");
}
return ;
}

  

hdu 4768 Flyer (异或操作的应用)的更多相关文章

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

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

  2. 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 ...

  3. HDU 4768 Flyer(二分法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4768 题目大意:每组数据有n行输入,每行有三个数A.B.C,A<=B且小于2^32,从A到B每隔 ...

  4. HDU 4768 Flyer(二分)

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

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

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

  6. hdu 4768 Flyer 二分

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

  7. HDU 4768: Flyer

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

  8. C++ 中的异或操作^

    好好的利用异或能够产生奇妙的效果. 异或运算的性质: 不论什么一个数字异或它自己都等于0.也就是说.假设我们从头到尾依次异或数组中的每个数字,那么终于的结果刚好是那个仅仅出现一次的数字.由于那些出现两 ...

  9. 【js】Leetcode每日一题-数组异或操作

    [js]Leetcode每日一题-数组异或操作 [题目描述] 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == ...

随机推荐

  1. install OS from usb

      https://unetbootin.github.io/ https://rufus.akeo.ie/

  2. MongoDB-WriteConcern

    WriteConcern safe=false 非安全模式 很快

  3. 微信小程序,请求php后台返回json数据多出隐藏字符问题

    这几天在做一个微信小程序注册登录页面的时候碰到一个问题,就是使用wx.request api的时候success中返回的JSON数据前面会多出空白字符,后面网上查了一下是说php bom头问题(详细介 ...

  4. PhysicalDrive

    由于"\"是C/C+中转义符, "\\\\.\\"就相当于\\.\ 在Windows中 \\.\ 前缀用于标识设备,其中的"."表示本地计算 ...

  5. java中二维数组求最大值代码。。。。。。不懂呀

    总结:二维数组理解不了,,,,求解析... package com.c2; public class Aaa { // 求数组元素中最大的 public static void main(String ...

  6. Java-Maven-Runoob:Maven Eclipse

    ylbtech-Java-Maven-Runoob:Maven Eclipse 1.返回顶部 1. Maven Eclipse Eclipse 提供了一个很好的插件 m2eclipse ,该插件能将 ...

  7. VirtualBox 虚拟机 centos7 下 设置静态ip 并支持 xshell 远程登陆的设置方法

    1.设置虚拟机使用“桥接模式” 2.使用 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3  打开配置文件(其中 enp0s3 是你的linux的网卡名,在 ...

  8. EasyUI treegrid 加载checked

    EasyUI treegrid  加载checked $(function () { $('#tbDictContTree').treegrid({ title: '数据字典目录管理', iconCl ...

  9. python中的enumerate函数用于遍历序列中的元素以及它们的下标

    enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')): print i,j 0 a1 b2 c ...

  10. libevent网络编程汇总

    libevent源码剖析: ========================================================== 1.libevent源码剖析一(序) 2.libeve ...