
数学
文章平均质量分 58
关于OI Wiki内的数学例题
Σ_aphasia
不要温和的走进那个良夜
展开
-
cf1725 H. Hot Black Hot White(魔幻数论+构造)
cf1725 H-Hot Black Hot White原创 2022-09-07 13:06:34 · 334 阅读 · 0 评论 -
Rikka with Prefix Sum(规律推导+组合数学)
传送门 题目大意: 给定一个初始时都为 0 的数组,每次可进行三种操作中的一个: 1 选取一段区间都加上 www(可以通过差分构造,a[l]+wa[l]+wa[l]+w,a[r+1]−wa[r+1]-wa[r+1]−w) 2 把 aaa 变为它的前缀和数组 3 查询区间和 (通过多做一次前缀和求两点差值 a[r]−a[l−1]a[r]-a[l-1]a[r]−a[l−1]) 由此将此题转化成一个只与 前缀和的次数 有关的题目。 而关于某个数在做了 iii 次的前缀和后,我们可以找到它对第 jjj 个数的贡献的原创 2022-05-03 18:41:18 · 231 阅读 · 0 评论 -
P4869 albus就是要第一个出场(线性基+集合规律)
传送门 然而一不小心默认成了所有线性基都存在,导致误判出了 QQQ 之前正好有 QQQ 个数(即 000 到 Q−1Q-1Q−1 )的错误结论,于是第一发喜提 707070 分。AC 代码还需要往下翻 70分(未判 Q 之前有多少个数)代码 #include <bits/stdc++.h> #define int long long using namespace std; const int N=105; const int mod=10086; int p[N]; int ksm(int原创 2022-04-30 22:27:07 · 196 阅读 · 0 评论 -
P4301 [CQOI2013] 新Nim游戏 (博弈结论套线性基)
传送门 首先由 NimNimNim 游戏的规则可知,当所有堆的火柴数都为 000 时即为胜利,此时所有堆的火柴数的异或和为 000 。进而可以反推,能够一步走到异或和为 0 的状态都为必胜状态。那么为了让自己保证能够获胜,必然要让对手无论取走多少堆也不能构成 异或和为 0 的局面。了解到这个规律后,就可以快乐的 套上线性基做题了。 由于题目中要求的是第一回合拿的火柴总数尽量小,则需要把最大的能够插入线性基的留给对手,而不能插入的(即可以用线性基内的元素异或而成的值)则拿掉。因此可以贪心的对数据进行递减的排序原创 2022-04-30 20:15:10 · 166 阅读 · 0 评论 -
P4570 [BJWC2011]元素 (线性基模板)
传送门 没睡够,第一发提交喜提 101010 分,原因是贪心成判断每一块矿石在它能够摆入的位置上,能不能顶替掉之前摆放的贡献更小的矿石,于是成功违反了保持异或和不为 000 的特性。 换个更简单粗暴的贪法:直接对所有矿石进行贡献值的排序,只要通过线性基的特性判断插入当前矿石是否合法即可。 OI wikiOI\ wikiOI wiki 上的朴素线性基插入: void insert(long long x) { for (int i = 55; i + 1; i--) {原创 2022-04-30 19:34:25 · 182 阅读 · 0 评论 -
子序列权值乘积(数学)
传送门 由高中知识可得,对于一个拥有 nnn 个元素的集合,其非空子集的数量为 2n−12^n-12n−1 ,本题考虑采用对原数组进行排序后,枚举每一个元素作为最小值及最大值的贡献次数,并进行累加。 对于排序后的数组,任取一个元素 aaa ,且包括自身及之后共有 kkk 个元素时,共能得到 2k−12^{k-1}2k−1 个包括自身的子集,且在这些子集中,最小值一定为该元素 aaa。由此可得第 iii 个元素的最小值的贡献为:ai(2n−i)a_i^{(2^{n-i})}ai(2n−i) 。 同理可得,对原创 2022-03-17 15:32:54 · 364 阅读 · 0 评论