做题记录

发过博客的这里就不写了。另外方便起见搞成一个栈。


12.27

前段时间阳了,什么都不想干,结果半个月都没写题,真能摸啊。

Codeforces Round #841 (Div. 2) and Divide by Zero 2022

本来是场很傻逼的比赛,结果我想了一下没想出 E 和 F 咋做就摆了。。最后队友教会了 E,但是 F 没仔细想就摸了,最后看到插值俩字立刻就会了,太摸了。

下次态度还是应该端正一些,不然这样做 CF 也很难有什么进步。

洛谷P5325 【模板】Min_25筛

直到今天才学会 Min25 筛,真是惭愧……


12.11

我是甄姬拔菜啊。。

loj#2206. 「HNOI2014」世界树

典中典虚树题了,最简单的做法是建虚树之后两次 DFS 求出上边和下边最近的点,然后枚举边算贡献。

边的两端是不算的,但是代码里没有处理好“下端刚好是距离相等的位置”这个情况。

写之前还是要搞清楚边界怎么搞,不然写对拍也太浪费时间了。

World Finals 2021 L

重新写了一遍还是用了半小时。主要是写之前还是没想清楚,一边写一边想很浪费时间,也容易错。

另外比如输出格式这种东西就应该写之前就想明白,不要写到这个部分再现想。

关于 WF 的失利,我觉得主要责任肯定在我,这显然是无法推脱的。


12.10

这两天又懒起来了,果然是三分钟热度。还是要重振精神一下。

loj#519 数学上来先打表

一个 vector 维护 bitset 的小技巧。卡了很多次的原因有两个,一个是对 vector 归并的时候边界没判好,一个是建操作树的时候没处理好撤销操作。

[COCI2015]Divljak

很经典的 AC 自动机了,本来想练练手,结果偷懒写倍增 LCA 被卡空间了,逆天……

平常自然无所谓,不过比赛或者训练的时候写之前记得算一下内存。比如这个 AC 自动机,如果不用倍增 LCA 的话最好不要以 0 为根,所以写之前就要算好到底写哪种,避免后面大改。


12.8

[NOI2007] 生成树计数

以前觉得这个题很难,结果现在看一眼就会了,感觉像个傻逼题。。

用最小表示法维护一下 5 个点的连通性就行了,转移的时候用并查集判一下。注意到要求的是生成树,所以连边之前要判一下是不是已经连通了。


12.6

洛谷P3886 [JLOI2009]神秘的生物

看起来状态很多,实际上最小表示法状态也就不到两万个,用最小表示法就好了。

暴力所有状态实际上没有必要(主要是太慢了),可以只在 DP 的时候把碰到的状态存一下。


12.5

2022 ICPC西安

L

很简单的贪心,因为如果只能用反链的话答案就是最长正链,所以直接每次贪心删掉最长的重链。

A

验题的时候想了个 rope,然后被卡常了。。

实际上用一个持久化线段树维护一下区间 swap 就行了,因为只有 swap,可以保证要交换的部分的结构始终是一样的。

洛谷P5056 【模板】插头 DP

这种寄吧逻辑很多的题恰好是我所欠缺的,尤其是插头 DP,以往每次碰见都只能放了。

明天写一下神秘的生物。


12.4

有的人只有栽了一跤之后才知道痛定思痛……

2022年中国大学生程序设计竞赛女生专场

VP 了一下,把傻逼题都做了。

G 和 K 没做出来是真的逆天,G 就是纯模拟的签到题,K 没想到因为所有数非负所以直接 FFT 就行了,不存在逆序对的问题。

UPD:才知道 G 是因为理解错题意了,每次放人是尽量多的放,而不是 0 ~ k 个都有可能。。虽然出题人也有责任,但确实怪我理解的有点奇怪了。


5.21

乐,快俩月没更新过了,真能摆啊都。

ICPC2021昆明J Just Another String Problem

挺傻逼的,后缀数组+线段树夏寄吧搞搞就行了。问题是好久不写代码了,在傻逼错误上卡了好久。

ICPC2021昆明E Easy String Problem

我真是焯了,什么诈骗题,ybb。


4.1

最近是真的能摸,根本没动力写题。。

Problem – L – Codeforces

一道其实很简单的单调栈,但是训练的时候神志不清了,甚至不知道怎么处理第一项的问题。


3.16

CF 1648D

用分治维护区间转移的 DP,注意我的写法需要特判长为 1 的区间,不然转移不过去。

(因为这个小 bug 查了好久,太 SB 了)


3.4

EC-Final2020 G

线段树维护历史和,但是实际上还没有完全搞懂,有空要再看看。


3.3

SEERC2021E Replacing Sort

很裸的三维偏序优化 DP,但是要特判一个元素都没留下的情况,因为直接 DP 是以至少有一个数留下的前提来做的。


2.25

ICPC2020澳门 J Jewel Grab

其实是很 SB 的题,但是训练和补题的时候都脑抽了。实际上“寻找 $x$ 之后第一个 $pre \ge s$ 的数”是可以直接用线段树搞的,而不是傻傻的开个树状数组套 set。


2.16

好懒……似乎好久没更新过了,虽然这段时间也不是没做过题。

后面做题的时候就补上吧,毕竟按理说 ICPC 生涯还有九个月。


11.21

CCPC-final 2019 C G


11.19

HDU4436

一个裸的本质不同子串的统计,建出后缀数组然后求height就行了。

注意题目中不考虑有前导0的子串,所以求和的时候如果开头是0就跳过。


11.18

Problem – 1208E – Codeforces

一个简单的单调队列,但是注意用vector开单挑队列时要多开几个元素(因为是手写队列,tail的位置理论上不应访问)。

Problem – 1303F – Codeforces

写了一个很暴力的分治并查集,然后果不其然被卡内存了。

正解也挺简单,因为修改的数递增,所以每个连通块都是先加点再删点,删点的过程反过来然后并查集扫一遍就行了。

感觉没什么细节,就不写了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!