bzoj2154

requests获取保存网页代码 内容主要是使用python去获取网页的源代码并存储到本地文件中 阅读详情

Description

今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数。例如,LCM(6, 8) = 24。回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格。每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j)。一个4*5的表格如下: 1 2 3 4 5 2 2 6 4 10 3 6 3 12 15 4 4 12 4 20 看着这个表格,Crash想到了很多可以思考的问题。不过他最想解决的问题却是一个十分简单的问题:这个表格中所有数的和是多少。当N和M很大时,Crash就束手无策了,因此他找到了聪明的你用程序帮他解决这个问题。由于最终结果可能会很大,Crash只想知道表格里所有数的和mod 20101009的值。

Input

输入的第一行包含两个正整数,分别表示N和M。

Output

输出一个正整数,表示表格中所有数的和mod 20101009的值。

Sample Input

4 5

Sample Output

122
【数据规模和约定】
100%的数据满足N, M ≤ 107。



jzp神题

似乎跟gcd问题有点像,实际上区别较大

求sigma(lcm(x,y))(1<=x<=n,1<=y<=m)

明显的,枚举最大公约数d之后就变为sigma(x*y)(1<=x<=n/d,1<=y<=m/d,gcd(x,y)=1)=f[d]

那么gcd=d的lcm和为f[d]*d

虽然d的取值在[1,n]但是n/d和 m/d的取值是sqrt(n)级别的

就可以用解决gcd问题的类似的方法来解决这个假设l到r的n/d和m/d是相等的,我们可以将其一起统计

对答案的贡献为sigma(x*y)(1<=x<=n/d,1<=y<=m/d,gcd(x,y)=1)*(r-l+1)*(l+r)/2

接下来问题是如何快速求sigma(x*y)(1<=x<=n/d,1<=y<=m/d,gcd(x,y)=1)

设这个为g[a,b]好了

那么类似的我们可以求f[a,b,k]=sigma(xy)(1<=x<=a,1<=y<=b,gcd[x,y]=wk)

明显f[a,b,k]可以直接算

f[a,b,k]=(1+..+a/k)*k*(1+..+b/k)*k=(a/k+1)*(a/k)/2*k*(b/k+1)*(b/k)/2*k

显然g[a,b]=sigma(mob(k)*f[a,b,k])

问题来了

每个f[a,b,k]都含有k^2这一项,这个变换不连续……

但是显然的f[a,b,k]只会乘mob(k)

那我们定义o(i)=mob(i)*i*i,w(a,b,k)=(a/k+1)*(a/k)/2*(b/k+1)*(b/k)/2

g[a,b]=sigma(o(k)*w(a,b,k))

发现w(a,b,k)是分sqrt段的

o可以预处理出来

就可以sqrt级别时间求g函数了

那么复杂度为O(sqrt(n)*sqrt(n))=O(n)



program bzoj2154;
const
    maxn=20101009;
var
    n,m,i,j,k:longint;
    ans:int64;
    f:array [0..10000001] of longint;
    p:array [0..10000001] of int64;

function calc (a,b:longint):int64;inline;
var
    i,k:longint;
    ans:int64;
begin
    ans:=0;
    i:=1;
    while i<=a do
        begin
            if a div (a div i)<b div (b div i) then
                k:=a div (a div i)
                                                        else
                k:=b div (b div i);
            ans:=(ans+(p[k]-p[i-1]) mod maxn*
                        (int64(a div i+1)*(a div i) div 2 mod maxn) mod maxn*
                        (int64(b div i+1)*(b div i) div 2 mod maxn) mod maxn) mod maxn;
            i:=k+1;
        end;
    exit(ans);
end;

begin
    read(n,m);
    if n>m then
        begin
            n:=n xor m;
            m:=n xor m;
            n:=n xor m;
        end;
    for i:=2 to n do
        if f[i]=0 then
            for j:=i to n div i do
                f[i*j]:=i;
    p[1]:=1;
    for i:=2 to n do
        if f[i]=0 then p[i]:=-1
                    else
        begin
            k:=i div f[i];
            if k mod f[i] = 0 then p[i]:=0
                                    else p[i]:=-p[k];
        end;
    for i:=1 to n do
        p[i]:=p[i]*i*i mod maxn;
    for i:=2 to n do
        p[i]:=(p[i]+p[i-1]) mod maxn;
    i:=1;
    while i<=n do
        begin
            if n div (n div i)<m div (m div i) then
                k:=n div (n div i)
                                                        else
                k:=m div (m div i);
            ans:=(ans+int64(k-i+1)*(k+i) div 2 mod maxn * calc(n div i,m div i)) mod maxn;
            i:=k+1;
        end;
    ans:=(ans + maxn) mod maxn;
    writeln(ans);
