省选模拟70

A. 小 Y 增员操直播群

  如果我们将区间合并的过程看做一棵树,那么答案就是树的深度。

  考虑检验一个区间是否可能是树上的一个节点,那么只要判断这个区间能否分成两个区间即可。

  考虑找到较小的区间的长度。在区间的左端点处查询区间内的最靠右的两个配对的点,那么这两个点的差就是区间长度。

  特判一下两个区间长度一样即可。

B. 小 J 真爱粉交流群

  首先 可以发现,第二个人的作用是决定第一个人从哪一个位置下去,所以墙的位置必然是一段连续区间。

  考虑dp。令$f[i][l][r]$表示当前在$[l+1,r]$有墙,当前棋子在$l$的最优解。同理令$g[i][l][r]$表示当前$[l,r-1]$有墙,棋子在$r$的最优解。

  那么考虑转移,当前是第二个人做决定,所以他可以决定当前要不要在下面放墙。假如放,那么另外一个人会选择走到两边没有墙的位置。

  然后直接转移就行了。

C. 青青草原播种计划

  对于任意子集的mex,有一个结论是,假设mex为$x$,$x$为第一个满足所有小于等于$x$的数加和为$x-1$的数。

  有了这个结论就很好做了,前面几个操作可以用显然的可持久化线段树来维护,合并的操作只要线段树合并就行。

  然后对于查询,找到历史版本对应的线段树的根节点,然后暴力跳,显然跳的次数不会超过log次。

  复杂度$O(nlog^2n)$

原文地址:https://www.cnblogs.com/hzoi-cbx/p/12701424.html

时间: 2024-10-14 16:06:58

省选模拟70的相关文章

省选模拟70 题解

A. 小 Y 增员操直播群 考虑一个暴力做法,每次枚举较小的集合的大小,在判断合法之后可以直接将原问题划分为两个子问题. 两个子问题是互不干扰的,所以直接 dp 就好了. 然后可以发现枚举大小是没有必要的. 考虑与元素 $n-1$ 连边的最小的点 $x$. 如果两个集合大小相等,那么 $x=\frac{n-2}{2}$,可以直接将原问题划分. 否则将 $n$ 向左平移 $x+1$ 步,与 $n-x-1$ 连边的最小的点就是较小集合中最大的编号. 用 vector 维护一下每个点连出的边,即可做到

省选模拟(66~70)

省选模拟66 1.有限空间跳跃理论 \(FWT\) 给定一个无向图,要求给每条边定向后成为有向无环图,求方案 考虑那个\(dp\) \[dp[S]=\sum_{W\in S}(-1)^{|W|-1}dp[S-W] \] 发现就是一个子集卷积的形式,所以开第二维再卷积就好了 省选模拟67 1.链 模拟 发现如果度数都小于3就可以根据有无环出答案 否则假如第一个度数等于3的点为\(x\),那么为了使\(x\)最后度数小于3,最终消掉的点就只能是\(x\)或它相邻的3个点这四种选择 所以把去掉这4个点

省选模拟(61~65)

省选模拟61 1.GTM \(BIT\) 把所有点按照下标排序后,考虑消灭一个点会给多少个点消灭掉 发现左边速度比它大的和右边速度比它小的都能够通过接触它消灭 继续分情况,考虑左边速度比它小的一些点 如果速度比右边速度的最小值要大的话就可以通过接触右边的点消灭 同理对于右边速度比它大的点只要比左边最大值小就照样可以消灭掉 所以每个点能够消灭的,是速度一段区间内的点\([min,max]\) 然后就是线段覆盖问题了 2.字符串游戏 ? 考虑已经知道答案是多少了,然后就是有一个\(ans*n\)的网

2018.3.10 省选模拟赛

