ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

6.9赛后总结

2021-06-09 22:36:11  阅读:187  来源: 互联网

标签:总结 偏序 T3 T1 二维 CDQ 考虑 赛后 6.9


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优化的高级题目,超纲了超纲了 暂且做不来。

标签:总结,偏序,T3,T1,二维,CDQ,考虑,赛后,6.9
来源: https://www.cnblogs.com/mikuo/p/14869077.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有