当前位置: 首页 > news >正文

《P3601 签到题》

题目背景

这是一道签到题!

建议做题之前仔细阅读数据范围!

题目描述

我们定义一个函数:qiandao(x) 为小于等于 x 的数中,与 x 不互质的数的个数。

这题作为签到题,给出 l 和 r,求出:

i=l∑r​qiandao(i)mod666623333

输入格式

一行两个整数,l、r。

输出格式

一行一个整数表示答案。

输入输出样例

输入 #1复制

233 2333

输出 #1复制

1056499

输入 #2复制

2333333333 2333666666

输出 #2复制

153096296

说明/提示

  • 对于 30% 的数据,l,r≤103。
  • 对于 60% 的数据,l,r≤107。
  • 对于 100% 的数据,1≤l≤r≤1012,r−l≤106。

代码实现;

#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
const ll Mn=1e6+5;
const ll mod=666623333;
ll prime[Mn],l,r,phi[Mn],vis[Mn],pc,ans,a[Mn];

void getprime(){
  for(ll i=2;i<Mn;i++){
    if(a[i])
      prime[pc++] = i;
    for(ll j=0;j<pc && prime[j]*i<Mn;j++){
      a[prime[j]*i]=false;
      if(i%prime[j]==0)
        break;
    }
  }
}

int main(){
  scanf("%lld%lld" ,&l,&r);
  for(int i=0;i<Mn;i++)a[i]=true;
  getprime();
  for(ll i=l;i<=r;i++){
    vis[i-l]=i;
    phi[i-l]=i;
  }
  for(ll i=0;i<pc && prime[i]*prime[i]<=r;i++){
    ll p=prime[i],start=l;
    if(l%p!=0){
      start=l/p*p+p;
    }
    for(ll j=start;j<=r;j=j+p){
      phi[j-l]=phi[j-l]/p*(p-1);
      while(vis[j-l]%p==0)
        vis[j-l]/=p;
    }
  }
  for(ll i=l;i<=r;i++){
    if(vis[i-l]>1){
      //处理剩下的大因子,最多有一个超过根号r的因子。
      phi[i-l]=phi[i-l]/vis[i-l]*(vis[i-l]-1);
    }
    ans=(ans+(i-phi[i-l]))%mod;
  }
  printf("%lld\n",ans);
  return 0;
}

相关文章:

  • 力扣hot100【链表】
  • 克魔助手(Kemob)安装与注册完整教程 - Windows/macOS双平台指南
  • IMS V 6即将破解制造业数字化转型“难题”!
  • WEB安全--内网渗透--Kerberos之AS_REQAS_REP
  • [蓝桥杯] 挖矿(CC++双语版)
  • 【RabbitMQ】队列模型
  • C++(进阶) 第11智能指针
  • HTTP的Keep-Alive是什么?TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?
  • ZW3D二次开发_普通对话框_设置对话框弹出位置
  • 基于webgis画点(未知坐标情况下)
  • FL-00002-MongoDB案例+1-数据救援工作
  • 【C++】函数直接返回bool值和返回bool变量差异
  • 使用 redis 实现消息队列
  • 【leetcode hot 100 70】爬楼梯
  • 万相2.1本地部署教程——阿里开源超强AI视频模型:物理模拟×中英双驱,定义AI生成新标杆!
  • almalinux 8 9 升级到指定版本
  • Ansible的使用2
  • 一周学会Pandas2 Python数据处理与分析-Pandas2二维数据结构-DataFrame
  • ruby超高级语法
  • Jenkins配置的JDK,Maven和Git
  • 巴防空系统击落印度无人机,印称巴方违反停火协议
  • 复旦设立新文科发展基金,校友曹国伟、王长田联合捐赠1亿元
  • 外交部:印巴都表示不希望局势升级,望双方都能保持冷静克制
  • 专访|“甲亢哥”的操盘手,带NBA球星们玩转中国流量
  • 金球看淡,不服就干!这是抬不起腿却昂着头的劳塔罗
  • 言短意长|党政主官如何塑造流量城市?