「考试」省选7

比较简单的一场,但是我好像做的xibalan。

上来看了一小时题啥也不会。
然后发现\(T2\)数据范围像是分块
然后傻逼一样去打根号算法。
最终结果当然是死了,到九点半也没写出来。
然而早就会\(T1\)正解了,于是先五分钟拿了\(T3\)的30分(为啥60那么好打。。)。
然后半个小时打完\(T1\)(临接表被卡常到90?)
然后继续搞T2最后弄出来了。
剩下十分钟啥也没干,三分块长从\(12s\)变成了\(2s\)。

T1
原题,\(xor\)差分之后就没了。

T2
数据结构题毫无思维难度,直接\(maracher\)+分块暴力就行了。
听\(kx\)说他调了4h现在肾疼。(调四个小时真是不成功便成仁啊233)。

T3
有点意思。
正解是用平衡树维护差分表。
当时没有仔细的想T3,但是由于\({g_{i,j}-a_i(j-1)}\)具有单调性,就可以二分了。(单调性的证明的话。。其实考场上证明挺没意义的,现在会了懒得写,大概就是如何连接断点分成的三部分,然后套上一个更大的\(a_k\)来证明)。
这样我们二分断点,发现要实现的操作是区间平移和区间加法。
直接用平衡树维护即可。
然而我的\(splay\)要写哨兵就很恶心,所以我重构了三次(真傻),最终在\(Dybala\)大神和\(kx\)大神的帮助下痛苦\(AC\)。。

原文地址:https://www.cnblogs.com/Lrefrain/p/12194839.html

时间: 2024-08-30 14:20:30

「考试」省选7的相关文章

「考试」省选模拟13

在家的又一场. 状态还是一般吧. 自己扔了30分. T1 比较厉害的\(dp\),考场上想到了,结果因为细节太多就没有写(真的是多). 他其实就是个基环树dp. 我们首先断掉环上某个边,然后进行一次最大匹配的\(dp\),然后这样要求这个边必然不选. 另一种情况是这个必然选,那么这条边终点的出边必然不选,再次断那个出边 再\(dp\)一次得到答案. 考虑如何输出方案. 对于一个位置我们记录这个点的最大值出现在\(0/1\)上. 然后根据这个找到最佳方案所依赖的子节点方案. 即可输出方案了. T2

「考试」省选5

这套做的比较顺. 题也很好. T1 一个简单的贪心. 我们二分能够无伤通过的蛤个数. check就用之前用烂了的队列来check. 然后我们知道无伤通过最多一定对应这所有的石头被踩完,因为这样可以让每只蛤单次跳跃距离的最大值尽量的小. 这也就是说两种最优操作是合在一起的,有点像\(CSP-2019 D2T2\). 那么,二分出来剩下的就是必然要跳出大于\(D\)的了,我们取最小的几只,让他们一步从\(1\)跳过去. 另外一种情况是没有蛤可以无伤过. 这时候就让最便宜的那只去踩地雷,踩过所有的石头

「考试」省选模拟12

状态不好考的不行(x 还是在家里不够专注吧(? T1 一个简单的离散化+bfs 细节不少 一个区间直接把两个端点都离散进去就行了. 统计答案的时候按块统计答案. T2 减枝的搜索. 不是特别难. 发现其实格子并不是很多. 被\(K\)给限制住了. 太多的都是0. 那么\(n+m-1\)的大小必然是小于等于10的. 直接爆搜. 剪枝要用到一个小技巧. 当前如果许多个颜色并没有放过,那么我放上一种颜色搜索一下得到答案,那么这几个颜色是等价的可以直接不重复搜索,然后将答案乘上个数. T3 挺厉害的\(

「考试」省选22

... T1真的我方了. T1 计算几何. ... 不管我用什么方法都\(A\)不了. 不管是用正弦定理余弦定理还是别的什么. 咕了. T2 简单的差分+马拉车. 先用马拉车处理出以每个位置为重心的回文串的长度. 然后处理出两个数组,\(st[i],ed[i]\). 分别表示以这个点为起点的回文串的终点的总和,以这个点为终点的回文串的起点的总和. 然后可以认为相当于是离线对数组加一个公差相等的等差数列,记录一下当前有几个数列以及首项的和即可线性差分了. 那么答案就是: \[ans=\sum\li

「考试」省选23

好难啊... T3 讲了一次了,不过似乎大家都没有听懂. 详细的复读一次. 这个题是构造题. 首先题意转化. 我们发现一个\(E\)的序列的形成过程中任意时刻的图都可以对应为一个大小为\(i\)大强连通分量和\(n-i\)个单独的点的形式. 因为只有一个强连通所能到达的状态是最多的,这样我们求出这种图的方案就是\(E\)序列的方案. 然后设\(dp[e][i]\)为大强联通有\(i\)个点,总共有\(e\)条边的方案数. 转移很简单,枚举一个新圈即可: \[dp[e][i]=dp[e-1][i]

「考试」省选27

好像很迷? T1 很奇怪的期望. 根据那几个条件可以发现,概率最终会收敛到精度以下. 我们只需要迭代足够的轮次即可. T2 暴力的\(O(n|S|2^n)\)都过了... 奇怪. 发现答案是求并集,考虑基础的并交容斥. 设\(g(S),S\subseteq A\)为\(S\)中的所有的情况中\(S\)的所有串的公共前缀长度*这种情况发生的方案数. \(P(S)=\),\(S\)中的问号个数. 那么\(g(S)\)对全局的贡献是\(g(S)2^{P(A-S)}\) \[ans=\sum\limit

「考试」省选37

今天的题超极棒. T1 汉诺塔问题. 我们考虑把汉诺塔想象成一颗搜索树. 然后在上面找到当前的某一步就相当于递归到最底层. 然后中间判一下合不合法,如果走右儿子就加上左边的贡献就行了. 大概是个noip题... T2 设函数\(next(n,k,s)\)为大于等于\(n\)的\(k\)进制数中,各个位和为\(s\)的最小正整数. 这个玩意可以用一个数位\(dp\)实现,复杂度是\(O(klogn)\),判断一下剩下的位置的最大和是否大于剩下的\(s\)即可. 然后有了这个函数之后我们就可以做了.

「考试」省选56

直接全都WA爆了. T1 博弈论模型,其实就是转化成\(xor\)和为\(0\). 我们考虑朴素的\(dp\),\(dp[i][j][k]\)设为前\(i\)个元素,去掉的元素个数\(mod\ d\)为\(j\),\(xor\)和为\(k\)的方案. 暴力转移即可. 考虑最终答案是\(dp[n][0][0]\) 我们降序排序\(\{a\}\) 那么如果\(upbit(a_i)=2^j\),说明转移过来的\(k\)必然是小于\(2^{j+1}\)的. 这样我们转移的时候就可以指转移\(2^{j+1

「考试」省选61

T1 dy讲的原题. 建议去翻\(DC\)大神的\(dp\)视频课. T2 结论题. 一种想法是抽象为一个\(ans+1 n\)的矩阵. 每次从上面一段连续区间向底层走. 维护每一个位置最高的高度是多少就可以得到答案了. 这里用一个队列实现. 每一个位置的队列长度可以用来更新答案. T3 生成函数题. 考虑容斥. 用走了几条输入边来容斥. 设\(dp[i][s]\)为当前在\(i\)点,经过的点集为\(s\)的方案数. 设\(f[s]\)为经过的点集为\(s\)的方案数. 设\(g[i][s]\