end.


edusrc挖掘思路 edusrc挖掘思路前言思路信息搜集系统账号常见漏洞实战分享1、确定目标,语法:site:xxxx.edu.cn2、账号密码组成我们知道了,谷歌语法查找工号3、爆破登录系统4、确定功能,抓具体的url5、添加单引号,报错,是mssql6、报数据库版本,到这一步就可以交了,已经是中危了后记 前言 一月份的时候偶然注意到edusrc,起初是抱着学习的心态去挖几个洞,可是后面发现有证书,而且还贼好看,于是我动了凡心,一顿操作也拿了几本,广西民大、山东理工、同济,未到的有浙大、上海理工,证书要求证书图片可以在我个人 阅读详情

相关推荐

医学图像处理实战:ABIDE数据集获取与预处理全攻略

本文详细介绍了ABIDE数据集的获取与预处理全流程,涵盖官方脚本下载、Nilearn库高效下载、数据预处理与格式转换等关键步骤。ABIDE数据集作为自闭症脑成像研究的重要资源,提供了标准化的功能磁共振成像数据,适合机器学习模型训练。文章还提供了常见问题排查与优化建议,帮助开发者高效处理医学图像数据。

weixin_29069131的博客 255

【BZOJ 2154】 Crash的数字表格

莫比乌斯函数~

Regina8023 3750

QoderWake 与 Qoder 工具生态详解

Qoder CLIQoder SDKQoderWake谁在用你(开发者)你的程序你的数字员工谁在跑你的终端会话你的应用进程Daemon 后台进程什么时候跑你启动时你的代码调用时7×24 持续运行怎么触发键盘输入函数调用定时/事件/API/IM有记忆吗会话级 + 文件无多层持久记忆能协作吗Subagent多 Waker + IM 群组核心价值编码效率集成灵活性自主生产力一句话总结。

驽马不舍 962

BZOJ 2154 Crash的数字表格 【莫比乌斯反演】

Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数。例如,LCM(6, 8) = 24。回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格。每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j...

weixin_30270889的博客 191

Ubuntu20.04下Docker无缝升级实战指南

本文提供了一份在Ubuntu20.04系统上安全、无缝升级Docker的实战指南。文章详细阐述了升级前的版本检查、数据备份等准备工作,逐步演示了通过APT包管理器进行升级或指定版本安装的操作步骤,并强调了升级后的验证与常见问题回滚方案,确保业务容器平稳过渡。

postgres8guard的博客 481

手把手教你学Simulink——基于Simulink的多用户MIMO系统仿真建模示例

多用户MIMO概述在多用户MIMO系统中,基站配备多个天线,可以同时与多个用户进行通信。利用空间复用技术,不同用户的信号被分配到不同的空间流上,从而实现频谱资源的高效利用。多用户MIMO的核心挑战包括信道估计、波束成形设计以及干扰管理。关键技术点波束成形:通过调整发射信号的相位和幅度,在特定方向上增强信号强度并减少干扰。信道估计:获取每个用户的信道状态信息(CSI),用于优化波束成形矩阵。调制与解调:选择合适的调制方式(如QPSK、16-QAM等)以适应不同用户的信道条件。干扰消除。

MHD0815的博客 271

BZOJ2154 Crash的数字表格

标签:莫比乌斯反演题目题目传送门Description今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数。例如,LCM(6, 8) = 24。回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格。每个格子里写了一个数字,其中第i行第j列的那个格子里写

Welcome to yjjr's blog! 782

【100%通过率】华为OD机试真题 Python 实现【最多组合直角三角形个数】【2023 Q1 | 100分】

有N条线段,长度分别为a[1]-a[n]。 现要求你计算这N条线段最多可以组合成几个直角三角形。 每条线段只能使用一次,每个三角形包含三条线段。

