2023NOIP A层联测32 总结

T1 n n n 个数,你要选若干数 b i b_i bi(可不选),要让 ∑ b i + k ∑ ∑ [ b i < b j ] \sum b_i+k\sum\sum [b_ibi+k∑∑[bi<bj] 最大, n , k , ∣ a i ∣ ≤ 1 0 6 n,k,|a_i|\le10^6 n,k,ai106。先排序,从小到大选完所有正数,然后我想负数应该怎么选,想了20min,没有思路,就猜了结论,选后缀,看最大是哪个。打完过了大样例,就不管了。结果到最后10min检查时,发现策略假了。赛后发现策略没假,但是 maxn 初值设成 0 了挂成70pts,真遗憾。

T2 有序列 a , b a,b a,b,每次修改 [ l , r ] [l,r] [l,r] 中的 b i b_i bi,求出 ∑ l = 1 n ∑ r = l n ( ∑ i = l r a i ) × ( ∑ i = l r b i )   m o d   1000000007 \sum\limits_{l=1}^n\sum\limits_{r=l}^n(\sum\limits_{i=l}^ra_i)\times(\sum\limits_{i=l}^rb_i) \bmod1000000007 l=1nr=ln(i=lrai)×(i=lrbi)mod1000000007, n ≤ 5 × 1 0 5 , q ≤ 1 0 6 n\le5\times10^5,q\le10^6 n5×105,q106。推了一手式子,发现最终难维护的是 ∑ S i i \sum S_ii Sii,想了一会就用st表维护。打完后大样例过了,虽然 n , q n,q n,q 有点大,但是我觉得能卡过。结果赛后发现 T2 有一个地方没模到,并且带 log ⁡ \log log 的做法被卡掉了,然后才发现 ∑ S i i \sum S_ii Sii 可以用前缀和,不用 st 表,真遗憾。

T3 树上有 m m m 个特殊点,有 q q q 次修改,给与点 u u u 相连的边权加 k k k,求出一个期望。当时做到这里准备打暴力,然后想到期望可以变成方案,推了一会就发现可以 m 2 m^2 m2 求,于是火速打完暴力,又想去骗部分分,又发现树型dp可以 O ( n ) O(n) O(n) 求期望,然后就打了 O ( q n ) O(qn) O(qn) 的做法走了。结果过了,可能数据没有菊花,赛后发现可以在这基础上直接预处理出一个东西就 O ( n + q ) O(n+q) O(n+q) 拿下了。

T4 有 m m m 次操作:对于所有满足 ( i − 1 )   m o d   x ≤ y (i-1) \bmod x \le y (i1)modxy i i i,将 a i a_i ai 的值加 k k k;求区间和, n , m ≤ 2 × 1 0 5 n,m\le2\times10^5 n,m2×105。想过根号分治,但是不知道分治什么,就只去打了20pts的暴力。正解就是根号分治,实现上也不复杂,就是很卡常。

期望得分:[0,100]+100+60+20=[180,280]

实际得分:70+15+100+20=205

总结:挂分了。检查时要细致,涉及取模要看清楚有没有全部模到。这场比赛感觉较简单(可能是NOIP信心赛)。T2T3都是差一点想到正解了,思维能力不足。通过部分分来寻找正解是很好的方式。

大后天就NOIP了,RP++

你可能感兴趣的:(学习方法)