Pku 3372

http://acm.pku.edu.cn/JudgeOnline/problem?id=3372

 

Candy Distribution
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 3758 Accepted: 1938

Description

N children standing in circle who are numbered 1 through N clockwise are waiting their candies. Their teacher distributes the candies by in the following way:

First the teacher gives child No.1 and No.2 a candy each. Then he walks clockwise along the circle, skipping one child (child No.3) and giving the next one (child No.4) a candy. And then he goes on his walk, skipping two children (child No.5 and No.6) and giving the next one (child No.7) a candy. And so on.

Now you have to tell the teacher whether all the children will get at least one candy?

Input

The input consists of several data sets, each containing a positive integer N (2 ≤ N ≤ 1,000,000,000).

Output

For each data set the output should be either "YES" or "NO".

Sample Input

2
3 
4

Sample Output

YES
NO
YES

Source

 

题目大意:有n个同学坐成一个圆,一老师发糖果,依次发给第1、2、4、7...个同学,问是否每个同学都能得到至少一个糖。

分析:写个朴素的程序,输出1~100的情况后不难发现,只有当n=2^k(k为整数)时,输出YES。

下面转载一个证明:转自http://hi.baidu.com/5l2_/blog/item/6ffa241041f3b007213f2e20.html

要证:
       仅当N=2^K(K为整数)时,才能至少每人一糖。
证明:
       设第K次到分到第a[K]位小朋友.
       a[0]=0,a[1]=1,a[2]=3,a[3]=6……
       a[k]=K*(K+1)/2 %N

        易知a[k+2*N]=a[k],我们只要考察k取 0—2N-1这2N个数如果构成了N的完全剩余系那每个小朋友至少可得一颗糖,否则有人永远得不到糖。
        2N个数有点多,我们通过证明a[N-1-k]=a[N+k],可以把考察范围限定在k取[0,N-1]这N个数。
        下证 a[N-1-k]=a[N+k]
         a[N-1-K]=(N-K-1)*(N-K)/2 %N
                     =(N-1-2*K)*N/2 % N +(K+1)*K/2%N
                    = (N-1)*N/2 % N +(K+1)*K/2%N
                     = (N+K*N+ (N-1)*N/2 )% N +(K+1)*K/2%N
                     =(N+1+2*K)*N/2 % N +(K+1)*K/2%N
                     =(N+K+1)*(N+K) /2 % N
                     =a[N+K]
       
       下面考察a[0]…a[N-1],如果存在 a[i]=a[j] (i!=j)那么就无法构成N 的完全剩余系,反之存在。
   下证仅当N=2^t (t为非负整数) a[0]…a[N-1]两两不等。     
        1.N为奇数时 a[N-k-1]=(N-1)*N/2 % N +(K+1)*K/2%N=a[k]+ (N-1)*N/2 % N=a[k]
           故存在 a[i]=a[j] (i!=j)
        2.N=S*2^l (S>1为奇数,l>0)时
           a[i]=a[j] (i!=j)等价(j-i)(i+j+1)/2 %N=0.
           设 2^t=<S<2^(t+1),M为l和t+1的较大者
           令   j-i=S,j+i+1=2^M 解得 j=(S+2^M-1)/2 ,i=(2^M-S-1)/2
           0<(S+2^M-1)/2<(S+2*S)/2<2*S<=N
           0=(1-1)/2=<(2^M-S-1)/2<(2*S-S-1)/2<2*S<=N
           故存在 a[i]=a[j] (i!=j)
       3.N=2^l(l>=0)时
          假设存在a[i]=a[j] (i!=j)
          即(j-i)(i+j+1)/2=K*N. (i!=j)
          (j-i)和(i+j+1)不同奇偶,则(j-i)=X*N或(i+j+1)=X*N (X>=1)
          0<j-i<=N-1,0<j+i+1<=N-1+N-2+1=2N-2 故只能 i+j+1=N
          j-i为奇数 故 (j-i)*N/2 %N!=0
          即不存在a[i]=a[j] (i!=j)
        由此,得证仅N=2^t (t为非负整数) 时a[0]…a[N-1]两两不等。
证毕!

 

codes:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PKU VehicleID数据集是由北京大学智能交通与多媒体实验室提供的一个用于车辆识别的图像数据库。该数据集包含了车辆在不同环境、不同拍摄条件下的图像,旨在用于车辆相关研究的数据训练和测试。 PKU VehicleID数据集收集了超过8万辆车的图像,涵盖了2000多个车型和16000多个车例。这些图像是在不同的拍摄条件下捕捉到的,包括不同的光照、天气、角度和距离。这使得该数据集在车辆识别和相关研究领域具有较高的多样性和可用性。 PKU VehicleID数据集不仅提供了车辆图像,还包含了车辆的标注信息,如车辆类型、颜色、品牌等。这些标注信息为研究者提供了更多的可用数据,可以辅助他们进行车辆特征识别、车辆分类等相关研究。 PKU VehicleID数据集可以广泛应用于车辆识别、车辆检测、交通监控等领域的研究和实践中。通过利用该数据集,研究者可以进行车辆模型的建立与识别、车辆行为的分析与预测等工作,从而为智能交通和城市管理提供更好的技术支持和解决方案。 综上所述,PKU VehicleID数据集是一个丰富的车辆图像数据库,它提供了大量的车辆图像和标注信息,为车辆识别和相关研究领域的研究者提供了重要的资源和工具。通过该数据集的应用,我们可以更好地理解和研究车辆特征识别、车辆分类等问题,为智能交通和城市管理带来更多的创新和进步。 ### 回答2: PKU VehicleID数据集是由北京大学人工智能与自动化研究所于2016年发布的一个车辆检测和识别的数据集。这个数据集主要包含了来自北京市道路监控系统的车辆图像和相关的车辆属性信息。 PKU VehicleID数据集的特点主要有以下几点。首先,该数据集包含了非常大量的车辆图像,总计约50万张,涵盖了丰富的场景和车型样本。其次,这些图像都是以野外真实道路监控视频截取得到的,具有较高的真实性和复杂性。此外,数据集中的每一辆车都被分配了一个唯一的ID号码,用于标识和跟踪车辆。最后,PKU VehicleID数据集还提供了诸如车辆类型、颜色、品牌等属性信息,方便进行车辆属性识别和分类任务。 PKU VehicleID数据集在车辆检测、跟踪和识别领域有着广泛的应用价值。通过利用这个数据集,可以开展车辆检测算法的研究和性能评估。同时,也可以进行车辆属性识别、车型分类等应用任务的研究。这个数据集的发布对于提升车辆智能监控和交通管理系统的性能具有重要意义。此外,PKU VehicleID数据集还可以为自动驾驶、交通安全和交通流量分析等领域的研究提供有价值的实验数据基础。总之,PKU VehicleID数据集是一个丰富而有用的资源,为车辆相关研究提供了有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值