2019 年电子科技大学 ACM-ICPC 暑假前集训数学与几何专题解题报告
5/10/12
牺牲博弈论的微积分与大学物理保护法。
A. 韬哥哥抽卡
题目描述
求:
数据范围:
题解
因为指数可能很大,所以先考虑扩展欧拉定理,当
然后就单独考虑指数,就是怎么求
最后一遍快速幂即可。
时间复杂度
反正跑得贼快。
代码见这里
B. 别问,问就是 AK
题目描述
多次询问,设
数据范围:
题解
对于这样带质数还恒等的一般考虑模数
则存在唯一
根据计数规则,有:
显然
那么现在问题是有多少符合条件的
设
因为
于是答案就变成了
对于后一个求和可以直接用等差数列求和公式求。
前一个求和枚举
预先求出
时间复杂度
实际上时间复杂度应该是一个
原题来自:HDU 6051. If the starlight never fade
代码见这里
C. oy function
题目描述
多组询问,求:
数据范围:
题解
看起来像 Möbius 反演,可以先看一下 H 题的题解。但是实际上不用……
还是考虑枚举
记
对于前一个求和,利用数论分块即可解决。
时间复杂度
代码见这里
D. 如果早知道 wf 题也会被 ak - 年度版
题目描述
已知三阶递推式
数据范围:
题解
因为这样的三阶递推式可以构造矩阵:
所以我们求的就是最小的
然后利用 BSGS 求解即可。
令
时间复杂度
代码见这里
E. xzlnb 教你避铳
题目描述
期末了,牺牲博弈论的微积分与大学物理保护法
题解
F. xzlnb 教你胡牌
题目描述
期末了,牺牲博弈论的微积分与大学物理保护法
题解
G. 你怎么还没睡啊
题目描述
一共
数据范围:
题解
因为有一个球已经确定了位置,高中学过这样的情况要分类讨论。
- 如果这个球放的盒子里只有它一个球,剩下的情况就是
个可区分的盒子里放 个球,要求盒不为空; - 如果这个球放的盒子里还有其他球,剩下的情况就是
个可区分的盒子里放 个球,要求盒子不为空。
总情况就是往
对于
对于
然后求第二类 Stirling 数有一个卷积式子:
这样就可以快速求出需要的第二类 Stirling 数了。
答案式子为:
时间复杂度
代码见这里
H. world domination
题目描述
在三维空间坐标系中,求在
这里定义看到为这个点到原点的连线上没有其他点。
数据范围:
题解
这个和 SDOI 2008 的「仪仗队」一题很相似,但是这里是对这道题的三维拓展。
还和 SPOJ VLATTICE 差不多,但是 SPOJ 那道题只需要算第一卦限和三个坐标面三个坐标轴上的值就行了。
我们考虑点坐标绝对值均大于等于
最后的
考虑 Möbius 反演,先对简单的二维情况推导。
构造一个函数
其实是我们对着 Möbius 反演干了一件很无聊的事情:这里
那么我们要求的就变成了:
我们交换后一个的求和顺序,变成枚举因子的形式:
然后这个式子就可以在
对于三维情况,有类似推导,可以得到:
同样做一下即可。
时间复杂度
实际上对于
据说还可以杜教筛做到
代码见这里
I. 快去睡觉
题目描述
- 小球可互相区分,盒子可互相区分;
- 小球可互相区分,盒子不可互相区分;
- 小球不可互相区分,盒子可互相区分;
- 小球不可互相区分,盒子不可互相区分。
数据范围:
题解
很显然的是,如果
对于小球可互相区分,盒子可互相区分的情况,这个和 G 是一样的,是第二类 Stirling 数乘一个阶乘。
对于小球可互相区分,盒子不可互相区分的情况,是第一种情况除以一个阶乘。
对于小球不可互相区分,盒子可互相区分的情况,显然插板法这个是高中题。
对于小球不可互相区分,盒子不可互相区分的情况,这个是一个类似 DP 的递推。
具体可以参考 HaHaTa 的博客 (Web Archive)。
于是我们先预处理一下第二类 Stirling 数,组合数,那个 DP 和阶乘,然后计算即可。
时间复杂度
代码见这里
J. 白给的几何题 1
题目描述
求矩形面积并。
数据范围:
题解
矩形面积并有经典的离散化后扫描线+线段树算法。用扫描线维护
原题来自:POJ 1151. Atlantis
时间复杂度
代码见这里
K. 白给的几何题 2
题目描述
求平面最远点对。
数据范围:
题解
平面最远点对一定在凸包上,所以求凸包上的最远点对就完事了。
如果数据是随机的,XJB 暴力的复杂度是对的,因为随机
但是不是随机的话,这样显然被卡,直接生成一个
对于平面最远点对在凸包上的证明,可以利用调整法证明,如果一个点不在凸包上,那么调整到凸包上一定会增大答案。实际上咋证我也不会。
时间复杂度
代码见这里
L. 白给的几何题 3
题目描述
给定
数据范围:
题解
最小圆覆盖是一个神奇的东西,利用随机增量法,先打乱所有输入,枚举一个点
时间复杂度
代码见这里