首页 > 其他分享 >2023NOIP A层联测32

2023NOIP A层联测32

时间:2023-11-15 22:34:44浏览次数:35  
标签:10 le 32 sum times 联测 2023NOIP mod

2023NOIP A层联测32

目录

A flandre

有 \(n\) 种烟花,每种烟花有两个参数 \(a , b\),你要构造一种燃放顺序,使得 \(b\) 的和最大, \(b\) 会改变,具体来说:设 \(i\) 在 \(j\) 前燃放,那么。

  • \(a_i < a_j\) ,则 \(b_j +k \to b_j\)
  • \(a_i = a_j\) 则 \(b_j\) 不变
  • \(a_i >a_j\) 则 \(b_j - k \to b_j\)

\(1\le n \le 10^6\)

这个题考场就想到了正解。思考一下,最优方案满足一个性质,将 \(a\) 从小到大排序,依次燃放。暴力求答案,然后选出最优的方案就好了,可惜有一个变量没有给初始值挂了 \(70\) 分,关键是大样例还过了。

B.meirin

给定两个序列 \(a , b\)

\(q\) 次操作,每次把 \(b\) 的 \([l , r]\) 的每个值加上 \(k\) ,每次操作后查询:

\[\sum _{l = 1} ^n \sum_{r = l}^n(\sum_{i= l}^r a_i) \times (\sum_{i= l}^r b_i) \mod (10^9 + 7) \]

\(n , q \le 5 \times 10^5\)

因为修改的是 \(b\) 的值,我们就可以考虑把 \([l , r]\) 里面的值对答案的影响算出来。

设 \(sum1_i\) 是 \(i \times a_i\) 的前缀和, \(sum2_i\) 就是 \((n - i + 1) \times a_i\) 的前缀和。

每个 \(b_i\) 的贡献就是 \(sum1_{i - 1}\times (n - i + 1) +sum2_{i + 1} \times i +a_i \times i \times(n - i + 1)\)

用一个前缀和维护一下这个值就可以做到 \(O(1)\) 修改。

考场最后 \(30 min\) 才想到正解,但是码了 \(15min\) 发现只能过小样例过不了大样例,考后才发现是快写打错了。

C.sakuya

有 \(n\) 个房间构成了一棵树,边有边权。树上有 \(m\) 个特殊的房间,求走完这些房间的期望。

每次修改会使得连接 \(x\) 的所有边加上 \(k\)

\(n , m , q \le 5 \times 10^5\)

考虑修改一条边的影响,就是这条边两端的特殊房间的数量的乘积。

先把答案求出来,每次修改的时候就是把答案加上这个影响乘上 \(k\) 就好了。

D. 红楼 ~ Eastern Dream

给出一个长度为 \(n\) 的序列 \(a\) ,有 \(m\) 次操作,格式如下:

  • \(1, x , y , k\) 对于所有满足 \((i - 1) \mod x \le y\) 的 \(i\) ,将 \(a_i\) 加上 \(k\)
  • \(2, l , r\) 求 \(\sum_{i= 1}^r a_i\)

\(n , m \le 2 \le 10^5\)

根号分治。维护两个数组 \(v_{i , j} , vs_i\) ,表示对于所有 \((x - 1) \mod i = j\) 的 \(x\) ,\(a_x\) 要加上的值, $vs_{i , j} $ 是 \(v _{i , j}\) 的前缀和,即对于所有 \((x - 1) \mod i \le j\) 的\(x\) ,\(a_x\) 要加上的值。

\(x\le \sqrt n\) 可以直接修改。

\(x\ge \sqrt n\) 需要用分块维护差分

总结

期望得分:\(100 +100 + 0 +25 = 225\)

实际得分:\(70 + 30 + 0 + 25 = 115\)

