当前位置: 首页 > wzjs >正文

南宁太阳能网站建设推广游戏赚钱的平台

南宁太阳能网站建设,推广游戏赚钱的平台,深圳附近做个商城网站多少钱,网站建设板块建议文章目录 整除分块题意思路代码 整除分块 K-取模 2022年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛 这本是一道取模的题目,运用数学公式转换,便可以用整除分块解决。 先介绍一下整除分块 以20为例&am…

文章目录

  • 整除分块
      • 题意
      • 思路
      • 代码

整除分块

K-取模 2022年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛

这本是一道取模的题目,运用数学公式转换,便可以用整除分块解决。


先介绍一下整除分块

以20为例,一共出现了多少个i的倍数?

i i i1234567891011121314151617181920
n i \frac{n}{i} in2010654322221111111111

可以发现在连续的一段区间内是相同的,那么就启发我们是否可以将其分为若干块分别进行计算呢?

这就是整除分块的核心思想了。

n/i 表示n里面出现了几个 i 的倍数。
也就是在n个里面,每i个为一组,可以分n/i 组,每组里有一个i的倍数

当然会有剩余的。

如果再用 n 除以 n/i ,便是如果分为 n/i 组,那么每组应该有 n/(n/i) =x 个
注意:每次都是向下取整

即x个数字为一组,会有 n/i组(当然也有剩余),也就是这x个都至少有 n/i个倍数

那么区间【i,x】,倍数皆为 n/i

总结:

利用除法的性质,将问题分解为若干个块,每个块内的值相同,从而减少计算量。整除分块在解决一些数学问题时非常有效,特别是当问题涉及到大量除法操作时,它可以大大减少计算时间。

题意

计算 ∑ i = 1 n ( n % i ) \sum_{i=1}^{n}{(n\%i)} i=1n(n%i)

因为答案可能很大,因此只需要输出答案需要对998244353取模后的结果

思路

赛时一直从规律入手,打表,废了太长时间。应该从变化数学公式、整除分块入手。

且看以下推导(懒得用latex):

请添加图片描述

代码

void solve()
{int n,ans=0;cin>>n;ans=(n%mod)*(n%mod)%mod;//n^2__int128 i=1,j=1;//区间和会超longlong,int128最大值最高位2^127-1,不会溢出while(i<=n){j=min ((__int128)n,n/(n/i));ans=(ans-((i+j)*(j-i+1)/2%mod*((n/i)%mod)%mod)+mod)%mod;//多取模i=j+1;}cout<<ans<<'\n';
}

感谢亓boyan的整除分块启蒙

http://www.dtcms.com/wzjs/187830.html

相关文章:

  • 锦州网站建设hao123主页
  • 基于java的音乐网站开发百度收录查询api
  • 手机网站设计知识企业seo顾问
  • 做网站暴利赚钱站长查询工具
  • 开发app学什么编程语言企业seo排名有 名
  • 无需域名网站建设南阳网站优化公司
  • 做网站的群石家庄百度推广优化排名
  • 怎样看网站是谁做的镇江网页设计
  • 苏州网站建设自助建站模板婚恋网站排名
  • icp备案查看网站内容吗泉州百度网络推广
  • 怎么制作网站平台电话全球网站流量排名查询
  • 贵州网站建设服务平台保定seo博客
  • 一般网站做推广要多大的带宽和内存产品销售方案与营销策略
  • 西柳网站建设怎么注册自己的网站域名
  • 网站备案密码上海seo公司哪个靠谱
  • 兰州市网站建设微信朋友圈广告30元 1000次
  • 任何人任意做网站销售产品违法吗免费搭建自己的网站
  • 网站建设福州今日特大新闻新事
  • 现在c 做网站用什么体育新闻最新消息
  • 台湾宜兰县政府建设局网站网站排名大全
  • 网站js修改代码品牌推广的三个阶段
  • 网站后台管理布局软文公司代写
  • 知名网站开发网站推广的常用方法有哪些?
  • 网站开发数据库有关合同seo综合查询接口
  • 齐齐哈尔市网站建设廊坊seo排名
  • 17做网店一样的网站校园推广
  • 镜像wordpress博客网站排名优化专业定制
  • 做设计的网站定制湖北网站设计
  • 自己有服务器怎么建设网站抖音竞价推广怎么做
  • 网络建设公司起名谷歌优化排名怎么做