首页 > 编程语言 >类欧几里得算法

类欧几里得算法

时间:2023-10-11 14:36:01浏览次数:32  
标签:lfloor right frac 欧几里得 rfloor 算法 bmod left

image

快速求解

\[f(a,b,c,n)=\sum_{i=0}^n\left \lfloor \frac{ai+b}{c} \right \rfloor \]

若 \(\max(a,b)\ge c\)

\[设 s_0(n)=n+1,s_1(n)=\frac{n(n+1)}{2},s_2(n)=\frac{n(n+1)(2n+1)}{6} \sum_{i=0}^n\left \lfloor \frac{ai+b}{c} \right \rfloor=\sum_{i=0}^n\left \lfloor \frac{ai\bmod c+ic\lfloor\frac{a}{c}\rfloor+b\bmod c+c\lfloor\frac{b}{c}\rfloor}{c} \right \rfloor\\ =s_1(n)\lfloor\frac{a}{c}\rfloor+s_0(n)\lfloor\frac{b}{c}\rfloor+f(a\bmod c,b\bmod c,c) \]

否则

\[\sum_{i=0}^n\sum_{j=0}^{\lfloor \frac{ai+b}{c}\ \rfloor-1}1\\ 令 m=\left\lfloor \frac{an+b}{c}\ \right\rfloor\\ \sum_{j=0}^{m-1}\sum_{i=0}^n\left[j<\left \lfloor \frac{ai+b}{c} \right \rfloor\right]\\ \left[j<\left \lfloor \frac{ai+b}{c} \right \rfloor\right]\iff j+1\le \frac{ai+b}{c}\iff ai\ge j+c-b\\ \iff ai>j+c-b-1 \iff i>\left \lfloor \frac{jc+c-b-1}{a} \right \rfloor\\ \sum_{j=0}^{m-1}\sum_{i=0}^n\left[j<\left \lfloor \frac{ai+b}{c} \right \rfloor\right]=\sum_{j=0}^{m-1}\sum_{i=0}^n\left[i>\left \lfloor \frac{jc+c-b-1}{a} \right \rfloor\right]\\ \sum_{j=0}^{m-1}(n-\left\lfloor \frac{jc+c-b-1}{a} \right\rfloor)\\ =nm-f(c,c-b-1,a,m-1)\\ f(0,b,c,n)=n\left\lfloor\frac{b}{c}\right\rfloor \]

作为其应用更少的分支,有以下结论:

\[g(a,b,c,n)=\sum_{i=0}^ni\left \lfloor \frac{ai+b}{c} \right \rfloor\\ h(a,b,c,n)=\sum_{i=0}^n\left \lfloor \frac{ai+b}{c} \right \rfloor^2\\ g(a,b,c,n)=g(a\bmod c,b\bmod c,c,n)+\left \lfloor \frac{a}{c} \right \rfloor s_2(n)+\left \lfloor \frac{b}{c} \right \rfloor s_1(n)\\ g(a,b,c,n)=g(c,c-b-1,a,m-1)+\frac{mn(n+1)-h(c,c-b-1,a,m-1)-f(c,c-b-1,a,m-1)}{2}\\ h(a,b,c,n)=h(a\bmod c,b\bmod c,c,n)+2\left \lfloor \frac{b}{c} \right \rfloor f(a\bmod c,b\bmod c,c,n)+\left \lfloor \frac{a}{c} \right \rfloor g(a\bmod c,b\bmod c,c,n)+\left \lfloor \frac{a}{c} \right \rfloor^2s_2(n)+\left \lfloor \frac{b}{c} \right \rfloor^2s_0(n)+2\left \lfloor \frac{a}{c} \right \rfloor\left \lfloor \frac{b}{c} \right \rfloor s_1(n)\\ h(a,b,c,n)=nm(m+1)-2g(c,c-b-1,a,m)-2f(c,c-b-1,a,m)-f(a,b,c,n) \]

标签:lfloor,right,frac,欧几里得,rfloor,算法,bmod,left
From: https://www.cnblogs.com/british-union/p/kak-oujilide.html

相关文章

  • 10.11算法
    买卖股票的最佳时机给定一个数组prices,它的第 i个元素 prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不......
  • 每天一算法,脑子不生锈(真押韵)
    前言看算法确实会让编码思路有所不同,看完好的方案,就会觉得自己的很low。今年开始尽量每天一道算法题,卷死自己,长期更新Question给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合......
  • 并查集的实现【学习算法】
    并查集的实现【学习算法】前言版权推荐并查集的实现最后前言2023-9-2614:38:02以下内容源自《【学习算法】》仅供学习交流使用版权禁止其他平台发布时删除以下此话本文首次发布于CSDN平台作者是CSDN@日星月云博客主页是禁止其他平台发布时删除以上此话推荐算法讲解056【必备】并......
  • 谈谈"求线段交点"的几种算法(js实现,完整版)
    谈谈"求线段交点"的几种算法(js实现,完整版)"求线段交点"是一种非常基础的几何计算,在很多游戏中都会被使用到. 下面我就现学现卖的把最近才学会的一些"求线段交点"的算法说一说,希望对大家有所帮助. 本文讲的内容都很初级,主要是面向和我一样的初学者,所以请各位算法帝......
  • Java算法之动态规划详解
    ①动态规划动态规划(DynamicProgramming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事......
  • 《算法学习专栏》——DP问题之线性DP
    2023年10月10日更新于2023年10月10日一、前言本栏,为线性DP,题目主要来源日常,目前主要来源于Acwing的提高课。希望以后做到线性DP的题目,也能加进来,不断完善。二、线性DP2.1目前的模型:数字三角形模型最长上升子序列模型2.2目前解决的问题:可以解决路径上的各种值。解决......
  • 基于Qlearning强化学习的路径规划算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022A  3.算法理论概述       路径规划在机器人、自动驾驶等领域中具有重要应用。Q-learning是一种经典的强化学习算法,可以用于解决路径规划问题。本文介绍了基于Q-learning的路径规划算法,该算法可以在未知......
  • 基于扩频的数字视频水印嵌入和检测算法matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述     在MPEG压缩标准中,数据流是以多路复合流的格式存储和传输的。多路复合流由音频流和视频流复合组成。多路复合流的基本单位时包,而一个包由三个组组成。组分为视频组和音频组,在此只介绍视......
  • 算法
    学习道路:通过第一学期的算法学习,顺利成为一名算法竞赛选手。学习目标:通过科学的方式学习算法,向ACM-ICPC(是计算机类竞赛最有含金量的比赛)奖牌冲锋在第二学期参加比赛,比赛中学习,学习中比赛,其中每年能够有多次外出比赛的机会参加的主要赛事(A类赛事或企业认可度高的赛......
  • 搜索算法:线性搜索、二分法
    搜索算法:1.线性搜索:循环遍历,判断是否等于目标值2.二分法:(需要有序)先定一个起点和终点left,right,当left<right时,取中间值mid,如果目标值小于mid,则right=mid-1,反之亦然#线性搜索defaction1(arr,target):foriinarr:ifi==target:print(arr.inde......