随笔分类 - OJ -- Uoj
摘要:【UOJ 310】【UNR 2】黎明前的巧克力(FWT) 题面 "UOJ" 题解 把问题转化一下,变成有多少个异或和为的集合,然后这个集合任意拆分就是答案,所以对于一个大小为的集合,其贡献是。 于是我们可以弄出若干个这样子的多项式,然后异或卷积把它们
阅读全文
摘要:【UOJ 242】【UR 16】破坏蛋糕(计算几何) 题面 "UOJ" 题解 为了方便,我们假定最后一条直线是从上往下穿过来的,比如说把它当成坐标系的轴。 于是我们可以处理出所有交点,然后把它们从上往下排序。 相邻的两个点就构成了一个相交的平面(可以认为正无穷和负无穷位置还有一个点) 那么,这
阅读全文
摘要:【UOJ 308】【UNR 2】UOJ拯救计划 题面 "UOJ" 题解 如果模数很奇怪,我们可以插值一下,设表示用了种颜色的方案数。 然而模这个东西很有意思,,所以我们只需要考虑其模和模的结果了。 而最终答案的贡献是$\sum_{i=1}^k A_{
阅读全文
摘要:【UOJ 390】【UNR 3】百鸽笼(动态规划,容斥) 题面 "UOJ" 题解 发现这就是题解里说的:“火山喷发概率问题”(大雾 考虑如果是暴力的话,你需要记录下当前每一个位置的鸽笼数量,因为概率会随着你空的鸽笼的数量而变化。 我们可以把这个问题转变为给一个长度为的序列填数的问题。 直接算似
阅读全文
摘要:【UOJ 389】【UNR 3】白鸽(欧拉回路,费用流) 题面 "UOJ" 题解 首先第一问就是判断是否存在一条合法的欧拉回路,这个拿度数和连通性判断一下就行了。 第二问判断转的圈数,显然我们只需要考虑顺时针过一条从源点出发的射线的次数减去逆时针过的次数就好了。 于是我们就要在欧拉回路合法的基础上算
阅读全文
摘要:【UOJ 388】【UNR 3】配对树(线段树,dsu on tree) 题面 "UOJ" 题解 考虑一个固定区间怎么计算答案,把这些点搞下来建树,然后,不难发现一个点如果子树内能够匹配的话就一定会匹配完,所以可以做到线性。 那么根据上面的方式,一条边会被匹配到,当且仅当把这
阅读全文
摘要:【UOJ 386】【UNR 3】鸽子固定器(贪心) 题面 "UOJ" 题解 一个不难想到的暴力做法是把东西按照排序,这样子我们枚举极大值和极小值,那么我们选择的一定是这一段之间最大的那个东西。 考虑优化这个过程,我们枚举右端点,左端点向左移动,每次插入一个元素,用堆来维护选择的过程
阅读全文
摘要:【UOJ 82】【UR 7】水题生成器(贪心) 题面 "UOJ" 题解 把的所有约数搜出来,这个个数不会很多。 然后从大往小能选则选就好了。
阅读全文
摘要:【UOJ 76】【UR 6】懒癌(动态规划) 题面 "UOJ" 题解 神....神仙题。 先考虑如果是完全图怎么做。。。 因为是完全图,所以是对称的,所以我们只考虑一个有懒癌的人的心路历程。 如果只有一只狗有懒癌:第一天,看了看,似乎其他的狗都没有,但是村子里至少有一只狗有,然后就确定了。 如果有两
阅读全文
摘要:【UOJ 75】【UR 6】智商锁(矩阵树定理,随机) 题面 "UOJ" 题解 这种题我哪里做得来啊[惊恐],,, 题解做法:随机个点数为的无向图,矩阵树定理算出它的生成树个数,然后找到四张图不拼接直接放在一起,也就是找到四个图,假设其生成树个数是,那么就找到$f(G
阅读全文
摘要:【UOJ 74】【UR 6】破解密码 题面 "UOJ" 题解 发现这个过程是一个字符串哈希的过程。 把第一位单独拿出来考虑,假设这个串是,旋转后变成了。 其哈希值分别是:和。 那么$h[i] 26 h[i+1]=
阅读全文
摘要:【UOJ 61】【UR 5】怎样更有力气(最小生成树) 题面 "UOJ" 题解 最最最暴力的想法是把所有边给处理出来然后跑。 考虑边权的情况,显然离线考虑,把么一天按照进行排序,显然在这一天的可以连的所有点中,我们能连则连。 考虑把这一天的所有的限制给弄出来(也就是弄出限制的子图
阅读全文
摘要:【UOJ 60】【UR 5】怎样提高智商 题面 "UOJ" 题解 首先猜猜答案是。即前面的选啥都行,后面的搞搞就行了。 而打表(看题解),可以知道答案就是这个,并且每个问题都是询问的个数,选项都是。 证明啥的不存在的。 cpp include include usi
阅读全文
摘要:【UOJ 50】【UR 3】链式反应(分治FFT,动态规划) 题面 "UOJ" 题解 首先把题目意思捋一捋,大概就是有个节点的一棵树,父亲的编号大于儿子。 满足一个点的儿子有个,其中,且个儿子是叶子,另外个存在子树,且两种点的链接的边是不同的,求方案数。
阅读全文
摘要:【UOJ 49】【UR 3】轴仓库 题面 "UOJ" 题解 不难发现一定是每次找到离当前位置最近的一个箱子,然后把它搬过来。 那么如果我们能够确定起始位置,我们就可以二分从两侧多少距离搬箱子,判断一下时间就好了。 考虑起始位置,发现一定可以让起始位置有箱子,因为这东西本质上就是一个中位数的模型。 考
阅读全文
摘要:【UOJ 48】【UR 3】核聚变反应强度(质因数分解) 题面 "UOJ" 题解 答案一定是除掉的最小质因子。 而的最小值因子一定是的质因子。 所以预处理出的质因子,个数不会超过个,然后就可以直接暴力了。 时间复杂度$O(n\log
阅读全文
摘要:【UOJ 22】【UR 1】外星人(动态规划) 题面 "UOJ" 题解 一道简单题? 不难发现只有按照从大往小排序的顺序选择的才有意义,否则先选择一个小数再去模一个大数是没有意义的。 设表示考虑了前个数,模完之后是的方案数。 转移的时候枚举这个数是模还是不模,如果不模的
阅读全文
摘要:【UOJ 21】【UR 1】缩进优化 题面 "UOJ" 题解 ~~想复杂了就跟我一样不会做了~~ 选定之后,要求的变成了: 考虑怎么在枚举的过程中动态算这个东西。 先考虑怎么算第一部分,即$\sum [\f
阅读全文