首页 > 其他分享 >CF1774 题解

CF1774 题解

时间:2023-08-29 16:02:10浏览次数:42  
标签:左子 子树 CF1774 题解 复杂度 每次 那么 考虑

A

考虑在所有 \(0\) 前添加正号,在 \(1\) 前轮流添加正负号即可。

B

首先根据抽屉原理,我们可以取出最多的颜色,个数记为 \(mx\),然后其余颜色可以填在 \(mx\) 的两两中间,最少要有 \((mx-1)(k-1)\) 个空位。
但是只是必要的,而不是充分的。考虑有多个最大值的情况,发现这些不是作为分界点的最大值没法全都用,要少用一次。所以对于每种这样的总数要减去 \(1\)。

C

我们对于每种序列,倒序考虑。考虑最后一次战斗,如果是 \(1\),那么一定有一个比他小的数存在,\(1\) 就不合法。否则如果是 \(0\),那么要有一个比他大的存在,\(n\) 就不合法。
扩展这个思路,考虑当前最后一个 \(01\) 连续段,如果有 \(x\) 个,相当于前/后 \(x\) 个数是不能选的。当出现 \(0\) 与 \(1\) 时,就没有关系了。

D

无解当且仅当 \(1\) 的个数不被 \(n\) 整除。
考虑用 set 维护每一行,每次选出最多的和最少的两行,交换位置使得每次较多的那个减少,较少的那个增多。直到有一行达到最终状态,即不能再增多减少。这样每次至少使一行合法,保证了复杂度。

E

定义 \(f_{u,0/1/2}\) 表示以 \(u\) 为根的子树,只考虑第一个棋子/第二个棋子/第一个与第二个棋子遍历完子树中的所有点回到 \(u\) 的最小步数。
转移的话,\(f_{u,0/1}\) 直接从子树中累加,然后加上进子树和出子树的 \(2\)。\(f_{u,2}\) 则要考虑两种关键点的深度,来决定是否要两个点都要进入子树中。如果只有一种点且最大深度满足条件,那就可以只动一个点。

F

直接考虑 F2。
考虑将每次的操作形式化,注意到 \(3\) 把操作序列分成的若干段,那么有一棵满二叉树,深度越深操作顺序越前面。然后对二叉树做后续遍历。
考虑每一次 \(1\) 操作对答案的贡献。合法的贡献范围一定是该层从右到左一段连续的区间,考虑暴力怎么做,从根出发,如果右子树的 \(2\) 操作和可以让当前的操作保持大于 \(0\),那么往左子树走,否则往右子树走。贡献就是最终走到的点。但是这样每次复杂度 \(O(n)\) 考虑优化。
注意到一开始是一段连续的 \(\infty\),即肯定往右子树走,那么可以二分第一次往左子树走是什么时候。然后开始走,一直走到第一个子树和为 \(0\) 的位置,那么后面肯定只会往左子树走,这样每次至少答案减半(子树和指数级递增)。单次复杂度是 \(O(\log V)\) 的。

G

观察的个差式,考虑一种方案选择了 \([L,R]\),存在 \([l,r]\) 被 \([L,R]\) 包含,那么所有选择了 \([L,R]\) 的方案数可以选择 \([l,r]\) 使得方案被抵消,所以舍去所有包含别人的区间。
这样剩下若干个左右端点单调递增的区间。考虑现在的 \(\mathrm{dp}\) 过程,记 \(f_{i}\) 表示覆盖到 \(y_i\)。那么转移的时候,如果当前的区间可以和倒二区间接上,那么选不选倒一区间都可以,方案抵消。所以此时就可以直接跳到第一个倒二区间接不上的位置。维护二元组 \((u,v)\),每次 \(u,v\) 都跳到第一个不接壤的位置。最后判断是否有一个位置的 \(y\) 为 \(r\),那么答案为 \(1\) 或 \(-1\)。否则为 \(0\)。若 \(u=v\) 的时候也是 \(0\)。有一些特殊情况特判一下就好。

