做题记录(9.1~9.30)

数据结构

P1972 [SDOI2009] HH的项链

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.01
algorithm: 树状数组。
trick: 若干个询问区间 [l,r],若 r 都相等,那么对于项链中出现的同一个数字,只关心出现在最右边的那个。

P3402 可持久化并查集

difficulty: \(\color{#9D3DCF}{紫}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.02
algorithm: 可撤销并查集。
trick: 离线,形成一个图,dfs 这个图,进行撤销操作。
tips: 可撤销并查集不能路径压缩。

树论/图论

P4768 [NOI2018] 归程

difficulty: \(\color{#9D3DCF}{紫}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.03
algorithm: kruskal 重构树+dijkstra。
tips: 关于 SPFA,【】。

P3384 【模板】重链剖分/树链剖分

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.04
algorithm: 树链剖分模板。

P4281 [AHOI2008] 紧急集合 / 聚会

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.09
algorithm: lca
trick: 分别求出三个节点两两的 lca,利用深度计算距离。

P1813 拯救小 tim

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.09
algorithm: DAG 上 dp。
trick: dfs 遍历整个图的同时 dp。

P4822 [BJWC2012] 冻结

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.09
algorithm: 分层图模板。
trick: k 层图,每个点向每一层连边。

Lomsat gelral

difficulty: \(\color{#9D3DCF}{紫}\) *2300 \(\color{#FF1493}{ok!}\)
time: 2024.09.09
algorithm: DSU on tree 模板。
trick: 共三遍 dfs。
tips: 不要把函数名写错了。

Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

difficulty: \(\color{#9D3DCF}{紫}\) *2900 \(\color{#FF1493}{ok!}\)
time: 2024.09.09
algorithm: DSU on tree。
trick: 重排后回文->字符出现次数为偶数。
tips: 数组不要开小,尽量开大一点。

Fast Travel Text Editor

difficulty: \(\color{#3498DB}{蓝}\) *2400 \(\color{#CD3333}{easy!}\)
time: 2024.09.09
algorithm: 01-bfs
trick: 建虚点,将相同字母的点连往同一个虚点,跑 01-bfs。
tips: 数组要开两倍。

P3320 [SDOI2015] 寻宝游戏 = 2

difficulty: \(\color{#9D3DCF}{紫}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.14
algorithm: lca,kruskal
trick: dfn 序,getdis(x,y)=dis[x]+dis[y]-dis[lca(x,y)]*2

Anne's game

difficulty: \(\color{#52C41A}{绿}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.23
algorithm: 凯莱定理
trick: \(n^{n-2}\)

P4430 小猴打架

difficulty: \(\color{#3498DB}{蓝}\)
time: 2024.09.23
algorithm: 凯莱定理
trick: \(n^{n-2}*(n-1)!\)

P6086 【模板】Prüfer 序列

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.23
algorithm: Prüfer 序列模板。

动态规划

Segment Sum

difficulty: \(\color{#9D3DCF}{紫}\) *2300 \(\color{#FF1493}{ok!}\)
time: 2024.09.04
algorithm: 数位 dp+状压
trick: 在数位 dp 的同时,用二进制记录目前使用过的数字。
tips: 数组不能开 long long,会 MLE。

P1813 拯救小 tim

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.09
algorithm: DAG 上 dp。
trick: dfs 遍历整个图的同时 dp。

Lucky Country

difficulty: \(\color{#9D3DCF}{紫}\) *2500 \(\color{#CD3333}{easy!}\)
time: 2024.09.10
algorithm: 多重背包。
trick: 将题意转化为背包问题,注意到不同的值不多,跑多重背包。

Maximum Monogonosity

difficulty: \(\color{#9D3DCF}{紫}\) *2500 \(\color{#FF1493}{ok!}\)
time: 2024.09.11
algorithm: dp
trick: 分类讨论拆绝对值,建辅助数组进行转移。

Black and White Tree

difficulty: \(\color{#9D3DCF}{紫}\) *2400 \(\color{#FF1493}{ok!}\)
time: 2024.09.11
algorithm: 换根 dp。
trick: 考虑符合条件的情况,进行转移。

P2516 [HAOI2010] 最长公共子序列

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.12
algorithm: dp
trick: 考虑网格图(题解1)。
tips: 检查下标是否可能为负。

[ABC252G] Pre-Order

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.20
algorithm: dp
trick: 枚举在以 i 为虚拟根的情况下子树的点 k。

Grid 2

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.23
algorithm: dp
trick: 设状态为从起点到第 i 个黑点的方案数,容斥原理。

数学

P3978 [TJOI2015] 概率论

difficulty: \(\color{#9D3DCF}{紫}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.05
algorithm: catalan 数。
trick: 树的种类->卡特兰数。

[ARC108D] AB

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.07
algorithm: 分类讨论,计数。
tips: 特判 n=2 的情况。

P7521 [省选联考 2021 B 卷] 取模

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF00FF}{hard.}\)
time: 2024.09.11
algorithm: 数学。
trick: 先想暴力,再进行优化(去重,排序,双指针),最后计算时间复杂度。

Number Table

difficulty: \(\color{#3498DB}{蓝}\) *2500 \(\color{#CD3333}{easy!}\)
time: 2024.09.09
algorithm: 数学。
trick: 每行填的最后一个数可以调整。抽屉原理得至少一个空行。
tips: 统计答案时注意不要越界。

P2261 [CQOI2007] 余数求和

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.16
algorithm: 数论分块
trick: k%i=k-(k/i)*i

P1082 [NOIP2012 提高组] 同余方程

difficulty: \(\color{#52C41A}{绿}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.16
algorithm: exgcd 模板。

P4549 【模板】裴蜀定理

difficulty: \(\color{#CD3333}{easy!}\)
time: 2024.09.16
algorithm: 裴蜀定理模板。

P2613 【模板】有理数取余

difficulty: \(\color{#52C41A}{绿}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.16
algorithm: 有理数取模模板。
tips: 输入的时候就可以取模。

P4301 [CQOI2013] 新Nim游戏

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.16
algorithm: 线性基。
trick: 后手必胜:异或和为 0。因此保证异或和不可能为 0。

P4570 [BJWC2011] 元素

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.16
algorithm: 线性基。

P3455 [POI2007] ZAP-Queries

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.17
algorithm: 莫比乌斯反演。
trick: 推式子。

P1829 [国家集训队] Crash的数字表格 / JZPTAB = 2

difficulty: \(\color{#9D3DCF}{紫}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.17
algorithm: 莫比乌斯反演+两次数论分块。

P5651 基础最短路练习题

difficulty: \(\color{#FF00FF}{hard.}\)
time: 2024.09.22
algorithm: 异或
trick: 考虑异或的性质,注意到 “保证 G 中不存在简单环使得边权异或和不为 0”。

P4151 [WC2011] 最大XOR和路径

difficulty: \(\color{#9D3DCF}{紫}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.23
algorithm: 线性基,异或
trick: 将环缩成点,扔进线性基。

博弈论

Integer Game

difficulty: \(\color{#9D3DCF}{紫}\) *2600 \(\color{#CD3333}{easy!}\)
time: 2024.09.11
algorithm: 博弈论。
trick: 先手必胜。注意到 k 的限制很大,可以加上很大的数,构造等差数列。

World of Darkraft

difficulty: \(\color{#9D3DCF}{紫}\) *2500 \(\color{#FF1493}{ok!}\)
time: 2024.09.11
algorithm: sg 函数。
trick: 将数组旋转 45 度,定义 sg[x1][y1][x2][y2][p] 为 [x1,y1] 到 [x2,y2] 矩阵的 sg 值。
tips: sg 函数必须开大一点(22->52),异或等运算要加上括号。

P1512 伊甸园日历游戏

difficulty: \(\color{#52C41A}{绿}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.20
algorithm: 思维。
trick: 注意到 +1 会改变奇偶性,因此特判两个日期即可。

P7078 [CSP-S2020] 贪吃蛇

difficulty: \(\color{#0E1D69}{黑}\) \(\color{#FF1493}{ok!}\)
time: 2024.09.22
algorithm: 思维。
trick: 如果蛇吃了之后不会成为最弱的则吃,否则不吃。

模拟

P1039 [NOIP2003 提高组] 侦探推理

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.04
algorithm: 模拟。
tips: 循环上界不要打错。

构造

Toy Machine

difficulty: \(\color{#9D3DCF}{紫}\) *2700 \(\color{#FF00FF}{hard.}\)
time: 2024.09.11
algorithm: 构造。
trick: 分类讨论 <n/2+1 和 >n/2 的情况,手玩得出答案

深度优先搜索/广度优先搜索

Three States

difficulty: \(\color{#9D3DCF}{紫}\) *2200 \(\color{#CD3333}{easy!}\)
time: 2024.09.10
algorithm: bfs
trick: 先预处理每个点到每个国家最近的距离,再枚举每个点计算总距离。

字符串

P1723 高手过愚人节

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.07
algorithm: manacher。
tips: 多测清空。

Extend to Palindrome = 2

difficulty: \(\color{#3498DB}{蓝}\)/\(\color{#9D3DCF}{紫}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.10
algorithm: manacher
trick: 先做 manacher,然后根据 p 数组找最长回文后缀的长度(满足 \(i+p_i-1==n\))。

P10833 [COTS/CETS 2023] 下 Niz

difficulty: \(\color{#9D3DCF}{紫}\) \(\color{#FF00FF}{hard.}\)
time: 2024.09.18
algorithm: 哈希。
trick: 判有无相同的数->异或哈希。

分块

P4462 [CQOI2018] 异或序列

difficulty: \(\color{#3498DB}{蓝}\) \(\color{#CD3333}{easy!}\)
time: 2024.09.11
algorithm: 莫队。

### []()
difficulty: 
time: 2024.09.
algorithm: 
trick: 
tips: 
$\color{#CD3333}{easy!}$ (自己想出)
$\color{#FF1493}{ok!}$ (看了提示)
$\color{#FF00FF}{hard.}$ (看题解)
$\color{#52C41A}{绿}$
$\color{#3498DB}{蓝}$
$\color{#9D3DCF}{紫}$
$\color{#0E1D69}{黑}$
posted @ 2024-09-05 16:35  见合  阅读(15)  评论(0编辑  收藏  举报