NOIP 模拟 四十
送花
固定住右端点,然后合法区间的修改就成了区间加减的操作,然后每次取最大值即可。
星空
首先转化坐标为x+y,x-y。
原始距离就是新坐标横纵之差取min。
显然可以排序求得最小值,然后将0压进一个并查集,对数就是两端集合大小的乘积。
注意map判重。
零一串
首先每一位1每一时刻动不动可以用01来表示,这样构成一个矩阵。
考虑矩阵如何转移,i到i+1,i在t可以i+1在t+1一定可以,于是整体右移。然后中间有多少0就是可以多动几步,将前k个0赋值成1。
只能维护0的相对位置,记录每个一移动了多少位。贡献可以用树状数组,0右移我也用了树状数组,O(n)我还不会。。。。