Codeforces 955C Sad powers 基础数论+二分

GEO数据库数据下载方法总结 #GEO数据下载 GEO是生信分析经常用到的数据库。经常需要从中获取表达矩阵,平台信息,meta信息等,本博文总结了几种下载GEO数据的方法,各有优劣,实际应用过程中自行选择适合自己的。 ##方法一:直接从浏览器中下载 以数据集GSE1001为例, 可以直接点击“Series Matrix Files”获取该样本txt格式的表达谱数据,一般我们认为这种处理过的表达谱数据是没有问题的,当然,具体情况具体分析。 打开下载的文件可以看到许多“#”开头的行,这些是注释信息,一般关注这些注释信息中的“data pr 阅读详情

传送门:Sad powers

分析: 先固定指数p,x^p <= 1e18 可以推导出 x <= 10^(18/p) [取对数推导]

若 p == 2, 则有 10^9 那么多的数字 满足条件

若 p >= 3, 则最多有 10^6 的数字满足 条件

先预处理,把所有不是 完全平方数且满足 x^p<=1e18(p>=3) 的x都加入到vector, 排序去重

对于每次查询 输出  sqrt(R) - sqrt(L-1) + upper_bound(R) - lower_bound(L)

对于快速查询x的平方根,二分查询

总的时间复杂度为 (1e6 + Qlog1e18)


代码如下:

#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;

typedef long long LL;

LL root(LL x) {
    LL left = 0, right = 1e9;
    LL mid ,ans;
    while (left<=right) {
        mid = (left+right)>>1;
        if (mid*mid<=x) {ans = mid; left = mid+1;}
        else right = mid-1;
    }
    return ans;
}

vector<LL>g;
void init(){
    g.clear();
    for (LL i=2; i<=1e6; i++) {
        double t = 1.0*i*i*i;
        LL  s = i*i*i;
        while (t<2e18) {
            LL root_s = root(s);
            if (root_s*root_s<s) g.push_back(s);
            t *= i;
            s *= i;
        }
    }
    sort(g.begin(),g.end());
    int sz = unique(g.begin(),g.end())-g.begin();
}

int main(){
    init();
    int q;
    scanf("%d",&q);

    LL l,r;
    while (q--) {
       scanf("%I64d %I64d",&l,&r);
       int ans1 = upper_bound(g.begin(),g.end(),r) - lower_bound(g.begin(),g.end(),l);
       int ans2 = root(r) - root(l-1);
       printf("%d\n",ans1+ans2);
    }
    return 0;
}


Python爬虫实战:高效爬取CNKI知网文献数据的技术解析 本文将详细介绍如何使用Python最新技术构建一个高效的CNKI知网文献爬虫系统。我们将从爬虫基础知识讲起,逐步深入到高级反反爬技术、分布式爬取、智能解析等前沿内容。文章包含完整的代码实现,涵盖请求模拟、数据解析、持久化存储等关键环节,并特别针对CNKI的反爬机制提供解决方案。通过本文,读者将掌握构建专业级学术文献爬虫的全套技术栈。关键词:Python爬虫、CNKI爬取、反反爬技术、文献数据挖掘、Scrapy框架本文详细介绍了如何使用Python最新技术构建CNKI知网文献爬虫。 阅读详情

相关推荐

2021年全国职业院校技能大赛高职组网络系统管理赛项

S1 Ruijie(config)#switch virtual domain 1 Ruijie(config-vs-domain)#switch 1 Ruijie(config-vs-domain)#switch 1 priority 150 Ruijie(config-vs-domain)#switch 1 description S1 Ruijie(config-vs-domain)#exit Ruijie(config)#vsl-port Ruijie(config-vsl-port)#po

bfq05234214的博客 1133

Codeforces Pride(数论)

