文章分类 - 算法蒟蒻
摘要:【模意义下的运算】 加法/乘法 直接%mod即可 减法 (x-y+mod)%mod 除法 用乘法逆元 qmi(x,mod-2,mod) 或用逆元表 https://www.cnblogs.com/whiteink/articles/18703913 幂次 (1)欧拉降幂 (2)费马小定理:前面取模都
阅读全文
摘要:【贡献法】(数论) 一般结合计数原理/组合数学 中位数 https://ac.nowcoder.com/acm/contest/111309/F 知识点: (1)组合数递推打表 (2)降幂:费马小定理 注意在前面的取mod下取(mod-1),在最后的操作上取mod(费马小定理逆运算) const l
阅读全文
摘要:【有关STL的模拟】 STL很多都具有 O(logn) 的复杂度 可以处理很多 看起来要用数据结构的题 众数 https://ac.nowcoder.com/acm/contest/111309/D 分析 看题目n<=1e3->可以n^2遍历 要求每次修改后查找最大值是O(logn),修改也要O(l
阅读全文
摘要:【状态】(数论) 一般数字本身的范围很小->直接以数字本身作为状态 类线性dp去转移 Small Operations https://codeforces.com/contest/2114/problem/F 思路 一个是乘一个是除->尝试缩短为1个操作 ->x和y都除到1找最短路线 ->如何找最
阅读全文
摘要:【差分】 一般用来处理区间加减同一个数的问题 Sums of Sliding Window Maximum https://atcoder.jp/contests/abc407/tasks/abc407_f 有关ax+b的斜率差分:两次差分+两次前缀和->优化到O(n) int n; bool cm
阅读全文
摘要:【博弈论】理论基础 概念 初始状态很重要!一般都是针对初始状态进行讨论 必胜态 必败态 巴什博弈(Bash Game) 就是取石子 模型 结论 若n%(m+1)!=0 先手赢 若n%(m+1)==0 后手赢 分析 (1)若n%(m+1)!=0 先手可以拿到剩下(m+1)整数倍的石子留给后手 后手无论
阅读全文
摘要:【数论构造题】 构造+数论知识 Once In My Life https://codeforces.com/gym/105158/submit 类题常见思路 构造n*k=xxx的题目->将其转换为加法ans+x=n*k->求x 思路 考虑构造123456789d0000..0000的形式,此时低位
阅读全文
摘要:【数位DP】 对数字位数,把每一位拆开、关注每一位数字 特征 1.最终目的为计数:统计满足一定条件的数的数量 2.问题经过转化后,可以使用 「数位」 的思想去理解和判断 3.输入:提供数字区间/上界 来作为统计的限制 4.上界很大(\(10^{18}\)) 思考方式 把相似的计数过程进行归并->这些
阅读全文
摘要:【记忆化路线】 Spirit of Cola. https://ac.nowcoder.com/acm/contest/110312/J 注意写法积累! (1)vector多维数组 //记最短路 vector dp(c[0] + 1, vector(c[1] + 1, vector<int>(c[2
阅读全文
摘要:【树上前缀和】 Compare Tree Weights 【树链剖分+树状数组维护顶点前缀和】 https://atcoder.jp/contests/abc406/tasks/abc406_f #include<bits/stdc++.h> using namespace std; #define
阅读全文