NOIp 膜你赛 第二场
钟神的题目不讲武德。题目按主观难度排序
T3
区间加法、乘法、覆盖和询问全局每个区间的平均数之和,分数使用逆元。
我们发现暴力的两层循环去不掉,所以只能拆贡献,求一下每个数出现了多少次,这个东西预处理一下就有六十分的好成绩。
那怎么 O ( n ) O(n) O(n) 求每个数出现了多少次呢?如果求每个数包含在多少个区间内,这个好算就是左边的长度和右边的长度乘起来,不过现在要求的还有区间长度,找一下规律(用纸画)
假设 n = 7 n = 7 n=7 显然它左右是对称的,贡献是一样的,那么我们看看前半部分
n = 1 { 1 , 2 , 3 , 4 , 5 , 6 , 7 } n = 2 { 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 6 , 6 , 7 } n = 3 { 1 , 2 , 2 , 3 , 3 , 3 , 4 , 4 , 4 , 5 , 5 , 5 , 6 , 6 , 7 } n = 4 { 1 , 2 , 2 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 6 , 6 , 7 } n = 1 \quad\{1,2,3,4,5,6,7 \} \\ n=2 \quad \{1,2,2,3,3,4,4,5,5,6,6,7\}\\ n=3 \quad \{1,2,2,3,3,3,4,4,4,5,5,5,6,6,7\} \\ n = 4 \quad \{1,2,2,3,3,3,4,4,4,4,5,5,5,6,6,7\} n=1{1,2,3,4,5,6,7}n=2{1,2,2,3,3,4,4,5,5,6,6,7}n=3{1,2,2,3,3,3,4,4,4,5,5,5,6,6,7}n=4{1,2,2,3,3,3,4,4,4,4,5,5,5,6,6,7}
可以发现这个就是从两边向中间复制,我们对于每个区间长度,就给对应的 n n n 加上一个等差序列。但我们加的数是分数呀,所以我们先求一下 1 ∼ n 1 \sim n 1∼n 的 lcm,这个是要用逆元的,这样我们求出分母通分一下就做完了。
然后是一个带系数的线段树,我们简单回顾一下如何同时维护乘法、加法、区间覆盖三个标记。
当然区间覆盖标记优先级是最高的,如果标记还没下传直接覆盖掉就行。再考虑乘法和加法,这在洛谷上是个模板。我们为了保证精度规定乘法优先,这样区间加直接改一下 add,区间乘直接改一下 mul。最后带系数的线段树直接记录一下它的系数冲就行了。
好像是码农题了,不想写大哭。
T1
将四个颜色放在一排中,求方案数。
0 ≤ n 1 , n 2 ≤ 200 , 0 ≤ n 3 , n 4 ≤ 50000 0 \leq n_{1}, n_{2} \leq 200,0 \leq n_{3}, n_{4} \leq 50000 0≤n1,n2≤200,0≤n3,n4≤50000
这个题看在是签到题的面子上,送了 90 90 90 分的暴力。
T2
c i = { a 1 + b 1 , i = 1 max { c i − 1 , ∑ j = 1 i a j } + b i , 2 ≤ i ≤ n c_{i}=\left\{\begin{array}{ll} a_{1}+b_{1} & , i=1 \\ \max \left\{c_{i-1}, \sum_{j=1}^{i} a_{j}\right\}+b_{i} & , 2 \leq i \leq n \end{array}\right. ci={a1+b1max{ci−1,∑j=1iaj}+bi,i=1,2≤i≤n
有原题 皇后游戏
不过这个题是要求 c n c_n cn 最小。

浙公网安备 33010602011771号