题目大意: 给你n个数,让你进行操作,操作是对两个数取他们的gcd,这个gcd可以将这两个数其中一个替换掉,问将所有的数字变为1最少需要多少次操作 解题思路: 我们应该找能gcd得出1的最小区间,得出他们的距离,这个距离就是将这个小区间变出一个1所需要的步数,只要能得出一个1,再需要n-1步就可以将整个区间变为1了 代码: #include <bits/stdc++.h> using...

weixin_43784305的博客 333

【RT-Thread】从零到一:RT-Thread Studio工程创建与程序下载全流程实战

本文详细介绍了RT-Thread Studio开发环境的安装与使用,从工程创建到程序下载的全流程实战指南。通过具体案例演示了如何在STM32平台上快速开发RT-Thread应用,包括时钟配置、内存优化、构建调试等关键技巧,帮助开发者高效完成嵌入式系统开发。

weixin_30336061的博客 541

codeforces 475D CGCDSSQ (st表+数论)

D. CGCDSSQ time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Given a sequence of integers a1, ..., an and q q

clover_hxy的博客 601

手把手教你用Gazebo+ROS搭建智能小车机械臂系统(含完整配置文件)

本文提供了一份详细的实践指南,手把手教你使用Gazebo和ROS搭建智能小车机械臂仿真系统。内容涵盖从URDF/Xacro模型设计、Gazebo控制器配置到ROS话题通信与系统集成的完整流程,并提供了可复用的配置文件与调试技巧,帮助开发者快速构建并控制一个功能完备的移动操作机器人平台。

sugar的博客 971

随机森林文本分类

随机森林原理及代码实现 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录随机森林原理及代码实现前言一、集成算法是什么?二、随机森林是什么三、 数据预处理3.1 先来看一下我们的文本数据3.2 预处理3.3 统计评论情感值积极与消极的占比二、使用步骤参数介绍(4个)属性1.引入库2.参数调参方法总结 前言 提示:这里可以添加本文要记录的大概内容: 例如

m0_46579176的博客 5808

Codeforces Round #680 C-Division(数论+分解质因子)

题意 给你两个数字 p , q ,让你求满足( p % x == 0 && x % q != 0 )的最大的 x 思路 这里我们用n,m来代替p,q 如果 n % m != 0 那么最大的 x 就是 n 如果 n % m == 0 , 我们知道 假设 如果 n % x == 0 t1 <= e1 , t2 <= e2 … tk <= ek; 又因为 n % m == 0 f1 <= e1 , f2 <= e2 … fk <= ek 如果想让 x ..

Cosmic_Tree的博客 540

微信小程序 - [wxapplib]] backgroundfetch privacy fail {“errno”:101,“errMsg”:“private_getBackgroundFetchDa

微信小程序报错之backgroundfetch privacy fail,微信小程序报错WAServiceMainContext.js:1 [wxapplib]] backgroundfetch privacy fail {“errno“:101,怎么解决?问题出现:调用wx.chooseMessageFile报错(开发者工具中正常)用户隐私协议中未声明小程序使用此功能,安卓真机调试报错:backgroundfetch privacy fail ,怎么解决?微信小程序[wxapplib]] backgrou

🏆 前端领域优质创作者 1万+

Codeforces 1114C(数论+唯一分解)

