12 2019 档案
摘要:激光发生器 题解 我讨厌数学!!! 计算几何,欺负笔者数学差。 好吧,此题貌似有点坑,总之笔者调了半天。 这么小的数据,一看就是模拟。 其实此题可以分为两大版块,一个部分是求交点,挺好写的,还要判断一下在不在线上。 第二个部分是重点,就是该如何反射。 我们可以先求出它与法线的夹角,再将它旋转,使它达
阅读全文
摘要:遗忘的集合 题解 生成函数万岁!!! 很明显是一道的生成函数的题,开始推吧!!! 我们知道,一个数可以被取无限次的生成函数为。 我们可以用01的序列表示是否选这个数,设每项为,则这个多项式F为 很明显,我们的目标是求出。 子命题: 证明如下: 证毕。 将原式代入并取ln 如此我们枚举, 现在就求出了
阅读全文
摘要:维修数列 题解 这是一道无旋Treap模板题,尽管笔者调了半天。 我们来分析一下每一个操作。 对于INSERT操作,我们可以将其从x分成两个子树,再将它要加的点建成一棵子树,将这三棵树合并即可。 对于DELETE操作,我们可以将其拆为三棵子树,删掉中间的子树,把两边的合并即可。 对于MAKE-SAM
阅读全文
摘要:寿司晚宴 题解 分析一下部分分。 30pts:考虑状压dp,我们可以选择将每个质因数压为一位,一个二维的dp状压,方程式也很好想。50pts:别问笔者怎么想出来的,我们发现两个质因子完全不同的集合,它们构成的数也一定不同。于是我们可以去掉一维,只在最后加上两个完全不同状态的乘积即可。70pts:笔者
阅读全文
摘要:1-02E. JM的西伯利亚特快专递 题解 题面说得很明白了,很明显的一道贪心。 我们知道要让字典序最小,我们必须让越前面的数越小。所以,贪心思想如下: 我们每次假定当前s串中最小的值,若t串尾部的值比这更小,那么就要t串尾的值,否则一直取到最后一个。 其正确性很容易证明。 源码 #include<
阅读全文
摘要:荷马史诗 题解 一道Huffman树的模板题。尽管笔者考试时未做出来(因为不会Huffman)。 其实到我们明白题意后就可以知道此题就是在一棵k叉树上旋n个点,使没有一个点的祖先被选。 研究到这里,很明显的一道Huffman的模板,至于Huffman具体怎么实现就不再说明了。 源码 //#pragm
阅读全文
摘要:NTT(快速数论变换) NTT是一个与FFT一样想看吐的算法,一个模板,调了一天。 关于FFT的部分我就不过多赘述了,可以参考这篇博客:https://blog.csdn.net/Tan_tan_tann/article/details/113539394。 FFT 虽然跑得快,但是因为是浮点数运算
阅读全文
摘要:无限之环 题解 最开始看上去像道模拟,不过看到数据范围就知道不可能了。好吧,正解是网络流,接下来讲一下网络流怎么打这一道题。 我们知道,对于每一个格子的每一个管子,它一定会与附近的一个格子的一个管子相连,这是毋庸置疑的。我们必须要让每个管子都流满否则必定会漏水。 我们发现,整个图最后一定会变成若干个
阅读全文
摘要:Path 题解 一道很明显的网络流。 由于题目只想让最小路径变大一点,所以我们可以把所有最短路径建成一张网络,然后,我们就可以找出这个图的最小割。 很显然,最小割的值就是我们总共封路的花费。 注意要开long long,笔者因为这个WA了好久。 如果打的dijk要加堆优化,否则会TLE。 源码 #i
阅读全文
摘要:概率充电器 题解 很简单的一道树形dp,不过我们得用容斥的方法转变一下思路。 如果我们将dp值设为灯亮的几率,我们的时间复杂度可能被卡到,显然是不行的,我们也就不具体分析了。 我们设为ti不被它的子树上任意一点亮的概率(含自身)。 很显然,dp1(以下省略1)的转移方程式如下: u点不能被点亮的情况
阅读全文
摘要:可持久化无旋Treap 今天又学习了可持久化非旋Treap,其实很简单,将普通的非旋Treap持久化一遍就行了。具体来说,就是将每次操作后得到的树记录下来,每次需要改变一个点的信息时,将原有的点的信息记录下来,建一个新点去更改它的信息。 其实持久化的过程与线段树的持久化相似。 其实打出来跟普通的非旋
阅读全文