2023.11.11联赛总结

T 1 T_1 T1给出 n n n个数和 k k k,每次可以使 a i → a i ∗ x a_i \to a_i*x aiaix,满足 x ∣ k x \mid k xk k → k x k \to \frac{k}{x} kxk,求操作后所有

数的因子个数乘积的最大值。 n , k , a i ≤ 1 0 4 n,k,a_i \leq 10^4 n,k,ai104

考虑质因数分解,计算每个数乘上一个质数后因子增加的个数,一开始我直接贪心找一个增加个数最大的数去操作,大样例挂了。对着代码看了一会,看不出啥错,就去看 T 2 T_2 T2 T 2 T_2 T2打完暴力回来才发现我这个贪心策略是错的。我应该找一个操作之后答案最大的数进行操作,因为答案要取模所以不能直接比大小,所以我们要找到一个 i i i,使得没有一个 j j j被修改后能大于 i i i。这里我用了快排,自定义了一下排序函数,巧妙地维护了这个问题。

T 2 T_2 T2

棋盘上有 n n n行,每一行填 i i i个,满足:

  • 每行第一个数互不相同
  • 所有在行上相邻的两个数所组成的无序对互不相同。
  • 每行的数互不相同

n ≤ 4000 n \leq 4000 n4000

一开始推了会性质,没推出啥,时间又不是很够,所以直接骗了 10 10 10分跑路了。

T 3 、 T 4 T3、T4 T3T4

因为 T 1 T1 T1花了我大量的时间,在加上 T 2 T_2 T2推了下性质,导致我时间所剩无几,再加上这两道题的暴力代码肯定很长,我不保证我能在比赛结束前打完,于是我就去检查了。

赛后:因为数组开太大, T 1 T_1 T1挂成 0 0 0分,这也是我第一次犯这样的错误,其实是一开始我数组是不会炸的,后面改其他数组类型的时候一起改了,改了之后我没有重新计算就挂了。

这一次 T 1 T_1 T1也花了不少时间,导致我后面两题没时间打暴力,主要因为没有彻底地证明思路是对的就开打,导致后面要重构,这花费了我很长时间,后面的做题时应养成先把思路证明一下、在开打的做题习惯。

n o i p noip noip RP++。

你可能感兴趣的:(赛后总结,赛后总结)