题意:(square-free integer )无平方整数是除了1以外不被其它整数的平方除的数.
一个数n = ab,问你有多少个a,b的组合,a,b都是无平方整数,用f(n)表示,让你求
思路:首先需明白欧拉筛,利用欧拉筛来求解每个的f(i)。
①欧拉筛首先是确定是否为素数,如果为素数,那么f(i)肯定就只有两个((1,i),(i,1))。
②然后欧拉筛就利用素数来筛去非素数,筛的每一步都是筛掉
i * primes[j], 那么这里就对 i*primes[j] 进行判断。
分为以下情况
如果i%primes[j] != 0 那么i不是priems[j]的倍数,那么dp[i*priems[j]] = dp[i] * dp[primes[j]] ;不用考虑因数的限制,就是它们的组合。
如果i%primes[j] ==0 ** ,那么这时候就需要考虑i里面有几个priems[j]了,
如果
i%(primes[j] * primes[j])==0**,那么i * prime[j]里面肯定有大于等于三个的primes[j],所以无论怎么分给a和b,都不满足条件,于是可以得出
dp[i] = 0;
但如果知识 i%primes[j] ==0 那么i * primes[j]里面只有两个primes[j],那么这时a和b中就各分一个primes[j],其实就是求dp[i/primes[j]]的个数了。
dp[i] = dp[i/primes[j]];

#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e7 + 5;
typedef long long ll;
ll dp[maxn];
bool vis[maxn];
ll primes[maxn];
ll cnt;
void solve_num(){//memset(dp,1,sizeof(dp));错误了,memset是依靠二进制进行初始化的所以只能赋值为0dp[1] = 1;for(ll i = 2 ;i < maxn;i++){if(!vis[i]){primes[cnt ++] = i;dp[i] = 2; }for(ll j = 0 ; i * primes[j] < maxn ; j++){vis[i * primes[j]] = true;if(i % primes[j] != 0){dp[i*primes[j]] = dp[i] * dp[primes[j]];}else{if(i % (primes[j]*primes[j]) == 0 ){ dp[i * primes[j]] = 0; } else{dp[i * primes[j]] =  dp[i/primes[j]];}break;}} }for(int i =1;i<maxn;i++){dp[i] += dp[i-1];}
}
int main(){solve_num();ll t,n;cin>>t;ll ans;while(t--){ans = 0;cin>>n;cout<<dp[n]<<endl;}return 0;
}

(emmmm,欧拉筛还能这样用的,第一次遇见)
如果有什么错的话,请提出来嘿嘿嘿嘿

J - Sum(南京预选赛周末训练赛)补题相关推荐

  1. 林大5.1训练赛补题

    林大5.1训练赛补题 A.凸多边形曼哈顿 E.矩阵快速幂 I.线段dp A.凸多边形曼哈顿 题意:给你一个凸多边形,问你当其中K边形的最大dis[]是多少? 思路:首先是要发现K>=4的时候答案 ...

  2. 1.23山师训练赛补题

    文章目录 C - [The__Flash]的电影 D - [The__Flash]的排序 K - [The__Flash]的牛牛 L - [The__Flash]的鲨鲨 C - [The__Flash ...

  3. 10.23训练赛补题

    A.P1551 亲戚 思路:并查集 AC代码: (并查集暂时不会) #include<iostream> using namespace std; int n, m, p, a[5005] ...

  4. 2019ICPC上海区域赛 补题(12/13) 总结

    前言: 个人的 ICPCICPCICPC 第一站,还是值得记录一下的(虽然咕到现在才记录),总体而言体验很不错,比赛兼旅游.这套题总体印象就是树树树图,作为队里数据结构兼图论选手,这次也确实写了大部分 ...

  5. 2016 杭州区域赛补题

    A - ArcSoft's Office Rearrangement HDU - 5933 题意:现在有n个办公区,每个办公区内有a[i]个办公人员,现在要将这些人均匀的分布在m个办公区内,每个办公区 ...

  6. 2021山东省省赛补题

    cf传送门 前言 在gym看到,知道山东省很nb所以写了. 补题含大量借鉴大佬代码() F Birthday Cake 题意:给定n个串,求有多少对串能拼出平方串(能够表示成两个相同的字符串连接在一起 ...

  7. 2020ICPC南京区域赛 补题 总结

    前言 第一次打线上 ICPC\text{ICPC}ICPC ,记录一下.听说鸭血粉丝汤很好吃,虽然我没吃到,衣服也不赖.比赛环境方面,由于使用自己的设备,还是比较舒服的. 不晓得怎么,一到正式赛,前期 ...

  8. 2021 ICPC 南京 3.27训练赛

    2021 ICPC 南京 D - Paimon Sorting J - Xingqiu's Joke I - Cloud Retainer's Game 题目链接 D - Paimon Sorting ...

  9. 4.124.13天梯赛补题

    7-8 悄悄关注 (25 分) 输入样例1: 10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao 8 Magi 50 Pota 30 LLao 3 ...

最新文章

  1. 堵住大数据“窃密通道”刻不容缓
  2. python基础知识练习题
  3. 开发函数计算的正确姿势——轻松解决大依赖部署
  4. 有哪些工具可以让嵌入式开发事半功倍?详细盘点工程师必备工具
  5. 项目开发中遇到的小问题及小规范
  6. 如何判断一个对象是否为jquery对象
  7. Egret 集成第三方库 记录
  8. 使用拷贝的方式(adb push) 绕过Android系统和adb install直接安装APK
  9. ylbtech-dbs-m-YinTai(银泰网)
  10. [译] Redux vs. React 的 Context API
  11. pytorch Resnet 网络结构
  12. win10专业版占多少空间_Win10专业版分区C盘需要留多大空间?
  13. 鸿蒙桌面设置教程,鸿蒙系统桌面怎么设置好看?好看的鸿蒙系统手机桌面设置布局推荐...
  14. postman(一)常用的Tests方法
  15. Android 眼睛 显示隐藏密码(ImageView)
  16. Quorum共识简析
  17. jQuery-常用知识recap
  18. ESP32/ESP8266/ESP32C3系列模组 AT固件MQTT 对接阿里物联网平台
  19. leaflet使用L.KML.js插件上传本地kml文件到leaflet中
  20. 室内监控与室外监控有什么区别 如何选择合适的监控摄像机

热门文章

  1. 第十三讲:应用虚拟化
  2. 51nod 1340 地铁环线
  3. 【已解决】有关 xmind 8 U9 序列号一直失效的问题
  4. vue watch中获取this.$refs.xxx节点的方法
  5. 互金启示录:流量思维的末路
  6. 这一千个Python库,总有你想要的!
  7. Matlab之雷达和激光雷达数据跟踪级融合(附源码)
  8. 给定n个整数(0-100),其中0可以替换成任意其他数字,如数组{98,99,100,1,2,3} 视为连续,要求判断这n个整数是否连续?
  9. Photoshop三分钟制作艺术照
  10. 互联网晚报 | 8月18日 星期三 | 荣耀回应上市传闻;小爱同学宣布月活用户破亿;许家印卸任恒大地产董事长...