2019暑假正睿集训8.6day3题解及总结

T1 小K与赞助

20pts

直接模拟题意,让球往下掉

100pts

本质:序列的切割和合并操作

每个小短棍的作用,交换两个数

情况一:奇数位置的数和偶数位置的数分别维护一个序列,直接交换两个序列

例如:1 2 3 4 5 6 变为

情况二:除了开头和结尾中间的偶数位置的数和奇数位置的数分别维护一个序列

例如 1 2 3 4 5 6 变为 1 3 2 5 4 6

有删除,在以上基础上删除(对于每个撤掉木棍的情况,交换两边的位置)

法1:用平衡树维护treap维护区间,复杂度 O ( n l o g n ) O(nlogn) O(nlogn)

法2:两个数组维护

法3: 找到第一个边界位置,复杂度 O ( l o g n ) O(logn) O(logn)

来自大佬的考场策略 (虽然难以实践qwq):

1.看题,思考 15min;
2. 写treap 15分钟写完 ;
3.调试 共用45分钟

T2 画画

30pts

变成两个人从左上向右下走路,暴搜。

100pts

贪心

考虑两个人从左上往右下移动

一个人能往下走就往下走,另一个人能往右走就往右走,直到当前列/行的数选完。

因为不能往左或往上走,如果这一列没有选完,到了下一列,永远也选不完这一列的位置了。

T3 交易

暴力

枚举每一个点,dfs一遍吧它的信息推到所有点上

100pts

注意到一条边断开之前,整个连通块内信息都是完全相同

的。 而由于是一棵树,这条边重新连上之前,两边的信息都得不

到沟通。

设一个点某时刻信息数是 valx,在一条边断开时记录一下此

时连通块内信息种数 tmp = valx,重新连上时,把整个连通块都

赋成 valx + valy tmp 就行了。

用 LCT 维护,连通块的信息维护在根节点处即可。

今日总结

来自R爷考试经验:

1.认真读题,每个题多读几遍,确保题意理解对了

2.每个题都要看一遍,不要在一道题上浪费太多时间,有些题目不一定是难度排序,而是你擅长什么。

3.不一定要死磕正解,有时候暴力打好了出奇迹

感受

今天拿了50分暴力分真是感动,rating值一直掉得惨不忍睹后,终于涨了那么一点点 开森(/≧▽≦)/

然后今天的题感觉还是蛮有思维程度上的收获(因为一二题都是智力题orz),然后列了一个清单:

待深入学习的知识

1.bitset

2.点分治(复习)

3.splay

4.LCT动态树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值