这次本来是一个信心场,但还是失误了。两个题想到正解都挂了,一个是忘记设初值,一个是快写打错,就是自己的代码实现能力不足了。而且码完一个题可以考虑先检查一小会。\(T3\) 还没有拿到暴力分,遇到这种自己不熟练的题目,可以打打暴力,而不是直接就跳了。

标签:10,le,32,sum,times,联测,2023NOIP,mod
From: https://www.cnblogs.com/2020fengziyang/p/17834994.html

相关文章

  • 2023-2024-1 20231329《计算机基础与程序设计》第8周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业的目标计算机科学概论第9章并完成云班课测试《C语言程序设计》第7章并完成云班课测试作......
  • 2023NOIP停课集训总结
    2023NOIP停课集训总结​ 距离十八次的NOIP模拟赛结束只剩下三四天了,NOIP也将在11.18周六如期举行。​ 在这次从2023.10.1至2023.11.18的集训中,我确实有了许多收获,感到自己的知识经验积累更加丰富。​ 下面我将从几个方面对此次集训进行总结。1.知识点的收获分块分块是一种......
  • luoguP3287 [SCOI2014] 方伯伯的玉米田
    题目描述方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美。这排玉米一共有NN株,它们的高度参差不齐。方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感的玉米拔除掉,使得剩下的玉米的高度构成一个单调不下降序列。方伯伯可以选择一个区间,把这......
  • 2023NOIP A层联测31 T4 民主投票
    2023NOIPA层联测31T4民主投票思维好题。思路首先可以设\(s\)每个人最多获得的票数,一开始所有点都把自己的票投给自己父亲。如果一个点的票数超过\(s\)了,那么这个点肯定要把票分给他的父亲。设\(f_{u,s}\)为\(u\)点在最多获得\(s\)票的情况下要向父亲分的票数(不......
  • RK3328-dmesg
    [0.000000]BootingLinuxonphysicalCPU0x0[0.000000]Initializingcgroupsubsyscpuset[0.000000]Initializingcgroupsubsyscpu[0.000000]Initializingcgroupsubsyscpuacct[0.000000]Linuxversion4.4.194(jenkins@jenkins-seafile......
  • AtCoder Beginner Contest(abc) 328
    B-11/11难度:⭐题目大意在某个世界一年有n个月,每个月有di天,问有多少个日期,该日期和月份组成的数字都是一样的;eg:11月的1日,22月的22日;解题思路暴力就行;神秘代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;typedefpair<int......
  • 2023NOIP A层联测30 总结
    2023NOIPA层联测30总结题目T1草莓列车\(n\leq10^5,m\leq10^7\)赛时思路一开始看错\(m\)数据范围,以为\(O(m\logm)\)可以过,后来发现问题以后,集中在考虑线段树之类的\(\log\)级别的算法维护序列,或者线段区间,一直没有想过ST表相关数据结构,于是最后只有60。赛后......
  • AtCoder Beginner Contest 325
    A-Takahashisan#include<bits/stdc++.h>usingnamespacestd;#definelllonglongusingvi=vector<int>;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);strings,t;cin>>s>>t;cout<......
  • 2023NOIP A层联测31总结
    2023NOIPA层联测31总结\(T1\)暴力操作:给你一个长度为\(n\)的序列\(a\),你可以花费\(c_x\)使得\(a_i\)变为\([a_i/x]\),你总共有\(k\)元。为最终序列的中位数最小是多少。保证\(n\)为奇数。\(n,m\le5*10^5\)首先想到了二分一个答案,因为只要使得前\((n+1......
  • 嵌入式Linux adbd实现概要梳理(基于STM32MP157D+Buildroot)
    关键词:USBGadget、dwc2、configfs、functionfs、adbd等等。基于STM32MP157D简单记录ADB实现的过程,涉及到USB、Gadget、configfs、functionfs、adbd、ADB协议等等。基于Buildroot2020.02.6编译adbd运行于设备,和PCWindows交互的简要框图:1Linux下USBGadget1.1Linux内核Gad......