加载中...
avatar
文章
28
标签
22
分类
0
主页
归档
标签
links
關於
音樂
ZuesHans's little bagwp_优化 返回首页
搜索
主页
归档
标签
links
關於
音樂

wp_优化

发表于2026-01-12|更新于2026-03-26
|浏览量:
文章作者: KeronsHans
文章链接: https://zueshans.github.io/wp_adhoc/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ZuesHans's little bag!
算法
cover of previous post
上一篇
wp_优化
基于数据范围打表预处理 筛法枚举 F. Easy Demon Problem 核心模型:调和级数枚举预处理 思维误区 (Bug):首先是对于题目负因数case没写上。其次是复杂度。这道题错解是n√nlogn,注意到数据范围会变成1e8,加上map常数大会tle。第一步优化换了unorded_set (O(1)查询最坏on)题目卡哈希冲突。 修正逻辑 (Patch):看到多次查询&&因子||倍数||最大公约数,在数据范围允许的条件下可以对值域内所有数有的性质进行打表。 关键逻辑:双重循环,但是内层循环是按倍数增长,这一块的复杂度实际上是nlogn的 关键代码: 1 Codeforces 1154G - Minimum Possible LCM 核心模型:枚举gcd 思维误区 (Bug):记录第一直觉为什么错了 (如: 以为是DP其实是贪心 / 读错题) 修正逻辑 (Patch):下次看到什么特征,要修正为正确思路 关键代码: 1// 只贴最核心的 3-5 行逻辑或 Check 函数,不要贴 main 根号分治 是一种通过将问题按规模分类并结合...
cover of next post
下一篇
ZU_Constructive Algorithms
构造算法 这个文章主要针对cf div2 cd题难度的做题感想 题目类型 去看题目要求的输出: 如果要求你输出构造的具体条目 有输出要求(字典序之类的):那这个构造一定有一个或者一群比较优的算法,在这些算法里面一定能按某种贪心来找到正确的构造 没有输出要求:一般贪心之类的 如果要求你输出最大/最小和…一般不需要直接构造答案。 此时关注数据范围,如果要求你多次输出(或者求最优,可能需要每一种构造方案都比较一下)大概率是O1或者Ologn算法 O1常用前缀和/后缀和/推理数学性质构造式子 排列数的组合是阶乘级别的
相关推荐
cover
2026-03-07
KH_实现合集
实现二进制拼凑某个数字 用代码表达就是从高位到低位扫描: 123456ll R = 0;for(int d = 29; d >= 0; d--){ if(n & (1ll << d)){ // 如果第d位是1 R = R * ten[d] + rli[d]; }}
cover
2025-11-13
KH优化算法
莫队 普通莫队做法 P2709 【模板】莫队 / 小B的询问 核心模型: 思维误区 (Bug): 修正逻辑 (Patch): 关键代码: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182struct qury{ int l, r, id;};void solve(){ int n, m, k; cin >> n >> m >> k; vi nums(n + 1); for (int i = 1; i <= n; i++) { cin >> nums[i]; } vi cnt(k + 3); vector<qury> qry(m); ...
cover
2026-02-11
KH_对拍写法
python 的随机数生成器写法 基础常见语法 import random随机库 random.randint(a, b): 生成一个 [a,b][a, b][a,b] 范围内的整数(包含 aaa 和 bbb)。 random.choice(seq): 从列表或字符串中随机选择一个元素。 random.uniform(a, b): 生成一个 [a,b][a, b][a,b] 范围内的浮点数。 示例代码 1234567891011121314import randomdef solve(): n = random.randint(1,1000000) print(n) for i in range (n): c=random.randint(1,10) w=random.randint(1,10) print(c,w)# end=" " 表示打印后不换行,而是加个空格 print()# 最后换个行if __name__ == "__main__": ...
cover
2026-02-15
KH_期望DP与概率论
对于期望 DP,我们一般采用逆序来定义状态,即考虑从当前状态到达终点的期望代价。 根据期望的线性性质计算出数学期望表达式 注意点 E[X^2] \neq (E[X])^2$$ -> 正确的代入姿势:展开全平方公式 收集邮票 核心模型:期望dp 思维误区 (Bug):展开完全平方式,x->f(x) x^2->g(x)注意一一映射关系 理解递推公式: 当前状态的期望 = ∑[转移到下一个状态的概率×(下一个状态的期望+本次转移的代价)]\sum [ \text{转移到下一个状态的概率} \times (\text{下一个状态的期望} + \text{本次转移的代价}) ]∑[转移到下一个状态的概率×(下一个状态的期望+本次转移的代价)] 一维初始方程:$$E(i) = P \cdot (E(i+1) + 1) + (1-P) \cdot (E(i) + 1)$$ g(x)=P⋅(g(x+1)+2f(x+1)+1)⏟抽到新票的贡献+(1−P)⋅(g(x)+2f(x)+1)⏟抽到旧票的贡献g(x) = P \cdot \underbrace{(...
cover
2025-11-13
KH二进制
二进制常见trick 快速判断奇偶:n & 1 乘除2n >> 1 n << 1 x>>k是指x右移k格就是把最右边顶掉就是除以二 正数是向下取整负数是向下(比如-5>>1=-3) 关于2的次方:必须注意的两个“坑”坑一:优先级问题位运算的优先级低于加减法!错误:1 << k - 1 (会被解析为 1 << (k - 1))错误:a + 1 << k (会被解析为 (a + 1) << k)正确:总是加括号!(1 << k)坑二:不要用 pow(2, k)pow() 函数是浮点运算,返回值是 double。缺点:慢:比位运算慢得多。精度问题:当 kkk 很大时,转回 int 或 long long 可能会出现精度丢失(比如算出 31.99999 转成 31)。结论:整数运算永远只用 <<。 是不是2的整数次幂 作用:log2 n; n & (n - 1) lowbit:用于树状数组update 和 query 操作b...
cover
2025-11-11
KH单调栈单调队列
单调栈模板 运用场景 下一个/上一个更大/更小值的位置 去除重复子串 精妙之处 在栈里面存下标,只在更新的时候“取下标”。 AC代码 123456789101112131415161718192021222324int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } stack<int> stk; vector<int> ans(n); for (int i = 0; i < n; i++) { while (!stk.empty() && a[stk.top()] < a[i]) { ans[stk.top()] = i + 1; stk.pop(); } stk.push(i); &...
avatar
KeronsHans
文章
28
标签
22
分类
0
Follow Me
公告
这里是一只会打字的小猫
欢迎来找我玩!
小猫永远喜欢unk大人/小声
Codeforces Stats
最新文章
ZU_基础算法
ZU_基础算法2026-03-26
KH_实现合集
KH_实现合集2026-03-07
sp_奇思妙想小题目
sp_奇思妙想小题目2026-02-16
KH_期望DP与概率论
KH_期望DP与概率论2026-02-15
sp_Valentine's Day
sp_Valentine's Day2026-02-14
© 2025 - 2026 By KeronsHans
I am a little coding cat . PLZ love me
搜索
数据加载中