CF1780E Josuke and Complete Graph
原题链接
给定L,R(1≤L≤R≤1018,L≤109)L, R(1\leq L \leq R \leq 10^{18}, L \leq 10^{9})L,R(1≤L≤R≤1018,L≤109), 求 i,j(L≤i<j≤R)i, j(L \leq i <j\leq R)i,j(L≤i<j≤R) 有多少不同的 gcd(i,j)gcd(i, j)gcd(i,j).
记 g=gcd(i,j)g = gcd(i, j)g=gcd(i,j), 则 g∈[L,⌊R/2⌋]时g\in [L, \lfloor R/2\rfloor] 时g∈[L,⌊R/2⌋]时, 2g∈[2L,R]2g \in [2L, R]2g∈[2L,R], 符合题意.
当 g<Lg < Lg<L 时, 考虑整除分块.
若 g∈[i,r]g\in[i,r]g∈[i,r] 时, ⌊L−1g⌋\lfloor {L - 1\over g} \rfloor⌊gL−1⌋ 相同, 记为 fff.
则显然有 f⋅g≤L−1f \cdot g \leq L - 1f⋅g≤L−1, 即 f⋅g<Lf \cdot g < Lf⋅g<L.
还需满足 (f+1)⋅g≥L(f + 1) \cdot g\geq L(f+1)⋅g≥L, 即 g≥Lf+1g\geq{L\over f + 1}g≥f+1L, g≥⌈Lf+1⌉g\geq\lceil {L\over f + 1}\rceilg≥⌈f+1L⌉,
(f+2)⋅g≤R(f + 2) \cdot g\leq R(f+2)⋅g≤R, 即 g≤Rf+2g\leq{R\over f + 2}g≤f+2R, g≤⌊Rf+2⌋g\leq\lfloor {R\over f + 2}\rfloorg≤⌊f+2R⌋.
[i,r]∩[⌈Lf+1⌉,⌊Rf+2⌋][i, r]\cap[\lceil {L\over f + 1}\rceil,\lfloor {R\over f + 2}\rfloor][i,r]∩[⌈f+1L⌉,⌊f+2R⌋]符合题意.
整除分块:(以下两段代码等价).
for (int i = st; i <= ed; ++i) ans += num / i;
int L = 0; ed = min(ed, num);
for (int i = st; i <= ed; i = L + 1) {L = min(ed, num / (num / i)); ans += (L - i + 1) * (num / i);
}
代码如下:
#include <bits/stdc++.h>using namespace std;#define ll long long
#define int long longinline ll read() {ll x = 0, f = 0; char ch = getchar();while (!isdigit(ch)) f = ch == '-', ch = getchar();while (isdigit(ch)) x = (x << 3) + (x << 1) + (ch ^ 48), ch = getchar();return f ? -x : x;
}void work() {ll L = read(), R = read(); int res = R / 2 - L + 1; if (res < 0) res = 0; int r = 0; for (int i = 1; i < L; i = r + 1) {r = min(L - 1, (L - 1) / ((L - 1) / i)); int f = (L - 1) / i; int st = (L - 1) / (f + 1) + 1, ed = R / (f + 2);res += max(0ll, min(ed, r) - max(st, i) + 1);
// printf("[%d, %d], [%d, %d]\n", i, r, st, ed); }printf("%lld\n", res);
}signed main() {int t = read(); while (t--) work(); return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/391940.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!相关文章:

CF1780E Josuke and Complete Graph
原题链接 给定L,R(1≤L≤R≤1018,L≤109)L, R(1\leq L \leq R \leq 10^{18}, L \leq 10^{9})L,R(1≤L≤R≤1018,L≤109), 求 i,j(L≤i<j≤R)i, j(L \leq i <j\leq R)i,j(L≤i<j≤R) 有多少不同的 gcd(i,j)gcd(i, j)gcd(i,j). 记 ggcd(i,j)g gcd(i, j)ggcd(i,j), 则…...

DVWA-XSS(DOM)注入-Low-Medium-Hight
Low 先点个Select,静观其变 点击select以后url地址中多出来一个default参数,尝试这个注入点。 输入payload <script>alert(1)</script> 并提交Medium 1、先尝试<script>alert(1)</script>,并提交 这里不难看出…...

从PCB的结构与工艺理解阻焊(Solder mask)与助焊(Paster Mask)
🏡《总目录》 目录0,概述1, Solder Mask工艺2, Paste Mask工艺3,Solder Mask和Paste Mask的区别0,概述 在刚接触PCB的设计时,有时会不容易区分Solder Mask和Paste Mask的区别。或者在制作焊盘或…...

javaScript中的数组及遍历
<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>javaScript中的数组及遍历</title> </head> <script> /** JS 中 数组的定义: …...

如何实现两个笔记本电脑间的文件传输
如果需要共享、传输多台电脑之间的数据,我们借助数据线、硬盘等设备,或OneDrive、微信等软件,都可以轻松实现;而如果我们手头没有这些设备与软件,却又想尽快实现不同电脑之间的数据共享,则可以通过Windows自…...

2022 年,写给自己
今天是 2023 年的立春,正式由壬寅年进入癸卯年。按照惯例,继续给自己写一封信,来总结 2022 年,以及展望未来(稍微晚了点)。前言开头依然放《原则》作者 瑞达利欧 的一句话,献给看到这些文字的人…...

【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 31页省一等奖论文及代码
相关链接 (1)【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 问题一Baseline方案 (2)【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 问题一ARIMA、AutoARIMA、LSTM、Prophe…...

PTA甲级-1009 Product of Polynomials c++
文章目录题目内容Input Specification:Output Specification:Sample Input:Sample Output:一、题干大意二、题解要点三、具体实现总结题目内容 This time, you are supposed to find AB where A and B are two polynomials. Input Specification: Each input file contains …...

字符串模板
1.字符串模板基本使用 在ES6之前,想要将字符串和一些动态变量(标识符)拼接在一起,是非常麻烦的。 但是在ES6中提供了一种模板字符串 template string: 。使用 符号来编写字符串,这个字符串就称之为模板字…...

Web3 游戏中的创造者经济:从游戏到平台,用户生成内容的挑战
今天我们要探讨的是游戏。出于几个原因,游戏是为数不多的真正有机会在数字资产生态系统中扩展至十亿用户面向消费者的用例之一。 首先,游戏玩家已经习惯了数字资产;他们经常为游戏中的交易(即道具)付费。 其次&#x…...

osx 如何用 podman 和 Kubernetes
在 MacOS 上使用 Podman 和 Kubernetes,您需要执行以下步骤: 首先,您需要在您的 MacOS 上安装 Podman。要安装 Podman,请使用 Homebrew 运行以下命令: brew install podman 安装 Kubernetes 命令行工具 kubectl。您可…...

n个字符串排序(指针数组实现)
输入n和n个字符串(每个字符串不超过80个字符)请排序后输出,要求使用指针数组(而不是二维字符数组)处理 可以使用指针数组和动态内存分配来实现,具体思路如下: 首先读入字符串的个数 n;使用 malloc 函数动态分配一个指针数组 strA…...

vcs makefile脚本学习
文章目录前言1、各种波形文件2、makefile赋值3、vcsdve:最简单查看波形4、vcsverdi:把编译选项设置为变量前言 2023.3.16 🌸都开了 2023.3.29 月末 1、各种波形文件 vpd:Value Plus Dump,vcs自带的DVE的波形 fsdb&am…...

如何利用VS Code高效地写Markdown文档
1. 安装VS Code https://code.visualstudio.com/ 2. 安装以下插件 插件:Markdown All in One 用途:可以为Markdown文件做格式整理。 详细介绍:https://marketplace.visualstudio.com/items?itemNameyzhang.markdown-all-in-one 使用方…...

TCP和UDP网络编程
TCP和UDP协议是TCP/IP协议的核心。 TCP 传输协议:TCP 协议是一TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和…...

实体商家做抖音运营如何做矩阵?
商家实体门店如何做好短视频矩阵?这是一个值得深入探讨的问题。在当今的数字化时代,短视频成为越来越多企业吸引用户、提高曝光度的一种重要方式,实体店也不例外。在本文中,我们将提供一些实用的建议,帮助实体店如何做…...

代码随想录算法训练营第四十三天 | 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
1049. 最后一块石头的重量 II 视频讲解 主要思路: 将这堆石头分成尽可能质量相近的两堆,用01背包 代码实现: class Solution { public:int lastStoneWeightII(vector<int>& stones) {int sum 0;for(int i 0; i < stones.…...

SpringBoot中的拦截器
SpringBoot中拦截器还是延用的SpringMVC里的拦截器. 使用方式: 1.编写一个类实现HandlerInterceptor接口,并实现里面的三个方法 2.编写一个类实现WebMvcConfigurer接口对拦截器进行注册 在 Spring Boot 中,一个拦截器会拦截客户端的请求,执行三个方法…...

Java面试技巧——每天一个Tip之引言
我这个系列就是一个原则:不长篇大论,面试能过关。 长篇大论好理解,「铺垫」不要太多的意思呗。 大部分人,上CSDN就是要个答案。但是往往跟着标题进来了,结果文章越往下读,心里越着急——怎么还不说答案&a…...

容器化的UERANSIM之nr-binder使用
1. 搭建环境 1.1 核心网 docker-compose -f docker-compose-basic-vpp-nrf.yaml up -d 1.2 UERANSIM docker-compose -f ueransim-diy.yaml up -d 2. UERANSIM 配置 2.1 问题发现 如果我们使用交互式shell按照官网给出的方式使用nr-binder的话,会出现如下错误…...