首页 > 其他分享 >CF1818 & 1817 题解

CF1818 & 1817 题解

时间:2023-08-22 21:12:42浏览次数:52  
标签:CF1818 1817 题解 over 挪到 sum 考虑 Div2 Div1

Div2 A

容易发现最后要存活下来一定要每次和 \(1\) 号做出相同的选择,直接数就好了.

Div2 B

容易发现当 \(n\) 为奇数的时候无解。
考虑 \(n\) 为偶数的情况怎么构造,有一种方案是在 \(a_i=i\) 的基础上调整,交换一下 \(a_{2i-1}\) 和 \(a_{2i}\),证明考虑左右端点的奇偶性。

Div2 C & Div1 A

考虑一段连续的不升子序列,那么这里必须最少删到只剩下两个数,考虑贪心删除,删前面的,这样就转化成数 \([l+2,r]\) 有多少的 \(i\) 使得 \(a_{i-2} \ge a_{i-1}\) 且 \(a_{i-1} \ge a_i\)。
特判一下区间长度小于等于 \(2\)。

Div2 D & Div1 B

考虑从"四度点"作为突破口解题。
对于每个四度点,只要找到一个只经过他两个儿子的环即可。一种方法是把所有的儿子染色然后 bfs,然后只要找到一条连接不同颜色的边即可。

Div2 E & Div1 C

考虑 \(A(x)\) 与 \(B(x)\) 之间的关系。

\[B(x)=\sum_{i=0}^d a_i(x+s)^i \]

考虑这么两项:\([x^d]B(x)\) 与 \([x^{d-1}]B(x)\)。

\[[x^d]B(x)=a_i,[x^{d-1}]B(x)=a_d {d \choose 1} s+a_{d-1} \]

那么现在直接把两个多项式的最后一项插出来就好了。

\[[x^d]F(x)=\sum_{i=0}^d {y_i \over \prod_{j \ne i} (x_i-x_j)} \]

\[[x^{d-1}]F(x)=\sum_{i=0}^d {y_i \over \prod_{j \ne i} (x_i-x_j)} \times \sum_{j \ne i} (-x_j) \]

预处理一下阶乘逆元

Div2 F & Div1 D

对于 \(k \le {n+1\over 2}\) 的情况,发现每一次做 LDRU 可以把第二个挪到第一个。
剩余情况考虑把 \(k\) 挪到 \(n+1\over 2\) 的位置,先把他挪到最后:RDLU 再进行一次 LU 即可。

Div1 E

首先将所有数从大到小进行排序,发现每次把一段前缀变成最小值,剩余的变成最大值。
考虑移动边界 \(i \to i+1\),那么贡献的变化为:

\[D={{a_{i+2}-a_{i+1}} \over 2^{n-(i+1)}} - {{a_{i+1}-a_{i}} \over 2^{i}} \]

记 \(b_i=a_{i+1}-a_i\) 扩展一下,分解从 \(i \to j\) 的代价为

\[D= -{b_i \over 2^i} + \sum_{k=i+1}^{j-1} ({{1\over 2^{n-k}} - {1\over 2^k} })b_k + {b_j \over 2^{n-j}} \]

考虑中间那个和式的贡献,\(i,j \le {n \over 2}\) 时贡献为负,此时若 \(j\) 过于靠近 \(n \over 2\) 那么一定比 \(1\) 更劣,具体来说就是取前 \(\log\) 个 \(b_i\) 不为 \(0\) 的位置。\(j\) 更大情况也是如此,检查最后 \(\log\) 个。

Div1 F

原本 SAM 直接做还有些困难,但是用基本子串结构就很容易了!
建出来,然后考虑一个等价类怎么统计答案,发现枚举 \(b\) 的左端点位置,那么 \(a\) 的 endpos 一定在其左边,可以直接前缀和查,再考虑 \(b\) 的右端点方案数,这个由基本子串结构的形态决定。

标签:CF1818,1817,题解,over,挪到,sum,考虑,Div2,Div1
From: https://www.cnblogs.com/Matutino-Lux/p/17649630.html

