1019
打了重庆中学友谊赛 Round2,最后T4暴力有30分没调出来(sort的cmp大于写成小于了),然后遗憾获得260pts,rk4,距rk1 25分……
过程
开场遍历 A,B,C,D 四道题,感觉 A 很可做,其他三个很不可做!
然后把A写了,有个SB错误调了20分钟,9:07交了代码。
B题感觉是个结论题,没啥想法,就去看C,很明显地想到了原根将乘法转加法,然后就没想法了。
于是还是回去开B,这种题一般都需要一个变化很小的“调整”操作,然后发现就是连续操作i和i+1。在此基础上,发现每次是将三个数轮换,然后写了个爆搜,发现刚好能变化成一半数量的排列。然后什么东西会将排列分为两类?就想到了逆序对的奇偶性,然后发现每一次变换逆序对的奇偶性不变。再发现如果有相同就一定行。
经过长时间的头脑风暴和讨论以后,终于做出来了。然后10:30左右交了代码。
然后就开始打C、D的暴力,感觉很难造强力的数据,所以一直在想剪枝冲过更多的点,结果巴蜀数据造得都很强,寄了。
最后40分钟开始打D题30分的凸包的暴力,结果一直没调出来,赛后发现是sort挂了……
最终得分:100+100+30+30=260 打了的分都没挂。
A
简单计数,统计形如 "121234" 的子序列个数,枚举 1 和 2 分别是哪个字符,然后将这些字符拿出来统计。每个字符之后被拿两倍字符集大小次,所以复杂度正确。
B
很烧脑的结论题。感觉这种涉及构造策略的题都十分的困难。可能是因为昨天做了 ARC151F,讨论能力得到了提升,艰难地做出了这道题。
首先每一次操作只能将一些位置向前或向后移动 k 步,所以可以将序列按位置模 k 分类,分成 k 个子序列,每个子序列的元素集合必须和目标的集合相同。
然后一般这种操作比较复杂的问题,都可以通过一系列操作,实现很小的变化,称作一次“单位调整”。通过观察样例可以发现,连续操作 i 和 i+1(或 i-1) 可以使得与 i 不同类的都不变,i 这一类的会由 "ABC"->"CBA"。发现若有解,则一定可以通过若干次“单位调整”和至多一次单独操作得到。证明:考虑如果存在一个成功操作序列 $ p_1,p_2,\cdots,p_c $,如果 c 是偶数,那么每对于操作 \(p_{2i-1},p_{2i}\),令其为 \(x,y\),假设 \(x<y\),可以通过单位调整 \((x,x+1),(x+1,x+2),\cdots,(y-1,y-2)\) 实现(因为相邻相同的操作可以抵消),\(x>y\) 亦然。如果 \(c\) 是奇数,那么就还需要进行一次单独的操作。得证。
然后我们就只需要考虑使用单位调整和至多一次单独操作能否成功,先考虑没有重复元素。
先不考虑那一次单独操作。对于每一类的子序列,一次调整只会改变这一个子序列,是在其中选相邻的3个位置进行轮换。
考虑对这个子序列贪心地进行操作,假如当前位置要填x,如果x离当前位置距离大于等于2,则直接将它向前移两步,当它距离当前位置距离为1,则向后一步再向前两步。发现这样只有最后两个位置的顺序无法修改。考虑到有一半的排列最后两个位置是正序,即有一半的排列可以得到。考虑这些排列的特征:如果交换最后的两个位置就会改变状态,即逆序对个数改变1就会改变状态。从这个方向思考,发现每一次轮换3个位置,逆序对个数只会不变,+2或-2,其奇偶性不变,所以要其逆序对个数是偶数才YES。
再考虑那一次单独操作,它对每一个子序列都有效,进行了这一次操作以后,所有子序列逆序对的奇偶性就改变,即如果所有都是奇数,可以通过这个单独操作变成YES。
在有重复元素的情况下,无论逆序对个数是奇数还是偶数,都可以通过交换相同元素改变奇偶性。
综上,如果那些没有重复元素的子序列逆序对奇偶性相同,则YES,否则NO。
C
p是奇数,自然想到用原根将乘法变成加法。然后可以直接背包,使用bitset优化有50分!
bitset 可以冲1e5! 我为什么不去打!!!!!!
这个题也很米奇妙妙,每一个位置只会由0变1一次。考虑每次一操作,是将f|=f<<x,找到f和f<<x不同的位置,其中一半的位置会是0-1,然后将这些位置改为1。于是可以分治找出不同的位置,用哈希判断。复杂度两个log,但是根本卡不满。其实更直观的是每次二分哈希找出不同的位置,但是这样复杂度会被卡满。
D
比较套路的数据结构题,看到区间内选一个区间的最小值,想到类似 【HNOI2016】序列 的做法:找到每个点最为最小值可以覆盖到的区间 \([l_i,r_i]\),然后对于查询的区间 \([L,R]\) 根据 \(l_i,L,r_i,R\) 的大小关系分为四类。
- \(l_i>=L \&\& r_i<=R\) 这种点的贡献一定,直接二维偏序BIT就行了。
- \(l_i<L\&\& r_i>R\) 这种点只有一个,且是区间内的最小值,用ST表查出来计算。
- \(l_i>=l\&\&i<=R\&\&r_i>R\) 这种点的贡献和当前右端点位置有关,离线李超树
- 和3同理

浙公网安备 33010602011771号