\(2023.9.25-2023.10.1\)

\(\color{limegreen}{P3524}\)

考虑删掉两个不相连的点,这两个点必定一个在团内一个在团外,删掉 \(\frac{n}{3}\) 个点对之后一定保证剩下的点都在我们要的团内。

\(\color{limegreen}{P3522}\)

单调队列维护一下左右端点,加入时取交即可。

\(\color{royalblue}{P3520}\)

考虑到性质类似欧拉图,求欧拉回路缩环时求解即可。

\(\color{royalblue}{P3518}\)

考虑到性质:若 \(a\) 为密码,则 \(\gcd(n,a)\) 一定为密码,并且其倍数也是,求最小的合法 \(d|\gcd(n,x)\),有答案 \(\frac{n}{d}\)。

\(\color{royalblue}{P3528}\)

塞到堆里贪心即可。

\(\color{royalblue}{P3521}\)

类似 CDQ 的,线段树合并的过程中求解即可。

\(\color{blueviolet}{P3519}\)

存下每个字符出现的所有位置,枚举最多、最少字符,将两个字符出现位置拿出来合并扫一遍求最大子段和即可,均摊复杂度正确。

\(\color{blueviolet}{P3527}\)

较为板的整体二分,思路奇妙。

\(\color{blueviolet}{P3523}\)

二分+树形 DP 验证。

\(\color{royalblue}{CF1795E}\)

先变成单峰最优,DP一下就行。

\(\color{blueviolet}{CF1794E}\)

对于每种距离存个哈希跑就行了。

\(\color{blueviolet}{P3525}\)

结论题,只有重心有解,写就完了。

\(\color{black}{P3516}\)

构造题,不知道为啥是黑的,贪心一下就行。

\(\color{blueviolet}{CF1486F}\)

讨论 LCA 相同与不相同,相同的拿个桶就解决了,不同的拿树状数组区间加和算贡献。

\(\color{blueviolet}{P3560}\)

最大流,考虑每次限制源点流量,跑残余网络。

\(\color{limegreen}{P3560}\)

贪心地扫一遍。

\(\color{limegreen}{P3558}\)

注意到性质后直接 DP 即可。

\(\color{limegreen}{P3550}\)

巨大细节贪心。

\(\color{limegreen}{P3551}\)

逆着思考,贪心即可。

\(\color{royalblue}{P3556}\)

离线处理,维护最小奇偶距离。

\(\color{royalblue}{P3557}\)

注意到一种性质使得直接构造成为正解。

\(\color{blueviolet}{P3554}\)

二分+DP 验证。

\(\color{blueviolet}{P3563}\)

最小值是直接一层正边一层反边使得一个边贡献一个点对,最大值不难想到找重心的所有子树做背包,恶心的是需要 bitset 优化,阴间的。

\(\color{blueviolet}{P3553}\)

二分+模拟验证。

\(\color{royalblue}{P3579}\)

整除分块即可。

\(\color{royalblue}{P3567}\)

主席树板子。

\(\color{blueviolet}{P3566}\)

从多到少放置即可。

\(\color{blueviolet}{P5952}\)

把墙看作边,跑最小生成树的时候维护一下答案即可。

\(\color{blueviolet}{P6663}\)

构造题,在最小值基础上回转构造即可。

\(\color{blueviolet}{P3515}\)

考虑到贡献只会有 \(\sqrt n\) 个数产生,直接枚举。

\(\color{blueviolet}{P3562}\)

按照斜率排序跑 DP 即可。

\(\color{blueviolet}{P5955}\)

贪心的选,双指针扫一圈。

\(2023.10.2-2023.10.8\)

\(\color{black}{P3547}\)

分类讨论,然后删边优化复杂度。

\(\color{blueviolet}{P3576}\)

倒推即可。

\(\color{blueviolet}{P3580}\)

单调队列优化 DP。

\(\color{blueviolet}{P3575}\)

乱搞。

\(\color{blueviolet}{P3564}\)

做前缀和,考虑到相邻位置只会相差一,贪心即可。

\(\color{blueviolet}{P3569}\)

维护区间左右端点情况。

\(\color{blueviolet}{P3565}\)

\(n^2\) 统计一下即可。

\(\color{blueviolet}{P3574}\)

树 DP 一下。

\(\color{blueviolet}{P7561}\)

二分+set 搞一下。

