首页 > 其他分享 >双模数问题 题解

双模数问题 题解

时间:2024-04-20 21:35:39浏览次数:16  
标签:lfloor right 题解 bmod rfloor 问题 模数 dfrac left

Statement

\(S(n,m)=\{k\mid k\in\mathbb N^+\land n\bmod k+m\bmod k\ge k\}\),求 \(\varphi(n)\varphi(m)\sum_{k\in S(n,m)}k\pmod{998244353}\)(\(n,m\le10^{15}\))

Solution

欧拉函数怎么求就不说了,可以 \(\mathcal O(\sqrt n)\) 解决

\(n\bmod k+m\bmod k\ge k\) 相当于 \(\left\lfloor\dfrac nk\right\rfloor+\left\lfloor\dfrac mk\right\rfloor=\left\lfloor\dfrac{n+m}k\right\rfloor-1\)

即 \(\left\lfloor\dfrac nk\right\rfloor+\left\lfloor\dfrac mk\right\rfloor+1=\left\lfloor\dfrac{n+m}k\right\rfloor\)

因为 \(\left\lfloor\dfrac nk\right\rfloor\) 和 \(\left\lfloor\dfrac nk\right\rfloor\) 和 \(\left\lfloor\dfrac{n+m}k\right\rfloor\) 最多 \(\sqrt n\) 种(1e15+1e15=2e15),直接大力整除分块,还是 \(\mathcal O(\sqrt n)\),能过

标签:lfloor,right,题解,bmod,rfloor,问题,模数,dfrac,left
From: https://www.cnblogs.com/laijinyi/p/18148199

相关文章

  • 停机问题
    为什么停机问题是图灵不可计算问题?若人脑是图灵机那么举个例子:你在做一道题时,你想要知道你自己能不能在有限时间内做出这道题但是如果这道题是证明或证伪黎曼猜想那你就不知道你自己能不能在有限时间内做出这道题了因为你有可能一生都做不出来,也有可能某个灵感就做出来了,这个......
  • [HEOI2014]大工程 题解
    发现可以直接建立虚树。设\(dp_{u,0/1/2}\)表示第\(u\)个节点的子树内,所有选中节点到它的距离之和/选中节点中到它的最短距离/选中节点中到它的最长距离,\(as_{u,0/1/2}\)则代表对于这个子树,题目所问问题的三个答案,\(i1,i2\)分别为使\(dp_{u,1/2}\)取极值的\(v\)。则\(......
  • 解决 macOS 下 Python 3.8 安装 mysqlclient 的问题
    环境背景Python版本:3.8macOS版本:14.4(M2芯片)在安装mysqlclient时遇到的问题我在网上找到的方案基本上都是通过brewinstallmysql-connector-c安装、修改mysql_config文件、安装openssl及gcc,这个解决方案对我并没有效果解决方案步骤一:配置环境变量#使用pkg-config......
  • [题解] [洛谷 P1174] 打砖块
    [洛谷P1174]打砖块题目描述有\(n\)行\(m\)列的砖块和\(k\)发子弹,每个砖块都有一个得分,每次可以用一发子弹打碎某一列最下面的砖块并得到相应的得分。有的砖块在打碎后可以获得一发额外子弹的奖励。求该游戏的最大得分。输入格式第一行有\(3\)个正整数,\(n,m,k\)。......
  • [题解] [洛谷 P1174] 打砖块
    [洛谷P1174]打砖块题目描述有\(n\)行\(m\)列的砖块和\(k\)发子弹,每个砖块都有一个得分,每次可以用一发子弹打碎某一列最下面的砖块并得到相应的得分。有的砖块在打碎后可以获得一发额外子弹的奖励。求该游戏的最大得分。输入格式第一行有\(3\)个正整数,\(n,m,k\)。......
  • 网络流问题
    1.网络最大流1.1容量网络和网络最大流 1.1.1容量网络设G(V,E)是一个有向网络,在V中指定了一个顶点,称为源点(记为Vs),以及另一个顶点,称为汇点(记为Vt);对于每一条弧<u,v>∈E,对应有一个权值c(u,v)>0,称为弧的容量(capacity)。通常把这样的有向网络G称为容量网络。 1.1.2弧......
  • 回归问题求解 python---梯度下降+最小二乘法
      MSE=1/m*∑i=1m(yi−y^i)2 a=[1.,2.,3.,4.,5.,6.,7.,8.,9.]b=[3.,5.,7.,9.,11.,13.,15.,17.,19.]points=[[a[i],b[i]]foriinrange(len(a))]lr=0.001eps=0.0001m=len(......
  • newstartweek3部分题解
    64位利用格式化字符串修改got表例题:newstartweek3putorsystem老规矩先checksec和代码审计:看到开了canary和NX(但是对于这道题的话canary是没有用的),然后源码这边也没有发现有system函数,也没有后门函数,所以我们需要自己在libc里面找,然后就有bin/sh那么我们就只用把got表里......
  • typescript安装问题=> for (let i = startIndex ?? 0; i < array.length; i++) {
    for(leti=startIndex??0;i<array.length;i++){^SyntaxError:Unexpectedtoken?atObject.exports.runInThisContext(vm.js:76:16)atModule._compile(module.js:542:28)atObject.Module._extensions..js(mo......
  • 选定进行压缩的卷可能已损坏。请使用chkdsk来修复损坏问题,然后尝试再次压缩该卷
    Windows Server 2008R2环境下,进行磁盘重新分区时,想要对系统盘进行“压缩卷”,结果报错提示“选定进行压缩的卷可能已损坏。请使用Chkdsk来修复损坏问题,然后尝试再次压缩该卷。”这是硬盘出现了坏道导致的,硬盘出错无法压缩扩容,解决方法在报错中已经告诉你,需要使用Chkdsk命令修复。......