摘要:
先拓展一个之前讲过的模型的性质 对于一个编号在\([0,n)\)的环(顺时针编号),从编号为\(x\)的点开始顺时针跳,每次跳\(k\)步,那么最终经过的点一共有\(\frac{n}{d}\)个(其中\(d=\gcd(n,k)\)),如果我们将这\(\frac{n}{d}\)个点按照编号顺序排成一个 阅读全文
摘要:
跟上面一道题目基本上一样,异或基加点分治 阅读全文
摘要:
这道题目看官方解答就好了 考场上确实无法证明,但是最后猜出来了,因为这种一般都是找不变量嘛 其实考场上的时候也想到了将比较大的操作拆分成比较少的操作去进行化简的,但是没有想到怎么拆分 总之来说以后遇到这种题目,无法证明的就去找不变量 阅读全文
摘要:
转换对象,考虑每个球能被A/B拿到的概率是多少(注意对于每个特殊球/非特殊球来说,能被某一人拿到的概率是相同的) 然后就可以看这篇题解 这篇题解的正确性在于我们不用关注当前拿球的人是谁,对于一整局游戏,无论最后球是按什么顺序拿的,概率都是相等的;这也就是说,每一局游戏的概率与“随机排列\(n\)个不 阅读全文
摘要:
注意到这里\(m\)太大了,我们肯定没办法把所有的前\(m\)大的数找出来,所以我们只能先尝试把第\(m\)大的数找出来 这里的trick跟上一题一样,先将\(m\)乘以\(2\),但是这里必须二分第\(m\)大的值,设为\(ans\) 找到之后我们再统计严格大于\(ans\)的值的和以及数量就可以 阅读全文
摘要:
如果这道题目会可持久化trie的话,是可以用“超级钢琴”这一道题目的思路去做的 如果不行的话,考虑用trie,然后这篇题解关于trie的常用trick的综合可以记住 讲一下怎么查找第\(k\)大,不要用二分了,直接把\(sum_r\)放在trie树上查找。trie树每个点记录一下这个点的子树有多少个 阅读全文
摘要:
纯板子题,主要是讲一下这题如何快速求\(\phi\) 化简之后要求的是\(\underset{d|n}{\sum}n^d\phi(\frac{n}{d})\) 像这个求约数的\(\phi\)可以像下面这么求: 先将\(n\)质因数分解,对每个质因数\(p\),求出\(\phi(p),\phi(p^2 阅读全文
摘要:
赛时想到了二分+trie但是却没有想到怎么维护啊 看到异或,可以想位运算,trie和异或基。跟位运算肯定没啥关系,而异或基是选任意多个数进行异或,trie是两个数进行异或,所以这道题目用trie 二分,考虑是否存在至少\(k\)个区间不超过\(mid\) check函数:我们枚举区间的右端点\(r\ 阅读全文
摘要:
置换群通常用来解决一些涉及「本质不同」的计数问题,例如用\(3\)种颜色给一个立方体染色,求本质不同的方案数(经过翻转后相同的两种方案视为同一种) 置换:将\(1,2,3,...,n\)映射到一个打乱之后的\(1\) ~ \(n\)的排列\(p_1,p_2,...,p_n\)。可以用一个函数来表示, 阅读全文
摘要:
给定一个有穷或者让无穷数列{\(a_0,a_1,...\)},则称\(g(x)=a_0+a_1x+a_2x^2+...(-1<x<1)\)为原数列的一个生成函数 本质就是将问题转换为多项式问题,从而利用多项式的性质去解决问题 一些生成函数的化简见OI-wiki封闭形式 例题:现有\(1g,2,g,3 阅读全文