\(\color{blueviolet}{P9521}\)

化式子后维护凸包。

\(\color{royalblue}{P3536}\)

记录每个数取到哪里,打标记即可,复杂度线性自然对数。

\(\color{blueviolet}{P3540}\)

设 \(x_i\) 从小到大排序,则 \(x_2+x_3\) 会带来不确定性,枚举其位置即可。

\(\color{blueviolet}{P3539}\)

每次找最的斐波那契数即可,递归运算,只会越来越小。

\(\color{blueviolet}{P3532}\)

考虑枚举 \(\gcd\),预处理一下最小次小质因数分解指数和的倍数即可。

\(\color{blueviolet}{P3534}\)

神仙贪心。

\(\color{blueviolet}{P3570}\)

记录位置随便处理即可。

\(\color{royalblue}{CF1775E}\)

转成前缀和一眼切。

\(\color{blueviolet}{CF1253F}\)

考虑经过一条边的限制,列不等式后可以最小生成树。

\(\color{blueviolet}{CF1736E}\)

DP。

\(\color{blueviolet}{CF908G}\)

数位 DP。

\(\color{royalblue}{P5058}\)

圆方树板子。

\(\color{blueviolet}{P3542}\)

处理上界,从小向大贪心。

\(\color{royalblue}{P3531}\)

直接转逆序对数。

\(\color{blueviolet}{P4320}\)

建圆方树,求两点路径之间圆点数量。

\(\color{blueviolet}{CF997C}\)

化简式子直球。

\(\color{royalblue}{CF991D}\)

贪心可行。

\(\color{blueviolet}{P4606}\)

圆方树,询问点按照 DFS 序排序,计算贡献。

\(\color{blueviolet}{P4630}\)

圆方树+树 DP。

\(\color{blueviolet}{CF487E}\)

圆方树+树剖。

\(2023.10.9-2023.10.15\)

\(\color{blueviolet}{CF1763F}\)

直接圆方树即可。

\(\color{blueviolet}{P3577}\)

根据深度不超过 \(10\) 进行状压。

\(\color{blueviolet}{P3530}\)

差分约束型连边,根据强联通分量统计贡献。

\(\color{blueviolet}{P3546}\)

一个强联通分量答案固定,多个之间互不影响,考虑一个强连通分量贡献即 \(\min\{dis(i,j) + 1\}\)(\(i,j\) 都为其中的点),Floyd 求解即可。

\(\color{blueviolet}{P3533}\)

分讨点对情况,倍增维护一下随便做了。

\(\color{black}{P3543}\)

先转换为差分,套一个 exgcd,求出特解之后调和即可。

\(\color{blueviolet}{CF1059E}\)

倍增后预处理每个点最多向上扩展到哪里,从叶子节点向上贪心即可。

\(\color{blueviolet}{P3976}\)

大力树剖。

\(\color{royalblue}{CF40E}\)

考虑到有一行或一列一定空着,去掉了一维限制,剩下的随便搞。

\(\color{blueviolet}{P4381}\)

求基环森林直径和,讨论直径情况,对于经过环的直径可以进行单调队列优化。

\(\color{limegreen}{AT\_abc243\_e}\)

考虑一条边被删的充要条件即可。

\(\color{royalblue}{AT\_abc243\_f}\)

考虑线性 DP,将前一些个拿出来抽取一些。

\(\color{royalblue}{CF466E}\)

离线下来乱搞,转换为判断一个点在不在一条直链(不拐弯)上。

\(\color{blueviolet}{CF838B}\)

大力树剖,简单维护一下子树内信息随便做。

\(\color{blueviolet}{CF1778F}\)

注意到值域很小,打进 DP 状态,约数个数级别在 \(\sqrt V\),随便做(虽然赛时没切出来)。

\(\color{blueviolet}{CF1632E1}\)(\(\color{blueviolet}{CF1632E2}\) 双倍经验)

考虑对于一个 \(x\),可以列出关于 \(ans_x\) 的不等式,求虚树直径即可,简单维护后根据 \(ans\) 单调性 \(O(n)\) 做。

\(\color{royalblue}{AT\_abc243\_g}\)

不难想到 \(\sqrt n\) DP,考虑计算重复贡献方式即可做到 \(n^{\frac{1}{4}}\)。

\(\color{blueviolet}{P7961}\)

DP,状态很妙。

