洛谷P2261 整除分块模板

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

题意:

给出n,kn,kn,k,求出
∑i=1nk mod i \sum_{i=1}^{n}k\ mod\ i i=1∑n​k mod i

Solution:

由于k mod i=k−⌊ki⌋⋅ik\ mod\ i=k-\lfloor\frac{k}{i}\rfloor\cdot ik mod i=k−⌊ik​⌋⋅i,于是只需要求
nk−∑i=1n⌊ki⌋⋅i nk-\sum_{i=1}^{n}\lfloor\frac{k}{i}\rfloor\cdot i nk−i=1∑n​⌊ik​⌋⋅i
对于一段使⌊ki⌋\lfloor\frac{k}{i}\rfloor⌊ik​⌋相同的iii,可以利用等差数列求和这一段

现在考虑对于一个lll,如何找到最大的rrr满足
⌊kl⌋=⌊kr⌋ \lfloor\frac{k}{l}\rfloor=\lfloor\frac{k}{r}\rfloor ⌊lk​⌋=⌊rk​⌋
有这样的等式满足
⌊kl⌋=⌊kr⌋≤kr \lfloor\frac{k}{l}\rfloor=\lfloor\frac{k}{r}\rfloor\leq\frac{k}{r} ⌊lk​⌋=⌊rk​⌋≤rk​
于是
r≤k⌊kr⌋=k⌊kl⌋⇒rmax=⌊k⌊kl⌋⌋ r\leq\frac{k}{\lfloor\frac{k}{r}\rfloor}=\frac{k}{\lfloor\frac{k}{l}\rfloor}\Rightarrow r_{max}=\lfloor\frac{k}{\lfloor\frac{k}{l}\rfloor}\rfloor r≤⌊rk​⌋k​=⌊lk​⌋k​⇒rmax​=⌊⌊lk​⌋k​⌋

此时找出了最大的[l,r][l,r][l,r]使⌊kl⌋=⌊kr⌋\lfloor\frac{k}{l}\rfloor=\lfloor\frac{k}{r}\rfloor⌊lk​⌋=⌊rk​⌋,只需要对r+1r+1r+1作为新的左端点时重新计算即可,并且当⌊kl⌋=0\lfloor\frac{k}{l}\rfloor=0⌊lk​⌋=0时,r=+∞r=+\inftyr=+∞。无论何种情况,切莫忘记题目≤n\leq n≤n的限制

时间复杂度

设i⋅j=ki\cdot j=ki⋅j=k

当i≤ni\leq \sqrt{n}i≤n​时,j≥nj\geq \sqrt{n}j≥n​,此时iii最多n\sqrt{n}n​种取值,对应的jjj只可能有一个取值,于是此时最多有n\sqrt{n}n​种⌊ki⌋\lfloor\frac{k}{i}\rfloor⌊ik​⌋

同理对i≥ni\geq \sqrt{n}i≥n​,此时相当于i,ji,ji,j轮换,取值种数仍然是n\sqrt{n}n​种

于是总取值不超过2n2\sqrt{n}2n​种,时间复杂度O(n)O(\sqrt{n})O(n​)

// #include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<bitset>
#include<map>
using namespace std;

using ll=long long;
const int N=1e5+5,inf=0x3fffffff;
const long long INF=0x3fffffffffffffff,mod=1e9+7;

ll n,k;

int main()
{
    cin>>n>>k;
    ll l=1,ans=1ll*n*k;
    while(l<=n)
    {
        ll val=k/l,r=val?min(n,k/val):n;
        ans-=1ll*(l+r)*(r-l+1)/2*val;
        l=r+1;
    }
    cout<<ans;
    return 0;
}
EDKII实战:手把手调试PciHostBridge.c,看UEFI如何分配你的PCIe设备资源(IO/Memory空间) 本文深入解析EDKII中PciHostBridge.c模块的工作原理,详细指导如何调试PCIe设备资源分配(IO/Memory空间)。通过实战案例展示UEFI环境下Root Bridge初始化、地址空间转换及协议安装等核心流程,提供常见问题排查方法与性能优化建议,帮助开发者解决PCIe设备兼容性问题。 阅读详情

相关推荐

OpenClaw 企业级自动化系统架构设计与实现

本文介绍基于 OpenClaw 构建的企业级自动化系统的完整架构设计、技术选型、实现细节和性能优化方案。

2604_95445636的博客 482

分块的一些题(入门)

POJ-3468 区间加和区间和查询 之前作为线段树入门写过 这次用分块写一下 区间主要就是两种情况 在同一个块or不同块。整块的区域我们只要成段更新就好了,反之暴力更新~ 1 #include<cmath> 2 #include<queue> 3 #include<stack> 4 #include<cstdio...

diangan7073的博客 259

行政数据分析大屏实战:用Tableau从Excel到看板的完整搭建流程(含数据连接与字段计算避坑)

本文详细介绍了如何利用Tableau从Excel数据源搭建行政数据分析大屏的完整流程,涵盖数据准备、连接技巧、计算字段优化、看板设计及动态交互部署。通过五阶工作流,帮助用户高效处理多源异构数据,实现业务洞察与可视化呈现,提升行政数据分析效率。

weixin_29696711的博客 336

分块模板

bzoj2957 #include&amp;lt;bits/stdc++.h&amp;gt; using namespace std; #define lowbit(x) ((x)&amp;amp;(-x)) typedef long long ll; const int maxn = 1e5+5; const int mod = 1e9+9; int Case = 1, n, m; int B; double cc[...

qq_39921637的博客 294

特斯拉 Model 3解析(八)全面拆解特斯拉自动驾驶大脑:AP控制器硬核技术解析

