2023.11.14联赛总结

T 1 T_1 T1给出一个长度为 n n n的序列,你可以进行若干次操作,每次花费 c j c_j cj元将 a i a_i ai变为 ⌊ a i j ⌋ \lfloor \frac{a_i}{j} \rfloor jai,你一共有 k k k元。问最终序列的中位数最小是多少。

其中 1 ≤ n , m ≤ 5 ∗ 1 0 5 , 1 ≤ a i ≤ m , 1 ≤ c i , k ≤ 1 0 9 1 \leq n,m \leq 5*10^5,1 \leq a_i \leq m,1\leq c_i,k \leq 10^9 1n,m5105,1aim,1ci,k109

赛时我并没有想到二分 + d p +dp +dp,以为是 d p dp dp,结果没有想出来,大概想了 30 30 30分钟就放了。

T 2 T_2 T2给出一个无向图,进行 q q q次询问,每次给出一个点 x x x,对于这个图的所有边,如果 c i ⊕ x > k c_i \oplus x > k cix>k,则这条边有效,否则这条边不存在。求互相联通的点对个数。

1 ≤ n , m ≤ 1 0 5 , 0 ≤ c i , x , k < 2 30 1 \leq n,m \leq 10^5,0 \leq c_i,x,k<2^{30} 1n,m105,0ci,x,k<230

一开始我先打了 O ( ( n + m ) q ) \mathcal O((n+m)q) O((n+m)q)的暴力。

然后观察了一下后面两组数据点,发现虽然 1 ≤ n , m ≤ 1 0 5 1 \leq n,m \leq 10^5 1n,m105,但是 c i , x , k < 2 10 c_i,x,k<2^{10} ci,x,k<210,理论上记忆化就可以拿下 80 80 80分。

但是赛后发现第二组数据 T T T了,只有 50 50 50分,可能是我实现常数太大了。

T 3 T_3 T3需要你进行若干次操作,要么将 s i s_i si拼接到当前字符串,要么删除结尾的 k k k个字符,不足 k k k个时则全部删完。输出最少的操作次数,如果不行则输出 − 1 -1 1

赛时不会打暴力,就去看 T 4 T_4 T4

T 4 T_4 T4给出一颗树,每个节点都可以给他的祖先节点投票,问对于每个点 i i i,他的票数是否可以严格大于其他人的票数。

1 ≤ n ≤ 1 0 6 1 \leq n \leq 10^6 1n106

赛时直接打了个贪心跑路。

总结:这次考试没有看出 T 1 T_1 T1的二分很吃亏,平时还是要多注意对题目的总结和归纳。

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