标签:左子,子树,CF1774,题解,复杂度,每次,那么,考虑
From: https://www.cnblogs.com/Matutino-Lux/p/17664918.html

相关文章

  • RTSP/Onvif视频服务器EasyNVR视频平台设备在线但通道无法播放的问题解决方案
    EasyNVR是基于RTSP/Onvif协议的视频平台,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求,我们也提供了丰富的API接口供用户调用。有需要的用户可参照官方接口文档进行操作。......
  • P3888 题解
    problem&blog。这怎么评到紫上去的啊?差不多就个上位绿吧/qd。首先出题人非常low。为什么这样说呢?因为\(nm\le50,m\len\)就是在说\(m\le7\),出题人为了不让你一眼秒掉这一题,就用这种猥琐的方法写数据范围,是不是很傻逼呢。然后就是状压DP板板题了,判断合法状态只需要......
  • 安防视频监控平台EasyCVR视频集中存储平台接入RTSP设备出现离线情况的问题解决方案
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的......
  • [HAOI2012] 高速公路 题解
    [HAOI2012]高速公路题解题目链接题目要求我们求期望,先考虑一下求期望的公式。根据期望的定义得:期望费用\(E_v=\dfrac{所有可能路线的总费用}{所有可能路线的数量}\).其中,所有可能路线的数量\(=C_{R-L+1}^2=(R-L+1)(R-L)\),可以在常数时间内计算。(这里用大写的\(L\),\(......
  • P2238 题解
    problem&blog。kkk的题解有一些地方是错的/cf,所以写篇题解造福后人。一眼DP,如果你平凡地设\(dp_{i,j}\),会发现买过的是不能再买的,然后就转移不动了。所以要记录每个点附近的点是否被吃过。于是状压,每个二进制位表示\((i,j)\)周围的一些点是否被吃过。不妨钦定\(X\)......
  • VSCode下载慢问题解决
    1.打开vscode官网浏览器搜索:vscodedownload或打开该网站https://code.visualstudio.com/Download/2.选中系统对应的版本 3.复制下载链接地址 4.修改链接地址将复制后的链接地址的域名(上图https后面框起来的那块)修改为 vscode.cdn.azure.cn最后变成类似:https......
  • 【题解 P4180】严格次小生成树
    [BJWC2010]严格次小生成树题目描述小C最近学了很多最小生成树的算法,Prim算法、Kruskal算法、消圈算法等等。正当小C洋洋得意之时,小P又来泼小C冷水了。小P说,让小C求出一个无向图的次小生成树,而且这个次小生成树还得是严格次小的,也就是说:如果最小生成树选择的边集......
  • [struts2]配置dispatcher INCLUDE和Forward可能问题解决
    Struts2.1.6GA不支持<dispatcher>FORWARD</dispatcher>和<dispatcher>INCLUDE</dispatcher>你要是和URLRewrite过滤器一起工作会报错。目前最新版本GeneralAvailability(GA)Releases-ReadyforPrimeTime!Struts2.1.8("bestavailable")Struts2.0.14(&qu......
  • JDK1.5在WIN7中显示时间不正确的问题解决
    最近发现一些新的windows操作系统中,JDK显示的时区不是正确的GMT+08的,而是默认的格林威治时间原以为是系统时区设置不对,但发现系统时间正确,时区也正确,就是JDK的不正确网上很多方法都是手动改tomcat设置,或者在代码中写死时区,这种做法都是治标不治本的于是继续查找根本所在后来几经比......
  • 关于win7图片查看很慢的问题解决
     找了很久都没找到解决方案,奇怪为什么网上没有人跟我遇到同样的问题?我对win7自带的图片和传真查看器一直是相当的不满意了,原来xp自带的版本,什么图片格式都能看可是win7里面,gif看不了(静态的),emf和wmf这种矢量图文件更是干脆都不支持最郁闷的是查看普通的jpg都很慢很慢。。。已经到......