LINK:回首过去

考试的时候没推出来 原因:状态真的很差 以及 数论方面的 我甚至连除数分块都给忘了.

手玩几个数据 可以发现 \(\frac{x}{y}\)满足题目中的条件当且仅当 这个是一个既约分数 且 y中只含2,5的因子.

枚举y考虑贡献 先除掉本身的2,5的倍数后变成w1 之后考虑x 1~n中x只要是w1的倍数那么都是不合法的。

把这些数给去掉即可.这样就得到了一个O(n)的做法。

观察数据范围 容易想到 考察的是一个根号的算法。

此时考虑枚举w1 那么可以发现w1要满足 不是2,5的倍数 此时贡献为n/w1 考虑这样的数字有多少个 容易发现可以暴力统计 强行乘上若干个2和若干个5.

推到这里我昨天卡住了 因为这还没有达到很好的效果 忘了整除分块了 直接分块 容易得到一个\(\sqrt{n}log_2log_5\)的做法。

不过这样 只能信仰过题。考虑把两个log优化掉 可以发现求多少个的时候其实是求 1~n/w1中 只包含2,5质因子数的个数。

将这个东西预处理 然后从小到大排序 整除分块的时候 就可以单调的判断了 复杂度\(\sqrt{n}+log^3\)

中间一个小步骤需要简单容斥一下.

const ll MAXN=10010;
ll n,ans,cnt;
ll a[MAXN];
inline ll calc(ll x)
{
return x-x/2-x/5+x/10;
}
signed main()
{
//freopen("1.in","r",stdin);
get(n);
for(ll i=1;i<=n;i=i*2)
for(ll j=1;i*j<=n;j=j*5)a[++cnt]=i*j;
sort(a+1,a+1+cnt);
ll w1,w2,flag=cnt;
for(ll i=1;i<=n;i=w2+1)
{
w1=n/i;w2=n/w1;
while(a[flag]>w1&&flag)--flag;
ans=ans+w1*(calc(w2)-calc(i-1))*flag;
}
putl(ans);
return 0;
}

luogu P6583 回首过去 简单数论变换 简单容斥的更多相关文章

  1. (step7.2.1)hdu 1395(2^x mod n = 1——简单数论)

    题目大意:输入一个整数n,输出使2^x mod n = 1成立的最小值K 解题思路:简单数论 1)n可能不能为偶数.因为偶数可不可能模上偶数以后==1. 2)n肯定不可能为1 .因为任何数模上1 == ...

  2. 简单数论之整除&质因数分解&唯一分解定理

    [整除] 若a被b整除,即a是b的倍数,那么记作b|a("|"是整除符号),读作"b整除a"或"a能被b整除".b叫做a的约数(或因数),a ...

  3. 2018.12.17 bzoj1406 : [AHOI2007]密码箱(简单数论)

    传送门 简单数论暴力题. 题目简述:要求求出所有满足x2≡1mod&ThinSpace;&ThinSpace;nx^2\equiv1 \mod nx2≡1modn且0≤x<n0\ ...

  4. Pairs Forming LCM (LightOJ - 1236)【简单数论】【质因数分解】【算术基本定理】(未完成)

    Pairs Forming LCM (LightOJ - 1236)[简单数论][质因数分解][算术基本定理](未完成) 标签: 入门讲座题解 数论 题目描述 Find the result of t ...

  5. Help Hanzo (LightOJ - 1197) 【简单数论】【筛区间质数】

    Help Hanzo (LightOJ - 1197) [简单数论][筛区间质数] 标签: 入门讲座题解 数论 题目描述 Amakusa, the evil spiritual leader has ...

  6. Aladdin and the Flying Carpet (LightOJ - 1341)【简单数论】【算术基本定理】【分解质因数】

    Aladdin and the Flying Carpet (LightOJ - 1341)[简单数论][算术基本定理][分解质因数](未完成) 标签:入门讲座题解 数论 题目描述 It's said ...

  7. Sigma Function (LightOJ - 1336)【简单数论】【算术基本定理】【思维】

    Sigma Function (LightOJ - 1336)[简单数论][算术基本定理][思维] 标签: 入门讲座题解 数论 题目描述 Sigma function is an interestin ...

  8. Least Common Multiple (HDU - 1019) 【简单数论】【LCM】【欧几里得辗转相除法】

    Least Common Multiple (HDU - 1019) [简单数论][LCM][欧几里得辗转相除法] 标签: 入门讲座题解 数论 题目描述 The least common multip ...

  9. 七夕节 (HDU - 1215) 【简单数论】【找因数】

    七夕节 (HDU - 1215) [简单数论][找因数] 标签: 入门讲座题解 数论 题目描述 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们 ...

随机推荐

  1. SaaS 系统架构,Spring Boot 动态数据源实现!

    这段时候在准备从零开始做一套SaaS系统,之前的经验都是开发单数据库系统并没有接触过SaaS系统,所以接到这个任务的时候也有也些头疼,不过办法部比困难多,难得的机会. 在网上找了很多关于SaaS的资料 ...

  2. ant design pro 当中改变ant design 组件的样式和 数据管理

    ant design pro 简介 官网简介 链接 https://pro.ant.design/docs/getting-started-cn 项目结构 https://github.com/ant ...

  3. python中的常用数据类型

    python中的常用数据类型 以下是个人总结的python中常见的数据类型,话不多说,我们直接步入正题: 数字类型 整型类:int类可以表示任意大小的整数值,在python中没有像JAVA或者C那样的 ...

  4. vs2019使用github

    本人操作系统win10 第一步,下载vs github插件 直接看图 下载完成后,需要关闭所有vs2019窗口,之后会弹出下面的窗口,点击modify,完成之后,重新打开vs就安装好了 下面就可以在v ...

  5. python技巧 namedtuple

    python的namedtuple可以创建一个带字段名的元祖和一个带名字的类 In [1]: from collections import namedtuple ...: ...: nginx=na ...

  6. Alink漫谈(十一) :线性回归 之 L-BFGS优化

    Alink漫谈(十一) :线性回归 之 L-BFGS优化 目录 Alink漫谈(十一) :线性回归 之 L-BFGS优化 0x00 摘要 0x01 回顾 1.1 优化基本思路 1.2 各类优化方法 0 ...

  7. CSS实现宽度自适应100%,宽高16:9的比例的矩形

    现在我们来讲讲做自适应16:9的矩形要怎么做 第一步先计算高度,假设宽100%,那么高为h=9/16=56.25% 第二步利用之前所说设置padding-bottom方法实现矩形 代码 HTML &l ...

  8. Python基础最难知识点:正则表达式(使用步骤)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 正则表达式,简称regex,是文本模式的描述方法.你可以在google上搜 ...

  9. Azure Web App (三)切换你的Net Core Web 项目的数据库连接字符串

    一,引言 上一篇文章讲到今天我们演示了一下,如何在Web App中创建 “Deployment Slot”进行快速无停机部署新功能代码,也使用VS进行发布到创建的Web App中创建的新的部署槽位中, ...

  10. 使用MapReduce运行WordCount案例

    @ 目录 一.准备数据 二.MR的编程规范 三.编程步骤 四.编写程序 Mapper程序解读 一.准备数据 注意:准备的数据的格式必须是文本,每个单词之间使用制表符分割.编码必须是utf-8无bom ...