会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
cheng-nan
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
2025年11月18日
树状数组
摘要: 参考:y树状数组 - OI Wiki 1.常见的树状数组是一种支持单点修改,区间查询的数据结构,下面给出模版 int lowbit(int x) { return x & -x; } 我们记 𝑥 二进制最低位 1 以及后面的 0 组成的数为 lowbit(𝑥) 注意:lowbit 指的不是最低
阅读全文
posted @ 2025-11-18 00:37 菜鸡の编程日常
阅读(6)
评论(0)
推荐(0)
2025年11月16日
Legendre公式
摘要: 参考:Legendre公式:数论罪恶的开始 - 知乎 Legendre公式和Kummer定理 - tkandi - 博客园 Legendre公式: 解释:n是一个正整数,p是一个小于等于n的质数 输出:通过Legendre公式可得到 n! 的其中一个质数 p 的幂次 Legendre公式p - 进制
阅读全文
posted @ 2025-11-16 00:58 菜鸡の编程日常
阅读(20)
评论(0)
推荐(0)
2025年11月13日
KMP算法
摘要: 参考https://www.bilibili.com/video/BV19Q4y1c7ko?t=3967.9 看了好多文章和视频,解法各种各样,我真的是看晕了,大多数将 nxt 数组的构建都讲太含糊,很难理解KMP算法的核心。这里推荐看看左神的讲解,相当细致,看完后茅塞顿开。 例题E - Shift
阅读全文
posted @ 2025-11-13 00:43 菜鸡の编程日常
阅读(9)
评论(0)
推荐(0)
三分法
摘要: 参考算法学习笔记(62): 三分法 - 知乎 众所周知,二分法主要用来求函数的零点,那么三分法是二分法的变种,主要用来求单峰函数的极值点。 三分法的原理非常简单,每次对一个区间[l,r]求三等分点lsec和rsec:l = l + lsec, r = r - rsec. 例题F-牛牛战队的比赛地_牛
阅读全文
posted @ 2025-11-13 00:04 菜鸡の编程日常
阅读(8)
评论(0)
推荐(0)
2025年11月7日
模运算的相关扩展
摘要: 详细见模逆元 - OI Wiki 模逆元 概念 非零实数 𝑎 ∈𝐑 的乘法逆元就是它的倒数 𝑎−1。类似地,数论中也可以定义一个整数 𝑎 在模 𝑚 意义下的逆元 𝑎−1mod𝑚,或简单地记作 𝑎−1。这就是 模逆元(modular multiplicative inverse),也称
阅读全文
posted @ 2025-11-07 00:55 菜鸡の编程日常
阅读(15)
评论(0)
推荐(0)
2025年11月2日
AtCoder Beginner Contest 428
摘要: C - Brackets Stack Query 段代码的功能是处理一系列关于括号序列的操作(添加或删除括号),并在每次操作后判断当前的括号序列是否为有效的括号序列。 我们可以用cnt记录左括号右括号数量是否匹配,若为左括号cnt++,若为右括号cnt--,同时用flag记录每次操作后得到的字符串是
阅读全文
posted @ 2025-11-02 22:55 菜鸡の编程日常
阅读(6)
评论(0)
推荐(0)
2025年10月27日
Codeforces Round 1060 (Div. 2)
摘要: A. Notelock 遍历字符串s,当遇到字符为‘1’时,记录到re当中。我们用last表示上一个字符,遍历re数组,每次比较当前字符位置的前k-1范围内是否存在‘1’字符,若存在,则表明后续存在一个被保护的字符能保护到这里,则last后移,赋值x,若不能被保护,则说明last这个字符后面的字符不
阅读全文
posted @ 2025-10-27 23:44 菜鸡の编程日常
阅读(43)
评论(0)
推荐(0)
2025年10月23日
埃氏筛及扩展质因数筛——埃拉托斯特尼筛法&变种
摘要: 质数筛 这段代码用 “埃拉托斯特尼筛法” 找 2 到 N 之间的所有素数,逻辑很直接: 先假设所有数都是素数(用vis数组标记,初始全为true); 排除 0 和 1(它们不是素数,标记为false); 从 2 开始,对每个没被排除的数 i(说明 i 是素数),把它的所有倍数(从 i×i 开始)都标
阅读全文
posted @ 2025-10-23 23:09 菜鸡の编程日常
阅读(11)
评论(0)
推荐(0)
2025年10月20日
Codeforces Round 1059 (Div. 3)
摘要: A. Beautiful Average 题目中n的范围很小,尝试暴力枚举,根据题目中给的公式,计算数组的前缀和,提高运行效率 查看代码 void solve(){ int n; cin >> n; vector<int> a(n + 1, 0); for(int i = 1; i <= n; ++
阅读全文
posted @ 2025-10-20 16:33 菜鸡の编程日常
阅读(33)
评论(0)
推荐(0)
上一页
1
2
公告