2019牛客暑期多校训练营(第三场)
A. Graph Games
B. Crazy Binary String
简单签到,但我居然wa了两发,,,,来自F0_0H的自责
C. Guessing ETT
D. Big Integer
solved by sdcgvhgj, assisted by rdc 92min -3
题意 求满足 \(n=i^j\), \(\frac{(10^n-1)}{9}\%p=0\) 的正整数有序对 \((i,j)\) 数,\(i \leq c_1, j\leq c_2\)
做法
- \(10^n \% 9p=0\),\(n|\phi(9p)\)
- 枚举 \(n\) 求极小循环节。
- 枚举 \(j\),同时可以发现 \(j>40\) 后,开始划水。
复盘 比赛时的做法,应该是要 WA 的。
- 先打表猜测最小正周期大部分一定是 \(p-1\) 的因子【假了】
- 用矩阵快速幂递推求 \(a_n\) 【.....】
- 然后 WA。
- 发现有些时间最小正周期不太对劲,开始不断加 corner case。
F. Planting Trees
solved by rdc 233min -1
题意 求极大子矩阵,极差小于等于 \(m\)
做法 枚举上下界后转化为序列上的问题。两个单调队列一个维护区间最大,一个维护区间最小即可。单调队列写得太烂,耽误了太多时间。
G. Removing Stones
solved by rdc 163min
题意 查询多少个区间,\(2*mx \leq sum+1\)
做法
- 正难则反,考虑 \(2*mx > sum+1\) 的区间数
- 考虑元素 \(a[x]\) 是极大且 \(2mx>sum+1\) 的区间,确定极大的有界。
- 尺取!复杂度 \(O(不会证)\),猜和 log 元素上界,有关。
H. Magic Line
solved by sdcgvhgj 45min
题意 求一条直线将点分成个数相等的两半
做法 随机选点,极角排序,中间两点不共线则成功。
题解做法 按 x,y 双关键字排序,在一半的位置画一条斜率极大的直线。
I. Median
upsolved by rdc
题意 给出 \(a\) 序列,\(a_1,a_2,....a_n\) 构造 \(b\) 序列,\(b_1,b_2....,b_{n+2}\) 使得 \(mid(b_i,b_{i+1},b_{i+2})=a_i\)
做法
- 观察到,若解存在,必存在一组解使得 \(b_i ∈ \{a_{i-2},a_{i-1},a_{i}\}\)
- 考虑 DP,\(dp[i][x][y]\) 表示 \(b_{i}=a_x, b_{i-1}=a_y\) 是否能够合法。
- 决策 \(b_{i+1}\) 填什么。DP 记录前趋。
- MLE 了好多发,pair 套 pair 解体了。
J. LRU management
solved by F0_0H 170min -5
题意 有点长,看懂题意就能写的题
题解 开多个数组记录标记,左兄弟,右兄弟即可,然后我就被各种看错数据范围wa到自闭