MISAYAONE的博客 1万+

bzoj2154 Crash的数字表格

莫比乌斯反演+分块

照月之白 661

还在用 RaiDrive/Rclone 挂载网盘?教您使用Windows 原生 WebDAV 丝滑直连 AList/Openlist,让你的网盘秒变本地硬盘!

网盘文件分散管理?😩 别再依赖第三方工具了!本文教你如何在 Windows 下,利用原生 WebDAV 功能,将 Openlist 网盘直接映射为本地硬盘!💻 操作简单,告别繁琐,让你的云端文件像本地文件一样丝滑!🚀 轻松实现高效管理,快来体验吧!

XiaoqiangClub的博客 2974

【AI智能体】Codex 生成高质量电商套图实战操作详解

Codex 生成高质量电商套图实战操作详解

congge 4530

BZOJ 2154(莫比乌斯函数+分块)

2154: Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 1237  Solved: 494 [Submit][Status][Discuss] Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能

一花一世界 一叶一菩提 686

【光斑定位】空间激光通信、光斑定位、CCD、光斑定位——13000字

0.完整源码获得方式 订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码 ----------------------------------------------------------------- 空间激光通信是指以光波作为载波进行数据传输的一种通信方式。目前,空间激光通信己成为人们关注的焦点。在空间激光通信系统中,光斑定位是是一项关键技术。 本论文首先对国内外空间激光通信系统的研究现状进行了阐述,论述了空间激光通信的理论只是,并对CCD成像原理,...

FPGA/MATLAB学习教程/源码/项目合作开发 1291

python 保存 mysql数据库乱码_python插入mysql数据库中文乱码

由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 pymysql 模块。pymysql 模块可以通过 pip 安装。但如果你使用的是 pycharm IDE,则可以使用 project python 安装第三方模块。[File] >> [settings] >> [Project: python] >&gt...

weixin_32818587的博客 399

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python爬取网页信息并保存为word文件

4、检查文档打开时的编码设置: 在使用 Microsoft Word 打开文件时,确保选择正确的编码选项。通常情况下,它会自动检测文件的编码。1、确保网页编码正确: 在获取网页内容时,指定正确的编码。例如,如果网页是以 UTF-8 编码,可以在请求时指定编码。2、BeautifulSoup 解析时指定编码: 在使用 BeautifulSoup 解析页面时,指定正确的编码。3、使用正确的编码保存文件: 确保在保存 Word 文档时使用正确的编码。这也是最常见的解决中文乱码的方式之一,请大家务必记住!

qq_45023811的博客 2911

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python爬取网页有乱码怎么解决_Python抓取网页乱码的原因及解决方法

本篇文章给大家带来的内容是关于Python抓取网页乱码的原因及解决方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。在用 python2 抓取网页的时候,经常会遇到抓下来的内容显示出来是乱码。发生这种情况的最大可能性就是编码问题: 运行环境的字符编码和网页的字符编码不一致。比如,在 windows 的控制台(gbk)里抓取了一个 utf-8 编码的网站。或者,在 Mac / Li...

weixin_39531834的博客 822

怀旧版电脑GBC模拟器

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

python将网页保存为pdf,python-网页保存为pdf

今天用到是python的一个第三方库: pdfkitpdfkit 是一个十分强大的第三方库,只需要把网页的url(需要登录或其他特殊方式才能访问的除外)传入,仅靠它自己就能将网页保存为pdf。当然,pdfkit 库也支持文件和源码的传入,同样能将获取到的保存为pdf。使用工具:pdfkit环境准备:搭建python开发环境在cmd下运行下面的命令pip install pdfkit源码讲解环节好的...

weixin_29041443的博客 2120

python 保存本地乱码_python抓取并保存html页面时乱码问题的解决方法

本文实例讲述了python抓取并保存html页面时乱码问题的解决方法。分享给大家供大家参考,具体如下:在用Python抓取html页面并保存的时候,经常出现抓取下来的网页内容是乱码的问题。出现该问题的原因一方面是自己的代码中编码设置有问题,另一方面是在编码设置正确的情况下,网页的实际编码和标示的编码不符合造成的。html页面标示的编码在这里:复制代码 代码如下:这里提供一种简单的办法解决:使用ch...

weixin_39527078的博客 471