题目链接:传送门 解题思路:y1s1,拿到这题我脑袋中只有暴力,观摩了别人的博客,学到了点东西。对于本题,我们可以知道,在b进制后有几个0表示的是这个数是b的几次方的倍数,于是题目便转化为了求n的阶乘最大能被b的几次方整除,从唯一分解定理我们可以知道,我们对n的阶乘和b唯一分解得到:\(b=p1^{a1}\times p2^{a2}\times p3^{a3}……\)\(n!=p1^{b1}\t...

小谢的博客 327

IP-Guard分类管理详解

大家都知道在配置IPGUARD策略前需要做分类库进行设置和分类。 1、应用程序:可以分类,例如上班时间只能用OFFICE和WPS,记事本等办公软件,可以在分类里设置一个类 ;办公软件,在未分类里找到OFFICE,WPS等拖入心建的分类里就可以在配置策略里调用。 2、网站分类也不一样,可以按照自己方式自定义。也可以导入厂家已经收集到的网站分类。 3、邮箱分类:可以提前定义好一个或...

IP-Guard专栏 589

CKS-CN考试之路----11

显然是alpine-b的镜像有libcrypto3-3.1.4-r5。新版本发布老版本会被回收,此时pod只剩下2个container。我们依次测试是哪个镜像里包含libcrypto3。可以看到alpine的pod有3个副本.

Q先生 652

Codeforces Round 955 (Div. 2, with prizes from NEAR!) --- E ----Number of k-good subarrays -- 题解

对于朴素的n考虑是复杂的,如果假设n只可能为2的某次方,那么不妨设 n == 8,k==2;那么所需要计算的就是 0 1 2 3 4 5 6 7,有多少个k好子数组,其实可以相当于计算0 1 2 3和 4 5 6 7有多少个好数组。但是可以发现这样分开计算需要补上合并时带来的新的答案。这可以知道,计算f(n,k) 需要返回 (l,r,k) 这三个信息(n代表的是2的n次方这个数),l代表当前这个数组左部有多少个连续的可行数,r代表这个数组右部有多少个连续的可行数,ans代表当前这个数组有多少答案。

weixin_73936404的博客 420

你以为你懂 Java 反射?看了这篇源码分析,我发现我以前都错了

摘要:本文讲述了一次生产环境Metaspace内存溢出的故障排查经历。事故源于一个通用数据导出功能中频繁使用反射调用method.invoke(),触发了JVM的"膨胀机制":当同一Method对象调用超过15次时,JVM会动态生成GeneratedMethodAccessor类,导致Metaspace被撑爆。文章分析了问题根源在于循环中反复调用getMethods()创建新Method对象,并提出了三种解决方案:缓存Method对象、改用MapStruct/MethodHandle工具

BUG猿的博客 770

Codeforces 955C Sad powers

题目链接:https://codeforces.com/problemset/problem/955/C 题意:  t次询问  每次给出L,R  问有多少个x 满足  L &lt;= x &lt;= R 且  x = a^p  (a &gt; 0  p &gt; 1)   (t &lt;= 1e5,  1 &lt;= L &lt;= R &lt;= 1e18) 思路: 枚举p,因为R&lt;=...

yizhibaiwuya的博客 268

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Codeforces 955C Sad powers

C. Sad powerstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou're given Q queries of the form (L, R).For each query you have to find the number ...

J. Cole 846

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

codeforces 955 C. Sad powers (数学+二分)

题目:http://codeforces.com/contest/955/problem/C 题意:q次询问,每次给出l,r 问 l~r 有多少数满足存在 a &gt; 0, p &gt; 1 x = ap; 自己做的时候就简单想到把所有满足条件的数放入vector中,然后发现满足条件的数字太多,一脸懵逼,然后放弃抵抗。看了题解才直到这道题目要稍微动一下脑筋 思路:对于1018来说...

- 回忆゛ 295

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Codeforces 955C Sad powers (数论)

题意 Q次询问 每次询问给你一个区间 [ L ,R ] 要你找到一个 L <= X <= R 使得存在数字 a 和 p (a > 0, p > 1) 满足 x = ap 要你输出这个区间满足该条件的数字 x 的个数 思路 这道题暴力即可做。 ① 对于p为偶数的,肯定能够直接开方。我们对L-1和R开方,sqrt® - sqrt(L - 1)即为该区间p为2的X的个数。 ② 对...

Authur_gyc 248

Codeforces 955C Sad powers (数论)

题目链接:Sad powers 题意:给出n个l和r,求出每个给出的[l,r]之间的可以使是另外一个数的k次方的数。(k>=2) 题解:题目给出的数据范围最大是1E18所以如果要直接把所有的从1-1E18的满足条件的数存下来的话一定会超时,但是我们可以注意到1e6^3 = 1e18,所以我们可以先把指数大于3的满足条件的数存下来,指数为2的分开来算(这里要把是别的数平方的数去掉...

129

CodeForces - 955C——Sad powers

题目链接:https://vjudge.net/contest/336724#problem/I 题意:给出一个区间L~R,问在里面能找到多少个x满足L ≤ x ≤ R且x = ap (a > 0,p > 1) 思路:找出a的3次幂以上的数,可以缩小为1e6,2次幂的数可以用开根号求,3次幂以上的去个重 #include<bits/stdc++.h> #de...

creator平 237

Codeforces 955C - Sad powers

http://codeforces.com/problemset/problem/955/C假设p=2 那么底数范围是1~1e9 假设p>=3 那么底数范围是1~1e6 并且后面的数的power会递增得越来越快 所以可以考虑O(nlogn)预处理出p为奇数时的x 然后加上p为偶数时的x就是答案很明显p为偶数时是某个的平方 所以注意筛选#include <iostream> #include

sb的博客 706

Codeforces 955C Sad powers(数论)

题目链接:http://codeforces.com/problemset/problem/955/C C. Sad powerstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou're given Q queries of ...

qq_36876305的博客 347

Codeforces 955C - Sad powers(数论 + 二分)

链接: http://codeforces.com/problemset/problem/955/C 题意: Q次询问(1≤Q≤1e5),每次询问给出两个整数L, R(1≤L≤R≤1e18),求所有符合条件的整数x的个数。条件为:L≤x≤R,x = a的p次方(a, p为整数且a>0, p>1)。 分析: 一、当指数p=3时,底数a最多有1e6个,由于指数增加时底...

weixin_30312563的博客 162

Codeforces 955C Sad powers(二分+思维)

题目链接:http://codeforces.com/contest/955/problem/C 题意:q次查询,每次查询两个数,l和r,求l到r之间有多少个 x = a^p, (a &gt; 0, p &gt; 1)。 思路:最基础的想法应该是对两个数开n次方根(n从2到开了没变化为止),现在想怎么优化,显然n到3时就最多只有1e6个数, 所以n&gt;=3最多也就只有不超过2e6个数,这...

LLL_yx的博客 340

CodeForces 955C :Sad powers 打表+二分

传送门 题目描述 给你q个询问(1 <= q <=1e5),每次询问l到r这个区间内(1 <= l <= r <= 1e18),满足x=a^p的x的数量(a>0,p>1)。 输入格式: 第一行输入一个整数q。 第二行到第q+1行每行输入两个整数l,r。 输出格式: 一共q行,每行一个数,表示l到r之间有多少满足条件的数。 分析 首先如果我们需要计算平方数的话,直接通过sqrt计算即可,那么p大于2的情况如何计算呢 提前把1e18之内的符合条件的数字打出来,然后二分查

tlyzxc的博客 257

Codeforces 955C Sad powers(数论)

Codeforces 955C Sad powers 题意 q组询问,每次询问给定L,R,求[L,R]区间内有多少个数可以写成ap的形式,其中a>0,p>1,1 ≤ L ≤ R ≤ 1e18。 思路 对于p>2的情况,由于随着指数p的增大,小于1e18的p次幂的数量会急剧减小,总数量的级别在1e6多左右,因此可预处理。L,R不超过1e18,可以直接枚举数字1-1e6,将每个数字...

weixin_30919919的博客 135

codeforces 955C Sad powers

题目链接:http://codeforces.com/contest/955/problem/C 题意:Q次询问,每次询问L,R区间内满足x=a^p的数的个数,其中Q<=1e5,1<=L<=R<=1e18,a>0,p>1; 分析:看到这题首先想到的是分解指数,即在1e18范围内,指数p最大为64(2^64),然后我们可以利用二分将指数为i的满足L<=a...

weixin_34375233的博客 84
上一篇: 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 E-回旋星空
下一篇: 第13届 广工校赛 题解汇总
罗侯
博客等级 码龄10年 135粉丝 258原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值