A. Battle of Balls
球的半径为 ,为了不让球碰到障碍点,就要保证,球心到障碍点距离大于 。
问题可转化为,每个障碍点有一个半径为的圆,需要知道从地图底边到地图顶端是否联通。
对于任意两个障碍点或一个障碍点和一条左右边界,如果它们之间的距离小于球的直径,则球通不过它们之间的间隔。
把所有距离小于 的障碍点连一条无向边;右边界和左边界两条直线抽象成两个点 ,把与其距离小于 的障碍点连一条无向边,得到一张无向图。
如果地图不连通,则一定存在一条从地图左边界 到右边界 的路径。
通过 就能知道 与 t之间是否存在一条路径,即可知道地图底边和顶端是否联通
时间复杂度 O(n^2)
B. Icebound and Sequence
简单想法直接模拟,复杂度 , 太大会 TLE
solution 1
考虑等比数列的性质,如果我们想要计算,我们可以先计算,然后整体乘上,即。
利用这个性质,我们使用递归分治法解题。假设递归的这一层我们需要计算,我们先递归计算,将得到的结果乘上,则得到。因为最后一项为向下取整再乘二,如果为奇数的时候还需要再加一个。全程注意取模!
对于每一层我们都像上面那样递归,每一层都需要使用快速幂计算,共有层,总复杂度为,如果我们每层都记录一个参数,,则无需快速幂,总复杂度为
solution 2
令表示等比数列前项的和,则,这是一个线性常系数递推式,可以使用矩阵快速幂处理递推。
solution 3
根据等比数列求和公式:当时,
由于 可能为合数,在模 意义下可能不存在逆元
所以要改变一下模数,先将模数改为 ,计算模 意义下的答案
,由于 能被 整除, 故 能被 整除,就可以不用求逆元
C. 分治
区间
用 表示攻打完第 个国家到第 个国家共 个国家需要的最小花费 第一层循环枚举区间长度,第二层循环枚举区间左断点,第三层循环枚举最先攻打区间 内的城市k。则状态转移为 复杂度是
D. 榜单
模拟 + I/O
给出一场比赛的所有提交记录,输出比赛最后的榜单
正确理解题意,字符串格式化输出
需要注意CE不计入榜单和罚时;一道题目AC后的提交不在统计
E. Paper Plane Fly Away
给一张二分图,求每条边与其他边有多少交点
对于一条边可用区间 表示。对于求交点数可转化为,所有区间按照左端点排序后,右端点的逆序数,加上按照右端点排序后,左端点的逆序数
使用两次经典的分治或者树状数组即可求解
F. Take Apples
使用搜索打表找规律,或结合博弈论相关知识可以确定:
当时,Bob存在必胜策略。
否则Alice存在必胜策略。具体证明详见另一个文件。
G. 点我
签到题,直接模拟或找规律。
注意 时的情况
H. 天神的密码
本题数据范围最大可以出到。接下来按数据范围分别讨论做法:
当时:
直接模拟即可。注意不要使用pow函数计算,pow返回的是double类型,会掉精度。
当时:
因为只有4500位,使用高精度乘法模拟即可。
当时:
考虑这个过程的性质,设某个数的第个数位的数字为,可以知道:
也就是说,对于某个数字来说,他的所有的数位上的和对9取模等于数字对9取模。
设第次操作后的值为,我们可以知道
由此,可以得知:题目中对于数字进行变换的过程等价于令对9取模,使用快速幂计算即可。
I. Twinkle
对于 时刻的询问,答案为
时刻时,初始值 时,值需要减去
问题转化为
划分为三个问题
- 二维平面,求一个矩形中多少个点()
- 二维平面,求一个矩形中所有点的权值之和()
- 二维平面,求一个矩形中有多少个点的权值 ()
前两个问题等价,都是二维偏序问题,排序后使用树状数组或 分治,
第三个问题是一个三位偏序问题,一维排序,二维分治,三维树状数组
总复杂度
J. 舔狗
给出有向基环树森林,最多选取多少个没有公共顶点的边?
solution 1
找到环后,拆环后进行两边树形
表示以x为根的子树,不选择它的边的答案数
表示以x为根的子树,选择它的一条边的答案数
solution 2
贪心
从所有入度为 的点,贪心选择它指向的点,并把它指向点指向的点的度数减一,当点的入读为 时,加入队列;如果指向的点被选过答案加。
对于剩下的节点只可能存在环上,统计环上点的个数,两两配对。个数为奇数答案加一。
K. 河北美食
模拟+字符串
用处理菜品名称,直接模拟即可。注意按要求输出
L. Smart Robot
假设答案的长度为,即机器人需要走步。则机器人在矩阵中最多产生个数字。
则答案一定小于等于,即,化简可得:
其中对数是以 为底的。
因为最大为 ,所以答案的长度一定很小,最高不超过 ,则机器人最多走步。
所以直接搜索,限制每个点最多搜索步,使用哈希表记录,最后筛选出答案即可。
但是事实上答案并不会达到上界,而且题目是随机生成的,所以只需要走步即可。
附件:题目+题解+证明+标程包:
链接: https://pan.baidu.com/s/1rMO8WoEGxLYc7SbCpE9oKQ 提取码: b5yc
透,博弈论差点被我蒙出来……