题目链接:点击查看

题目大意:给出公式代表第i个素数,现在给出n,求出答案,对于答案保留整数

题目分析:这个题目因为涉及到了素数,先用欧拉线性筛打个素数表再说,打完了然后分析一下时间复杂度,给出的样例一共有1e4个,而我们直接模拟实现的话,3e8以内的素数多少我的电脑跑不出来,但1e8以内的素数跑出来有5e7个,相乘的话大概时间复杂度就炸掉了。。所以肯定不能暴力模拟,其实我们可以直接观察一下,1e8的时间复杂度跑1e4个数压力很大,但只跑一个数的话还是没怎么有压力的,我们可以发现,输入3e8后,给出的答案只有3.2多,四舍五入答案就是3,再往下看看,我是大概找了15000这个数,只要超过这个数的话答案就都是3了,小于这个数的话我们可以预处理打个表,这样时间复杂度就下降为15000+1e4了,完美解决。。

这套题里打表找规律的题还真不少,因为知道1/P的话,当P很大的时候,对于总和的贡献就微乎其微了,这是预想之中的,但没想到影响会这么大,大概就是这样吧,实现就好了

代码:

#include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cctype>
#include<stack>
#include<queue>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<sstream>
#include<unordered_map>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e5+100;double ans[N];int pri[N];bool vis[N];int cnt;void P()//欧拉线性筛
{for(int i=2;i<N;i++){if(!vis[i])pri[cnt++]=i;for(int j=0;j<cnt&&pri[j]*i<N;j++){vis[pri[j]*i]=true;if(i%pri[j]==0)break;}}
}void init()//预处理1e5内的所有答案
{P();//15000ans[1]=0;for(int i=2;i<=15000;i++){ans[i]=ans[i-1];if(!vis[i])ans[i]+=1.0/i;}
}int main()
{
//  freopen("input.txt","r",stdin);
//  ios::sync_with_stdio(false);init();int w;cin>>w;while(w--)//对于每个查询O(1)回答{int n;scanf("%d",&n);if(n>=15000)printf("%d\n",3);elseprintf("%.0f\n",ans[n]);}return 0;
}

牛客 - lglg说要有题,于是便有了题。(欧拉线性筛+打表+思维)相关推荐

  1. 牛客3007E-立方数-欧拉线性筛+素数分解+二分

    链接:https://ac.nowcoder.com/acm/contest/3007/E 来源:牛客网 题目描述: 对于给定的正整数 N,求最大的正整数 A,使得存在正整数 B,满足 A3B=N 输 ...

  2. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

  3. 牛客小白月赛12:月月给华华出题(欧拉函数)

    月月给华华出题 思路 ∑i=1nigcd(i,n)\sum_{i = 1} ^{n} \frac{i}{gcd(i, n)}i=1∑n​gcd(i,n)i​ =∑d∣n∑i=1nid(gcd(i,d) ...

  4. 2023牛客寒假算法基础集训营5(通过ABCDHIKL) I题有详解(F已补)

    其他题待补中-- 链接:2023牛客寒假算法基础集训营5 简单题 A 小沙の好客(贪心,前缀和,二分) 题意思路 给定 n n n个商品的价值, q q q次询问,每次询问 k , x k, x k, ...

  5. 2020 7.12 -- 7.13 两场牛客多校 + 两场 unrated的cf的补题

    自闭ing之后的多校就不打了-太难了吧- 7.12多校 2020牛客暑期多校训练营(第一场) F Infinite String Comparision 少数几个会写的题 (唯二 开始想的是要lcm( ...

  6. 牛客网【加密和安全】专项练习错题笔记整理

    文章目录 第一题:DNS欺骗 第二题:加密算法安全级别 第三题:DLL注入 第四题:CIH病毒 第五题:防火墙技术 第六题:MD5 第七题:https 第八题:https 第九题:XSS和CSRF 第 ...

  7. 2019牛客网暑期多校赛第七场C题Governing sand --思维+前缀和

    链接:https://ac.nowcoder.com/acm/contest/887/C 来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 65536K,其他语言13107 ...

  8. 2023牛客寒假算法基础集训营1_20230116「典dp」「典set」「小思维+bfs」「小思维+构造+码力」「位运算博弈(人类智慧)」

    6/13 打得不好,这两天家里也很不好,跟做梦一样,脑子好像被僵尸吃掉了,前两个小时胡乱瞎写交题只过样例,wa了再看,什么b错都能写出来. M. M-本题主要考察了找规律_2023牛客寒假算法基础集训 ...

  9. 【2019牛客暑期多校训练营(第一场) - H】XOR(线性基,期望的线性性)

    题干: 链接:https://ac.nowcoder.com/acm/contest/881/H 来源:牛客网 Bobo has a set A of n integers a1,a2,-,ana1, ...

最新文章

  1. 【C++】【OpenCv】图片加噪声处理,计时,及键盘事件响应捕捉
  2. python坐标柱染色_Python matplotlib:在数据坐标中定位colorbar
  3. springboot 配置DRUID数据源
  4. 以下哪个选项不能减少用户计算机,2017年cad考试选择题「附答案」
  5. JavaScript性能优化【中】-- Performance 工具
  6. 你了解部署流水线吗?
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的物业管理系统
  8. 有关嵌入式、单片机、51单片机、STM32、的一些概念详解
  9. 会考计算机考试模拟软件,计算机会考考试模拟(范文).doc
  10. c语言将结构体转换为字符串,c语言中怎样将结构体转换成字符串
  11. python 全角字符和半角字符切换
  12. 我的世界服务器无限掉虚空,这条命令能够让世界瞬间毁灭,无限存活虚空!
  13. NYOJ1016(德莱联盟)(判断线段相交)
  14. STM32项目总结--物联网毕设使用
  15. 思科模拟器出现Translating XXXX...domain server (255.255.255.255) 解决办法
  16. java实习第一周周报,大学生实习周报
  17. 华为防火墙的策略路由
  18. 无服务计算的未来和挑战: A Berkeley View on Serverless Computing
  19. 认识SOAR-安全事件编排自动化响应
  20. 2020年焊工(高级)模拟试题及焊工(高级)模拟考试

热门文章

  1. redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
  2. AIO(Asynchronous IO)基本原理
  3. 请举例解释@Required Annotation?
  4. Spring 中的隔离级别
  5. maven工程拆分与聚合的思想
  6. spring boot 会默认加载DataSourceAutoConfiguration这个类
  7. IDEA的常用快捷键
  8. 字节输入流_InputStream类FileInputStream类介绍
  9. 常用的分布式事务解决方案介绍
  10. 数据结构入门(一级)