算力极限:双FSD = 144 TOPS,专为AI推理优化。存储架构:LPDDR4 + NAND + NOR,保证高速/可靠启动。通信架构:以太网传视频,CAN传控制,TSN保障实时性。感知输入:多路摄像头 + 高速SerDes,满足全景感知。电源设计:功率模块+被动元件海洋,稳定性优先。功能安全:双芯片冗余 + GPS + 紧急呼叫,容错率极高。🎯 在我看来,特斯拉AP控制器就是一台“车载超算”,它在电源设计、存储架构和功能安全上远超一般新势力方案。

weixin_43199439的博客 1438

子网划分详解

还不会子网划分?看这篇就够了,保姆级教程

m0_47584619的博客 6093

分块模板+模板题

嗯…直接贴板子了,(注释写了点)..模板#include<bits/stdc++.h> using namespace std; const int maxn=1e5+10; int a[maxn],belong[maxn],L[1010],R[1010],block,num;//a数组存取原始数据,belong数组表示每个数属于哪一块方便调用,L和R表示各块左右端点,block各块大小,num块数

caoyang1123的博客 752

万达电影 com.wandafilm.app headers check

万达电影 安卓逆向 抓包 逆向 check

weixin_43786514的博客 1436

Luogu 2801 教主的魔法 | 分块模板题

Luogu 2801 教主的魔法 | 分块模板题 我犯的错误: 有一处l打成了1,还看不出来…… 缩小块大小De完bug后忘了把块大小改回去就提交……还以为自己一定能A了…… #include <cstdio> #include <cstring> #include <algorithm> #include <set> using namespa...

weixin_30847939的博客 121

Allegro17.4原理图-PCB双向联动技巧:从网表生成到同步高亮

本文深入解析了Cadence Allegro 17.4中原理图与PCB的深度双向联动技巧。核心在于通过精准的网表生成与管理、实时的跨窗口交互高亮与信号追踪,以及元件与封装的智能匹配更新,构建高效协同设计工作流。掌握这些技巧能显著提升高速、高密度电路设计的效率与准确性,实现从逻辑设计到物理实现的无缝衔接。

weixin_29178069的博客 358

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3983

整除分块学习笔记+[CQOI2007]余数求和(洛谷P2261,BZOJ1257)

上模板题例题: [CQOI2007]余数求和 洛谷 BZOJ 题目大意:求 $\sum^n_{i=1}k\ mod\ i$ 的值。 等等……这题就学了三天C++的都会吧? $1\leq n,k\leq 10^9$。(一口老血喷到屏幕上) $O(n)$ 行不通了,考虑别的做法。 我们来看一下 $\lfloor\frac{x}{i}\rfloor$ 的值。 $x=9$:...

angzuo8655的博客 266

全网首发--Unet3+改进16:在不同位置添加RepLKBlock超大卷积核

本文提出了一种基于大核卷积的神经网络架构RepLKNet,旨在缩小CNN与ViTs之间的性能差距。通过重新审视CNN中的大核设计,研究证明使用少量大卷积核替代多个小核能获得更强大的性能。提出的RepLKNet采用31×31大卷积核,在ImageNet和下游任务上取得了与SwinTransformer相当或更好的结果,同时具有更低延迟。文章详细介绍了实现步骤:(1)创建RepLKBlock模块文件;(2)在模型层中添加注意力机制;(3)在UNet模型中集成RepLKBlock;(4)完成训练流程。该方法展现了

AIcurator的博客 614

字符串哈希 - 模板和好题

常做一种比较字符串工具,避免比较字符串时O(n)的复杂度,可以将字符串处理为数字作为键有时可以替代 kmp 子串匹配,降低思维复杂度。

linrai的博客 832

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

洛谷P2801 教主的魔法 分块模板题

#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cmath&gt; #include&lt;algorithm&gt; #include&lt;set&gt; #include&lt;queue&gt; #include&lt;vector&gt; #include&lt;string&gt; #includ

qq_37439324的博客 300

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 160

WINCC7.3破解文件

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

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 217

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 438

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 15

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 437

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 362

牛客周赛165C题(前后缀性质,递推,排序,枚举)

题目大意:给定长度为 `n` 的数组,选择 `k ∈ [1,n]`,将前 `k` 个元素整体翻转,后面的元素不变。要求操作后的整个数组非递减,统计满足条件的 `k` 的数量。题目链接:https://ac.nowcoder.com/acm/contest/141721/C。时间复杂度:O(nlogn)

2501_94316951的博客 137

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 78

算法日常・每日刷题--<动态规划>32

给定严格递增的正整数数组,求最长斐波那契子序列长度。使用二维DP,dp[i][j]表示以arr[i]、arr[j]为最后两项的序列长度,初始化均为2。通过哈希表快速查找前一项target = arr[j] - arr[i],若存在且下标小于i,则状态转移:dp[i][j] = dp[k][i] + 1。遍历更新全局最大长度,最终若结果小于3则返回0。时间复杂度O(n²),空间复杂度O(n²)。

2503_92261635的博客 176

算法札记:几何分布在算法题UVA1262的运用

集卡问题求解核心:将集齐n种优惠券的过程分为n个阶段,每个阶段期望购买次数为 $ \frac{n}{k} $(k为剩余种类数),总期望为 $ n \cdot H_n $(调和数)。通过自洽方程推导单阶段期望,无需几何分布或无穷级数,逻辑清晰且适用于大一水平。例如,n=5时期望约11.42,非5。题目要求以带分数形式输出精确结果,算法上需累加分数并化简。

Keven_11的博客 308
上一篇: hdu 5947 数论
下一篇: 牛客P21578 思维,数论
stdforces
博客等级 码龄4年 9粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值