Python3使用requests包抓取并保存网页源码的方法

这篇文章主要介绍了Python3使用requests包抓取并保存网页源码的方法,实例分析了Python3环境下requests模块的相关使用技巧,需要的朋友可以参考下 本文实例讲述了Python3使用requests包抓取并保存网页源码的方法。分享给大家供大家参考,具体如下: 使用Python 3的requests模块抓取网页源码并保存到文件示例: import requests html = r...

python3基础教程 3594

python 如何获取网页源代码并保存本地_python 爬取csdn网页并保存博客到本地

这几天一直在学用python爬网页 , 现在是用urllib2,cookie等模块获取了csdn的博客源码,然后打算把所有博客都保存到本地;这就涉及到了解析html, 由于对正则的理解不太深。。。就用了第三方工具模块:美丽的汤---BeautifulSoup ,可以自己百度安装,使用教程,很容易上手: 代码不健壮。。主要是容易出现乱码。。 有时候遇到全角的时候也会出bug,以后再完善吧。先贴张保...

weixin_34401781的博客 1858

python 爬取编码格式为gbk的网页时,保存为html出现乱码问题

1 1、问题:今天在爬取百度文科时,百度文库的编码模式为gbk,因此在保存爬取数据时,函数代码如下: def get_response(self): response = requests.get(url=self.url, headers=self.headers) data = response.content.decode('GBK') #print(data)...

qq_30116343的博客 1080

Python3使用CSV模块保存csv文件乱码问题

刚开始学写Python的时候,有一个练习是爬取豆瓣电影TOP250的数据,但是写完之后导出的csv文件里面中文内容都是乱码, 后来在网上找了好多内容,好多解决办法,最后只有一个有效,那就是: with open('filename.csv', 'w', encoding='utf-8-sig', newline = '') as f: 修改后执行的效果: 之前用: encod...

FYY_HelloWorld的博客 2273

python乱码怎么解决方法_python中文乱码的解决方法

python中文显示乱码,已经在开头有了coding: utf-8那日小编狂哭不止,曾经差一点想过死,多少艰辛不可告人,多少光阴都因为等。直接print是乱码,但是如果在打印的内容前面加上u就正常了,这是为什么乱码原因:因为你的文件声明为 utf-8,并且也应该是用 utf-8 的编码保存的源文件。但是 windows 的本地默认编码是 cp936,也就是 gbk 编码,所以在控制台直接打印 ut...

weixin_39713538的博客 1万+

python爬虫文字全是乱码_Python爬虫乱码的解决方案!

互联网时代里,学习爬虫程序的人越来越多,学习中难免会遇到一些问题,比如爬虫时出现了乱码,不知道如何解决,下面给大家分享一下爬虫乱码的解决方法。网络爬虫有两种选择,一种是nutch、 hetriex,另一种是自编的爬虫。当处理乱码时,原理是一样的,但是当处理乱码时,前者只能在理解源代码后修改它,所以有必要浪费一些精力;后者更加自由和方便,并且可以在编码过程中进行处理。这也是为什么许多人在编写带有框架...

weixin_39779467的博客 3208

python保存html_python抓取并保存html页面时乱码问题的解决方法

本文实例讲述了python抓取并保存html页面时乱码问题的解决方法。分享给大家供大家参考,具体如下:在用Python抓取html页面并保存的时候,经常出现抓取下来的网页内容是乱码的问题。出现该问题的原因一方面是自己的代码中编码设置有问题,另一方面是在编码设置正确的情况下,网页的实际编码和标示的编码不符合造成的。html页面标示的编码在这里:这里提供一种简单的办法解决:使用chardet判断网页的...

weixin_39928940的博客 358

python爬取网页出现乱码

今天在爬一个网页的时候,爬完打开txt文件看到内容是一片乱码: 上网查了之后发现是中文编码格式的问题。 首先查看网页编码: res = requests.get(url,timeout=30) print(res.encoding) 输出是ISO-8859-1。 参考python中把ISO-8859-1编码转化为UTF-8修改代码,最初因为格式问题总是报错。 这时候的res返回的是一个包含服...

Jane_zb的博客 406
上一篇: bzoj2709
下一篇: hnoi2012 (bzoj2727~2734)
weixinding
博客等级 码龄15年 39粉丝 181原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值