\(\color{limegreen}{AT\_abc242\_e}\)

考虑是否顶到上限,对每一位做一下就行。

\(\color{royalblue}{AT\_abc242\_f}\)

考虑黑车放完之后白车贡献是好算的,设 \(f_{i,j,k}\) 表示用 \(i\) 辆车刚好占用 \(j\) 行 \(k\) 列,转移是好推的。

\(\color{royalblue}{AT\_abc242\_g}\)

莫队板子。

\(\color{royalblue}{CF912D}\)

考虑每只鱼的贡献,贪心地从中间向四周放,堆 + BFS 即可。

\(\color{royalblue}{CF840B}\)

一条无向边贡献两个度数,所以度数一定为偶数,并且偶数一定有解,DFS 构造即可。

\(\color{royalblue}{CF1037E}\)

倒序处理删点即可。

\(\color{royalblue}{CF1278D}\)

树的边数一定为 \(n - 1\),大于这个边就停止,否则就并查集维护连通性。

\(\color{blueviolet}{CF229C}\)

纯纯数学题,简单的。

\(\color{blueviolet}{CF1082E}\)

转换为区间内众数出现次数与此区间内 \(c\) 个数差值最大值,维护前缀和处理即可。

\(\color{blueviolet}{CF859E}\)

连有向边之后分讨即可。

\(\color{royalblue}{CF893E}\)

不难想到按照质因数处理,正负分开做,排列组合即可。

\(\color{blueviolet}{CF746G}\)

每层有叶子数量的上下限,求出后构造即可。

\(2023.10.16-2023.10.22\)

\(\color{royalblue}{CF1201D}\)

因为只能从下向上走,所以就只用一行一行考虑,对于一行显著从一头走到另一头是最优的,所以记录 \(f_{i,0/1}\) 表示取完第 \(i\) 行后在左 / 右的最少行走数量,至于安全列的限制只要预处理左右最近的安全列即可。

\(\color{blueviolet}{CF346B}\)

LCS 问题基础上多加一维,记录第三个串匹配了多少,记一个 KMP 的 \(nex\) 数组即可。

\(\color{blueviolet}{CF509C}\)

贪心地,一定是从低位向高位放 \(9\) 使得一个数尽量小,在此基础上,枚举当前数字哪一位第一次比上一个数字大并且合法,最小的显然最优。

\(\color{blueviolet}{CF354C}\)

枚举公因数,找合法区间,桶前缀记一下就解决了,复杂度线性自然对数。

\(\color{blueviolet}{CF1152D}\)

贪心地,考虑偶数深度点都选最优,类似卡特兰数的递推求解即可。

\(\color{blueviolet}{P3302}\)

不考虑连边操作就简单地主席树即可,连边启发式合并就行。

\(\color{blueviolet}{CF1146F}\)

DP,三种状态是显然的,只要注意转移即可,每次将一个子树合并到当前处理过的子树中。

\(\color{blueviolet}{CF1583F}\)

神仙构造题,题解塞到套题里面。

\(\color{blueviolet}{P4768}\)

预处理到 \(1\) 的距离,然后 Kruskal 重构树简单倍增维护一下即可。

\(\color{blueviolet}{P4322}\)

式子是显著的,考虑分数规划,二分后树 DP 也是显著的。

\(\color{blueviolet}{P6087}\)

显著的分数规划,需要注意的是可能出现区间长度小于 \(L\) 的解,所以要扩展至 \(L\) 进行特殊处理。

单调队列边界寄了,调了好一会。

\(\color{blueviolet}{P2473}\)

状态是显著的,但正着转移并不可以,因为状态分布不均匀,没法直接算方案数,所以倒着转移。

感觉是典型的题,有点神仙(大概吧)。概率正着推,期望逆着推。(题解里的话。)

\(\color{blueviolet}{P4197}\)

思路是显著的,Kruskal 重构树后上主席树查询(按照 DFS 序建即可)。

\(\color{blueviolet}{P3209}\)

2-SAT。

\(\color{blueviolet}{CF27D}\)

2-SAT。

\(\color{blueviolet}{CF1030E}\)

不难想到结论,序列必须 \(1\) 数量为偶数并且最大的 \(1\) 个数不能超过总和一半。

\(\color{blueviolet}{P1505}\)

树剖,简单的。

\(2023.10.23-2023.10.29\)

