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到自闭


posted @ 2019-07-25 20:30  FST_stay_night  阅读(590)  评论(0编辑  收藏  举报