[简单题] Project Euler 601 Divisibility streaks

147人阅读 评论(0) 收藏 举报
分类:

(k+1)|(n+k) 就是 (k+1)|(n1)
这个函数就是最大的 k 使得 1,2,,k 都整除n-1吧
随便容斥下咯

#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
typedef long long ll;

inline ll Gcd(ll a,ll b){
  return !b?a:Gcd(b,a%b);
}

inline ll Sum(ll n,ll x){
  n/=x;
  return n*(n+1)/2*x+n;
}
inline ll Cnt(ll n,ll x){
  return n/x;
}


inline int f(int n){
  for (int i=0;;i++)
    if ((n+i)%(i+1)!=0)
      return i;
}
inline int g(int n){
  n--;
  for (int i=1;;i++)
    if (n%i!=0)
      return i-1; 
}

int main(){
  ll Ans=0,ans2=0;
  ll lcm=1,nxt;
  for (int i=1;i<=31;i++){
    ll n=1LL<<(i<<1);
    //for (int j=2;j<n;j++)
    //  if (f(j)==i)
    //ans2++;
    nxt=lcm*(i+1)/Gcd(lcm,i+1);
    Ans+=Cnt(n-2,lcm)-Cnt(n-2,nxt);
    lcm=nxt;
  }
  printf("%lld\n",Ans);
  return 0;
}
查看评论

【题解】atcoder2336 Flags

题目链接 题意:给定n个数对(xi,yi),从每个数对中选出一个数,使得得到的n个数之间的最小距离最大。求最大的最小距离。 分析:二分最大的最小距离mid。当选出某个数x后,对于数对(xi,yi)...
  • ZJZNKU
  • ZJZNKU
  • 2017-02-19 23:31:41
  • 173

AtCoder Beginner Contest 084 C题

题目大意:一共有N个火车站,每个火车站给出该站第一班列车的出发时间S以及到下一站的时间C和列车出发的频率F,S能被F整除,频率的意思是出发时间只能在大于等于S的时间并且出发时间能被F整除,现在要求从第...
  • OttsWang
  • OttsWang
  • 2018-01-04 19:56:11
  • 89

AtCoder - 2303 Boxes 神奇的题目

Problem Statement There are N boxes arranged in a circle. The i-th box contains Ai stones.Determine...
  • github_36268455
  • github_36268455
  • 2017-03-15 21:07:31
  • 154

atcoder ABC51 B题

题目链接 http://abc051.contest.atcoder.jp/tasks/abc051_b #include #include #define ll long long using ...
  • qq_35346829
  • qq_35346829
  • 2017-01-10 20:36:38
  • 123

BZOJ4066: 简单题

50s卡过..不知道为什么这么慢格子(x,y)里的加A可以直接插入一个值为A的点(x,y),如果原来有这个点了也没关系 因为插入可能导致树不平衡,所以用替罪羊树的重构思想,不满足平衡条件时暴力重构子...
  • L_0_Forever_LF
  • L_0_Forever_LF
  • 2017-03-25 08:19:42
  • 648

[IMO原题] BZOJ 4915 简单的数字题

第52届IMO试题解答 #include #include using namespace std;int main(){ long long l,r; cin>>l>>r; c...
  • u014609452
  • u014609452
  • 2017-06-01 21:28:24
  • 430

2018.1.29【 AtCoder Beginner Contest 087-C 】解题报告(简单dp)

C - Candies Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Sta...
  • Edwardzcn
  • Edwardzcn
  • 2018-01-29 01:39:53
  • 117

【Project Euler】8 第八题

 A Pythagorean triplet is a set of three natural numbers, a a2 + b2 = c2 For example, 32 +...
  • NoMasp
  • NoMasp
  • 2015-02-07 12:26:00
  • 1398

Project Euler 1-5题

第1题 题目来源ProjectEuler这个题求的是严格小于1000的数中,是3或5的倍数的数的和。(刚开始理解错below的意思了,把1000算进去了,尴尬)int main(){ ...
  • pfccWang
  • pfccWang
  • 2017-09-10 21:25:29
  • 344

lightoj1001【简单题】

题意: 一个人的值不能超过10; #include #include #include #include #include using namespace std; typedef long lo...
  • KEYboarderQQ
  • KEYboarderQQ
  • 2016-10-16 19:40:59
  • 413
    个人资料
    持之以恒
    等级:
    访问量: 40万+
    积分: 1万+
    排名: 1228
    文章分类
    最新评论