码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第十二周总结


    这周我来总结一下数论分块和佩尔方程:

    已知正整数n,求\sum_{i = 1}^{n}\left \lfloor \frac{n}{i} \right \rfloor,对n/i下取整,相当于把一组数分块了,首先我们来找一下规律:n=20时

    1    2   3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20                                                  20 10  6  5  4  3  2  2  2   2    1    1    1    1    1    1    1    1    1    1

    一个明显的规律时存在多个区间,使得某个区间内,有连续的 \left \lfloor \frac{n}{i} \right \rfloor 数值相同,如果设某个区间的左端点是L,那么这个区间的右端点就是n/ \left \lfloor \frac{n}{i} \right \rfloor ;如上,如果L=7,那么n/ \left \lfloor \frac{n}{i} \right \rfloor =10

    若求\sum_{i = 1}^{n}\left \lfloor \frac{n}{i} \right \rfloor*i,在一段区间内n/i的值是相同的,∑i的求和是一个明确了左端点和右端点的等差数列求和,∑i=n*(a1+a2)/2,n为区间长度,a1是左端点,a2是右端点

    例题:1、约数研究 P1403 [AHOI2005]约数研究 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

    每个正约数 i 在 1 ~ n 中出现的次数为 \left \lfloor \frac{n}{i} \right \rfloor ,所以问题可以转换成求\sum_{i = 1}^{n}\left \lfloor \frac{n}{i} \right \rfloor 的值,套用模板即可。

     2、约数和P2424 约数和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

    问题就转换成了求 \sum_{i = 1}^{n}i * \left \lfloor \frac{n}{i} \right \rfloor ,可以分块处理,用等差数列的求和可以得到答案,注意求的是 [x, y] 区间的答案,可以转换成求 ans_{[1, r]} - ans_{[1, l - 1]}。

     佩尔方程:

    第一类:x2−dy2=1

    1)如果d为平方数时,此时只有x = 1或-1,y=0,这两组特定解。2)当d不为平方数时,方程有无穷多组整数解。

    第二类:x2−dy2=k

    对于佩尔方程这周开了个头,了解了佩尔方程的背景形式,

    可以用矩阵快速幂求解,在这里插入图片描述

    暴力求解:

    1. void search(int d,int &x,int &y) //x^2 - d*(y^2) = 1
    2. {
    3. y=1;
    4. while(1)
    5. {
    6. x=(long long )sqrt(d*y*y+1);
    7. if(x*x-d*y*y==1)
    8. break;
    9. y++;
    10. }
    11. }
  • 相关阅读:
    maven问题与解决方案、部署
    元宇宙电商-NFG系统,让传统文化“潮”起来!
    [附源码]计算机毕业设计springboot校园疫情防范管理系统
    linux服务器更改网络配置
    关于算子mindspore.nn.Conv2dTranspose没有output_padding参数
    排列生成算法:集合的全排列
    AIGC创作系统ChatGPT网站系统源码,支持最新GPT-4-Turbo模型
    最新版Spring Security & Spring Session 实现单点登录
    HC32F120开发之IAP
    Go json tag的大小写匹配问题
  • 原文地址:https://blog.csdn.net/m0_63594467/article/details/128065327
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号