\(\color{blueviolet}{P6348}\)

显著的线段树优化建图。

\(\color{blueviolet}{P2482}\)

猪国杀,巨大模拟。

\(\color{royalblue}{CF1772G}\)

首先从小往大打,对于每一轮有一个正负分界点,考虑分界点后移情况,细节处理即可。

\(\color{blueviolet}{CF369E}\)

正难则反,转化为二维数点,二维偏序即可。

\(\color{blueviolet}{CF348C}\)

根号分治,超过根号级别的集合一共有不超过根号个,打标记处理即可。

\(\color{blueviolet}{CF1495D}\)

考虑对于 \(x\) 和 \(y\) 共同的生成树一定包含两者的最短路径。

先假设 \(x, y\) 最短路径有且只有一条,考虑其上一点 \(z\),\(x, y\) 两者中一者到其最短路径依然有且只有一条,为了满足 \(dis(x, z), dis(y, z)\) 不变,必须保留此最短路。

当 \(x, y\) 最短路径不止一条时,对于这两条路径上的点依然需要满足上述 \(z\) 的条件,因此多条最短路都需要保留,此时一定会成环,无法保持树的形态,也就一定无解。

现在对于 \(x, y\) 两点已有一条唯一的链链接,考虑其他点如何挂在树上。对于一个点 \(u\) 有边 \((u, v)\),若保留此边(使得 \(v\) 为 \(u\) 的父节点)必须满足 \(dis(x, v) + 1 = dis(x, u) \land dis(y, v) + 1 = dis(y, u)\)。所以我们对于一个点找出其合法父节点个数,对所有的点乘法原理计数即可。

\(\color{blueviolet}{CF1511G}\)

首先转化问题,对于一个询问只要判断 \(\bigoplus \limits _{l \le c_i \le r} c_i - l\) 是否等于 \(0\) 即可。

设 \(f_{i, j}\) 表示 \(\bigoplus \limits _{i \le c_i \le i + 2 ^ j - 1} c_i - i\),考虑如何倍增转移。

\(f_{i, j}\) 由 \(f_{i, j - 1}\) 与 \(f_{i + 2 ^ {j - 1} - 1, j - 1}\) 两部分组成,前者的异或和可以直接转移过来,后者包括的元素每个会与需要的值相差 \(2 ^ {j - 1}\),所以需要额外异或上后者元素个数个 \(2 ^ {j - 1}\),只需要通前缀和维护一下区间元素个数即可。

\[f_{i, j} = f_{i, j - 1} \oplus f_{i + 2 ^ {j - 1} - 1, j - 1} \oplus \left([(g_{i + 2 ^ j - 1} - g_{i + 2 ^ {j - 1} - 1}) \mod 2 = 1] \times 2 ^ {j - 1} \right)
\]

求答案也是类似的,倍增逼近即可。

\(\color{blueviolet}{CF1510B}\)

首先考虑转化问题,进行简单图论建模,每个状态向可以达到的状态连边,于是得到一张 DAG。

首先考虑最劣情况,对于每一个点单独成为一条路径进行覆盖,贡献是其二进制下 \(1\) 的个数。每一个点可以选择一个出边把自己贡献抵消掉,这个就类似二分图最大匹配,费用流即可。

\(\color{blueviolet}{CF1539F}\)

我们只考虑 \(a_i\) 大于中位数的情况,另一情况可以通过取负反转数组取到相同情况,式子只有一个加减 \(1\) 不同。

区间固定时贡献是 \(\frac{t_l + t_m + t_r}{2} - t_r = \left \lfloor \frac{t_l + t_m - t_r}{2} \right \rfloor\)。

其中 \(t_l, t_m, t_r\) 分别表示小于、等于、大于 \(a_i\) 的 数字个数。

然后运用到一个套路,对于这种中位数的东西离线并从小到大遍历数字,比自己小的设为 \(-1\),比自己大的设为 \(1\),求一下以 \(i\) 结尾的后缀最大、以其开头的前缀最大,求和即可。

\(\color{blueviolet}{CF1469F}\)

首先注意到先挂长链更优,并且将中点挂在树上是更优的,可以使得整体深度更小。

设 \(fa\) 为链挂在上面的点,则会使得深度为 \(dep_{fa}\) 的点减少一个,并增加连续深度的两段点数,用线段树维护即可,注意分讨奇偶即可,以及注意空间。