从这里开始 概况 Problem A 三元组 Problem B 攻略 Problem C 迂回 概况 这是省选T1合集?还是欢乐AK赛? 全班一半以上的人三道题都会做qwq. Doggu还剩一小时时以为自己AK了,然后玩了一小时.虽然最终被卡了20分的常数. ZJC 1个半小时AK?Excuse me? 我这条大咸鱼到最后10分钟才敲完了T1,然后发现线段树要T掉. 发自内心鄙视垃圾出题人卡常数,本来的欢乐AK变成280. 教练给我们考4个小时的试,题面上也这么写的,看题解,woc,考试时间3

[考试反思]0114省选模拟7:迷离

这次考得相对不错,但是没什么水准. 只不过记得T1这道原题而已.虽说我忘了怎么做,而且数据范围不一样...差不多是从头想的. 但是并没有AC,像个弱智一样,有两个细节写的完全不对还有80分运气也是真好. 其实挂了不止两个细节...以为是原题于是上来就写20分钟写完,然后过一会出一个锅... 然后看T2,感觉$O(nk^2)$也许差不多?常数很大...但也不会别的.挺好想但是不是很好写. 于是乎强烈谴责cbx没素质暴力水题考后还不改正解的无脸行径 于是就开始写,写了一个半小时. 看T3,绝对大神题

2018.2.12 省选模拟赛

题目大意 (题目很简洁了,不需要大意) 其实显而易见地可以发现,当被卡一次后后面的路程都是固定了的. 可以用类似动态规划的思想来进行预处理.现在的问题就是怎么知道在某个位置刚等完红灯然后出发会在哪个路口再次被卡. 尝试画一画图: 其中横轴表示位置,纵轴表示时间,长方体表示红灯时段.有用的部分长度只有$r + g$,所以在模意义下弄一下就可以减少很多重复和无用状态: 但是这样仍然不好处理上面提到的问题,考虑让线段横着走,第一个撞着的长方形就是答案.为了实现这个目标,就每个长方形向下移动一段(移动的

[考试反思]0113省选模拟6:过载

真累啊...离上次放假也挺久,离下次放假也挺久,离上次放出去玩也挺久,离下次放出去玩还不知道有多久... 好累啊...大脑基本成天在挂机了.什么也不想干了... 持续状态不佳.但是今天运气好,所以考试排名看起来还可以. T1没认真读题也没看数据范围,以为是送分题,17分钟写完交了...然后我就把分送出去了 像个弱智一样...但是现在的精神状态的确不太能支持好好做题 幸亏T2是个比较简单的SAM+dp,思维量不大,脑子宕机的时候也能写一写. (归功于当时给大家讲课时稍微有一点理解,要是其它的板子我

省选模拟6&7

因为改题太慢,两篇总结合一块写了. 馍旎6: 抄了一套UR(的题目 A. Yist 根号算法. 首先判-1即为判断是否有一个点能对其他点作贡献,且不存在于s序列中. 考虑单个点的贡献,假如第一轮贡献为$a$,之后每一轮的的贡献即为$a*2^{cnt}$ cnt为这个点在序列中出现的次数.然后这玩意拿等比数列求和就可以了. 然后出题人随便造个菊花图就能卡死你. 考虑根号算法,按每个点度数是否大于$\sqrt{n}$分为大点和小点. 对于每个大点,统计时暴力扫与它相连的大点统计贡献, 大点同时累计自

省选模拟二十九 题解

T1 考场上只想到了枚举拆三元环,拿到60pts 发现其实有一个性质没有用到: 保证将这  个点移除后,剩余的图将不存在环. 假设黑点为没有被钦定的点,白点反之 三白的情况无解 那么一个三元环只能由二黑一白/二白一黑组成, 后者已经固定了,直接选,而前者并不是很好处理 首先对黑白点分别求出子图的Top序(由于是竞赛图,所以Top序是严格的) 接着对于每个黑点处理出它到白点的一个序列(设W->B=1,B->W=0) 把序列按照白点Top序排序 考虑什么样的x才是不合法的 当且仅当存在一个0在1的