- 博客(6)
- 收藏
- 关注
原创 F. Range Update Point Query
给一个n个数的数组,q次询问,如果是1,更新l~r的值,如果是二,输出a[x]的值。本来思路是暴力,对于每个a[i]调用一个sum函数更新,结果一直超时。题解思路是:对于一个很大的数,最多三次就会更新为一个10以内的数,比如999999999,一次更新为81,二次为9,之后不再更新,所以题解没有对a[i]<9的数进行更新操作了,并且用set容器记录了值大于9的数组的下标,对l~r的数组操作时,只操作数组值大于9的下标。
2023-04-09 22:58:47
236
原创 C. Sum on Subarrays
题解的思路是分两种情况:一种是k小于等于n,此时构造一个数组,这个数组的前k项和为正,可以前k-1项全是-1,第k项加上一个大数,这样就已经有k个正的子数组了,所以之后在第k+1项,设置一个更大的负数,可以保证正的数组数量不超,k+2~n随便设置负的数就行;当k大于n时,就用递归的思想,递归(n-1,k-n),因为在第一种情况下,后面加一个很大的正数,比如1000,正的子数组的数量就会加n个,所以可以用递归来写;
2023-04-08 17:27:04
474
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人