\(\color{blueviolet}{CF1523E}\)

从期望的定义入手,转化为对在第 \(i\) 次仍没结束的概率求和,转化为古典概型直接排列组合即可。

\(\color{royalblue}{CF1515G}\)

首先一定要在强连通分量中进行求解,并且强连通分量里的环可以选择经过多次,次数可以是负数,因为模意义下是等价的,于是我们将所有的基本环找出来后用裴蜀定理求解即可。

「Log」做题记录 2023.9.25-2023.10.29的更多相关文章

  1. Solution -「基环树」做题记录

    写的大多只是思路,比较简单的细节和证明过程就不放了,有需者自取. 基环树简介 简单说一说基环树吧.由名字扩展可得这是一类以环为基础的树(当然显然它不是树. 通常的表现形式是一棵树再加一条非树边,把图画 ...

  2. Sam做题记录

    Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律 ...

  3. BJOI做题记录

    BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难 ...

  4. 退役II次后做题记录

    退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...

  5. 「BZOJ2510」弱题

    「BZOJ2510」弱题 这题的dp式子应该挺好写的,我是不会告诉你我开始写错了的,设f[i][j]为操作前i次,取到j小球的期望个数(第一维这么大显然不可做),那么 f[i][j]=f[i-1][j ...

  6. UOJ 做题记录

    UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好 ...

  7. project euler做题记录

    ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...

  8. 退役IV次后做题记录

    退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...

  9. 退役III次后做题记录(扯淡)

    退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...

  10. 「CQOI2006」简单题 线段树

    「CQOI2006」简单题 线段树 水.区间修改,单点查询.用线段树维护区间\([L,R]\)内的所有\(1\)的个数,懒标记表示为当前区间是否需要反转(相对于区间当前状态),下方标记时懒标记取反即可 ...

随机推荐

  1. JS中数组的操作方法大全

    常见的一些数组操作push . pop.unshift. shift push 语法: array.push(item1, item2, -, itemX) push( )方法:可以将一个或者更多的参 ...

  2. halcon 入门教程(二)Blob分析(二值化,联通区域,分割区域,提取区域)保姆级教程

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18781187 有兴趣可以多看其他的halcon教程 halcon 学习教程目录 OK,今天讲h ...

  3. element-ui和ant-design-vue 数字输入框只能输入大于等于1的整数

    限制输入的是大于等于1的整数 <template> <div> <h1>ant-design-vue 1.xx</h1> <a-input-num ...

  4. 什么是HTTP压缩及HTTP压缩的过程

    HTTP压缩是指: Web服务器和浏览器之间压缩传输的"文本内容"的方法. HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件. 能大大减少 ...

  5. docker 中几个节点意外宕机 pxc 无法启动

    docker 意外宕机,PXC启动不了解决方法 由于 意外宕机 docker start pxc 节点后闪退,解决方法如下 从节点中找任意一个数据卷映射目录,修改参数 [root@izuf64gdeg ...

  6. Linux下Oracle client(sqlplus)安装和配置

    分类专栏: Linux 数据库 文章标签: Linux Oracle Client sqlplus 方向键版权1.下载rpm包http://www.oracle.com/technetwork/top ...

  7. unigui的程序编译后自动运行傻傻的手动【7】

    我们每次修改unigui程序后,一般需要编译后执行,查看效果.可是每次都要关闭杀掉服务程序,再刷新浏览器才能实现. EMB应该知道这个反人类的做法吧.实际上提供了参数配置:自动kill服务程序,自动打 ...

  8. zk基础—1.一致性原理和算法

    大纲 1.分布式系统特点 2.分布式系统的理论 3.两阶段提交Two-Phase Commit(2PC) 4.三阶段提交Three-Phase Commit(3PC) 5.Paxos岛的故事来对应Zo ...

  9. VsCode写Markdown使用snippet

      文件->首选项->用户片段   输入markdown   输入代码片段 Ctrl+P,输入settings.json   加入下面个这个选项 "[markdown]" ...

  10. 【ESP32】移植 Arduino 库到 idf 项目中

    今天咱们要聊的内容非常简单,所以先扯点别的.上一篇水文中,老周没能将 TinyUSB 的源码编译进 Arduino 中,心有两百万个不甘,于是清明节的时候再试了一次,居然成功了,已经在 esp32 开 ...