相关文章

  • P9236 [蓝桥杯 2023 省 A] 异或和之和题解
    思路题目给我们一个数组\(a\),那么我们可以算出其异或前缀和\(sum\)。我们知道,算出\([l,r]\)的异或和可以这样计算:\(sum_r\oplussum_{l-1}\)。那么问题就转换为了\(sum_{0\simn}\)这\(n+1\)个数字两两异或之和(当然\(sum_i\oplussum_j\)和\(sum_j\oplussum......
  • 8.22 [CSP-S 2021] 交通规划 题解
    #include<bits/stdc++.h>usingnamespacestd;usingpii=pair<int,int>;constexprintN=3e5+5,S=2e3+5,K=1e2+5,INF=0x3f3f3f3f;intn,m,T,poi[N];inthed[N],nxt[N<<2],rch[N<<2],val[N<<2],idx;vo......
  • P3089 题解
    P3089令\(f_1[i][j]\)表示向右跳,从\(j\)跳到\(i\)的最大总得分,有状态转移方程:\[f_1[i][j]=\displaystyle\max_{k<j<i,x_j-x_k\lex_i-x_j}\{f_1[j][k]+s_i\}\]将\(s_i\)看作定值,整理得\(f_1[i][j]=\displaystyle\max_{k<j<i,x_j-x_k\lex_i-x_j}\{f_1[j][......
  • P2572 序列操作 题解
    link。对平衡树的懒标记的应用题,其实和线段树也差不多。如果不考虑取反操作,那维护操作\(5\)就需要知道当前区间答案,当前区间前缀和后缀,因为在push_up时我们当前区间的答案肯定等于左区间的答案,右区间的答案以及左区间的后缀加上右区间的前缀这三者间的最大值。但与线段树不......
  • AGC032 A-D题解
    A最后一次插入的数的值与位置一定相同考虑倒着做每次从左往右扫一遍当遇到a[i]==i时将此数删除并跳出B当n为5时构造出的图如下(图形编辑器(csacademy.com))那么我们猜想当n为奇数时将n与其他点连边i与除了n-i的其他点连边证明:n的邻接点的编号之和为(n......
  • iOS开发之--获取验证码倒计时及闪烁问题解决方案
    大家在做验证码的时候一般都会用到倒计时,基本上大家实现的方式都差不多,先贴出一些代码来..-(void)startTime{__blockinttimeout=59;//倒计时时间dispatch_queue_tqueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);dispatch_source......
  • 国标GB28181视频平台EasyGBS国标平台激活码授权提示“授权失败”的问题解决方案
    EasyGBS平台是基于国标GB28181协议的视频云服务平台,支持多路设备接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等多种格式的视频流。平台可为大数据等综合性监管平台提供极强的视频能力,既能作为能力平台为业务层提供接口调用,也可作为业务平台使用。有用户反馈,现场Easy......
  • [CSP-J 2021] 网络连接 题解
    传送门早期题解,转自博客QwQ本蒟蒻为数不多过了的黄题,祝贺!!!题面[CSP-J2021]网络连接题目描述TCP/IP协议是网络通信领域的一项重要协议。今天你的任务,就是尝试利用这个协议,还原一个简化后的网络连接场景。在本问题中,计算机分为两大类:服务机(Server)和客户机(Client)。服务机......
  • 「JLOI2014」松鼠的新家 题解
    「JLOI2014」松鼠的新家前言这道题倒也不是很难,只是有一些小坑需要避一下,可以看作半个LCA树上差分裸题。解析考虑维护一个树,点\(u\)表示每个房间需要的糖果数\(s_u\),而维尼在参观房间时从\(a\)到\(b\)就需要在\((a,\tob)\)的路径上的每个房间都摆上一个糖果,这时直......
  • [ABC098D] Xor Sum 2 题解
    题解传送门题目大意给出一个序列\(A\),求\(A_l\oplusA_{l+1}\oplus\dots\oplusA_r=A_l+A_{l+1}+\dots+A_r\)(\(\oplus\)即为\(xor\)异或)解析众所周知,异或是位运算中的一种不进位加法,即为如果两个\(bit\)相等返回\(0\),反之返回\(1\)。为什么说是不......