码迷,mamicode.com
首页 > 其他好文 > 详细

6.9赛后总结

时间:2021-06-10 18:02:28      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:str   处理   需要   城市   统计   有一个   最小花费   查找   没有   

6.9模拟赛赛后总结

赛时历程

大约八点看完题目感到,啥也不会,好像T3的暴力最可做。

打着打着发现第一个性质分也好做,记录个las然后小小讨论一下就好。

对拍很成功,已经九点多。

其它啥也不会怎么搞,T1想到了一个\(O(y-x)\)(y-x<=1e9)的伞兵DP,估计也骗不了分。

慢慢的,到点了。

赛后发现

我发现以前的三段结构很合理,所以现在换回来。

1 T1果然没分。 T3竟然不知道怎么的吧freopen给注释了,光荣抱玲

2 T3正解可以用CDQ,都写了这么多CDQ了,还是没感觉,发现不了这是CDQ可做的,不够敏感,主要是也不知道能转换成二维平面,就更不谈什么三维偏序了。

3 T1的DP其实并不难,但是基础的\(n^2\)都没有想到,着实有点菜,应该多思考思考的(猛然想起这句话不是第一次提到,确实需要多思考啊,不能光说)。

简单题解

好好总结。

T1 要考虑DP,首先要考虑特殊点,也就是喜爱的城市的状态,只有他们会影响到决策(不然肯定每次跳z个会最优),因此,考虑喜爱的城市到喜爱的城市的转移,为了直接考虑到起点和终点,把他们当成数值特殊点的喜爱的城市即可。然后考虑\(f[i]\) 作为到达城市\(i\)的最小花费,那么有一个转移\(f[i]=min\{f[j]+\frac{c[i]-c[j]}{z}*a\}-m[i]\) ,考虑快速的找到\(j\) 这个决策点,这里的思路感觉很难切入,可能只有见过了才能联想到,感觉像是某些数学题会用到的思路:把\(c[i]\) 拆成\(c[i]=k[i]*z + b[i]\) 那么,状态的转移变成了\(f[i]=min\{f[j]-k[j]*a+\lceil{\frac{b[i]-b[j]}{z}\rceil}*a\}+k[i]*a-m[i]\) ,这里由于\(b[i]\)\(c[i]\%z\)的余数,所以说只有\(b[i]>b[j]\)的时候,这一部分\(\lceil{\frac{b[i]-b[j]}{z}\rceil}*a\) 才会产生 a的贡献,由此,对于已经处理过的\(j\),可以考虑以\(b[j]\)做下标存储有关它的决策的值\(f[j]-a*k[j]\),放入到数据结构中,每次决策时针对\(0\)~\(b[i]-1\)的部分查找一次最小值,然后再加上贡献 \(a\) 来更新 \(f[i]\),针对\(b[i]\)~\(z-1\)的区间查找一次最小值,并只用这个值来更新\(f[i]\),这样就能够\(O(nlogn)\) 的解决问题。

T3 要想到偏序之类的思路,就要把每次要询问的区间\((l,r)\)当作一个点,每次更改一个点的时候,它会产生两种影响:1 这个点如果是状态是0而现在变成1,对于它能够到达的连续的左边的1,最左为L,以及右边的1,最右为R,(用set存0的位置然后二分查找确定边界即可找到这个L和R),跨过x的点对开始计时,对于跨过\(x\)的点对,他们满足这样的条件:\(l\le x\)\(x\le r\),把他们当作一个点\((l,r)\),那么根据这样的关系,可以认为这些点在左下角为\((l,x)\),右上角为\((x,r)\)的矩形中,所有的点都开始计时,也就是所有的点得到贡献\(-i\) (i为此时的时刻),对于这样的二维区间修改,单点查询问题,可以用标记永久化的二维线段树来解决,可是我不会 可是代码实现很难。考虑做一下差分的转化,一个左下角为\((a,b)\)右上角为\((c,d)\)的矩形集体\(+v\),相当于差分区间进行 \((a,d+1)-v\),\((c+1,b)-v\),\((a,b)+v\) \((c+1,d+1)+v\) , 这样,问题就转换为了单点修改,区间查询的问题,然后就是一个偏序的问题了,对于每个点统计它的二维前缀和就好。2 这个点是1而现在变成0,同样有上述的概念,不过所有点的贡献是\(+i\)。统计这样的二维前缀和,就是CDQ处理二维平面问题,就是一个板子了。

T2 是一道生成函数,二项式反演,NTT优化的高级题目,超纲了超纲了 暂且做不来。

6.9赛后总结

标签:str   处理   需要   城市   统计   有一个   最小花费   查找   没有   

原文地址:https://www.cnblogs.com/mikuo/p/14869077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!