2024.10 训练记录
训练记录
10.9
\(\color{Goldenrod}{十一附加赛4道 + 联训D16\ T2 + 10连D4\ T4}\)
另外:
\(n\) 个点的有标号无向连通图个数 \(n\le1000\)
trick: 连通图个数 = 总数 - 不连通图的个数
\(n\) 个点的图最多有 \(\frac{n(n-1)}{2}\) 条边,每条边可以选或者不选,共计 \(2^{\frac{n(n-1)}{2}}\) 种方案
连通的图,发现可以由一个连通的包含一个固定节点的有 \(i\) 个节点的子图和一个与之不连通的任意的子图构成。前者可以用之前的数据(即\(f_i\)),而后者因为剩下共计 \(n-i\) 个节点,\(\frac{(n-i)(n-i-1)}{2}\) 条边,每条边可以选或者不选,共计 \(2^{\frac{(n-i)(n-i-1)}{2}}\) 种方案,前者选择 \(i\) 个节点的方案有 \(\binom{n-1}{i-1}\)
所以
\(f_n=2^{\frac{n(n-1)}{2}}-\sum_{i=1}^{n-1} \binom{n-1}{i-1}\times 2^{\frac{(n-i)(n-i-1)}{2}}\times f_i\)
\(O(n^2)\)
10.10
\(\color{Goldenrod}{联训D20\ T1\ T3 + luoguP4135+ 模板\ 最大流\ 最小费用最大流}\)
P4135 tzc_wk
10.11
\(\color{Goldenrod}{联训D15\ T3 + 联训D20\ T2}\)
超级简要记录一下 easy sum:
给 \(n\) 个点 \((a_i,b_i)\), 求每个点走到 \((0,k)\ (0\le k< n)\) 的方案数
为了方便 翻转坐标轴 \((a_i,n-b_i-1)\)
分块
\([x^i](\frac{1}{1-x})^{l+B}\) 组合意义为 \((0,0)\) 走到 \((l+B,i)\)
\(n\) 次前缀和
二项式反演
\((1-x)^m=\sum_{i=0}^{m}\dbinom{m}{i} (-1)^i x^i\)
NTT
实测块大小 \(B=3000\) 能过
最近做了太多 NTT 的题,万一真让我学会了?
10.12
csp7连
应该说没挂多少?虽然被 T3 区分了。T1T2是两个不用脑子闭眼过的签到,T3 想到缩点了来着,后面没有想下去,非 0 环太坑人了,高达 0 分的暴力。T4 24 分挂成 4 分,如果有空补个简要一点的题解。
10.13
noip10连
T1挂了!!!!T1!!数字打一半交上去了草!!100挂成30!T1是个简单的 dp,T2过了,T3暴力没想仔细写一半没写了(我错了),T4题面看不懂,交了第一个测试点的答案,但是挂了。
先这样。
10.14
\(\color{Goldenrod}{20连D1\ T1\ T2 + 7连D6\ T3 + 10连D6\ T3 + luoguP2514}\)
今天20连Day1
估分 100 + 40 + 20 + 30 = 190
实际 100 + 35 + 20 + 10 = 165
T2 T4 小细节挂了 幸好没有捆包,T3本来能写更高的暴力,懒了(错了错了),下分了。老老实实打暴力才能赢啊
明天要证明自己 我要上分。
10.15
20连D2
估分 100 + 100 + 45 + 32 = 277
实际 100 + 20 + 32 + 20 = 172
T2 特别心痛,首先正解被卡常了,赛后卡一卡就过了,其次我拼了一个 20 暴力上去,但是没想到是 0 分暴力,于是我死了。没算好复杂度。气死我了,评测机波动 80 -> 20, 当然还加一个快读比较烂的buff。换一个快读秒过。我真的生气了。都怪快读,垃圾正瑞评测机。重测了一下直接 0 分了。
T3 写的 \(n^2\) 所以预计得分 45,但是交完发现其实没道理 拿不了几分,抱着完全挂掉的心态在等,最后居然有 32 分,谢谢。
T4!赛后(but没改数据前)我的\(n^2\) 暴力可以拿 \(60\) ,但是我把 \(n>2000\) 给特判掉了,加上 \(op=3\) 的 failed 判挂了,所以只拿到了 20。感谢孙哥卡掉 \(n^2\) ,
又下分了,证明自己这件事等明天吧。
\(\color{Goldenrod}{20连D2\ T1\ T2}\)
10.16
(upd 10.17:我刚刚更新的时候才发现应该是10.16,一直以为昨天是15号啊啊,)
昨天没补题 心理状况出了大问题 今天->努力补题.gif
D3
估分 100 + 100 + 25 + 20 = 245
实际 100 + 90 + 25 + 20 = 235
小上了一点分
T2二分边界开小了,算错了
\(\color{Goldenrod}{20连D3\ T1\ T2 + D1\ T2\ T3\ T4}\) 五题 还凑合吧
10.17
D4
估分 20 + 100 + 10 + 0 = 130
实际 0 + 100 + 10 + 0 = 110
今天是魔怔场。一开始 T2 完全不会 只能会打 25 分暴力,后面有人在机房喊网络流网络流,我想了一会发现会了。唉真的什么都不会,
T1 国家队作业 $\ \ \ $T3 集训队互测 $\ \ \ $T4
又下分了 周末能上点吧/?
不好评价 补题
\(\color{Goldenrod}{20连D4\ T1\ T2}\)
10.18
终于不打比赛了。
后缀数组全忘了 复习一下:
倍增思想 往后第t关键字排序
\(\color{Goldenrod}{20连D3\ T3 + D2\ T3}\) 最近补题有点少,剩下的好难。
数学考了56(雾
10.19
csp7连
估分 100 + 100 + 10 + 0 = 210
实际 100 + 100 + 10 + 0 = 210
没挂 嘻嘻,但是本来写的 20 分暴力,初始化没加一挂了,爽,,
T4 题面看上去就很恶心 一点都不想看,省流就是打了1小时24分就开始摸鱼了(但其实最后一个小时在写暴力来着,T4 暴力也写了只不过挂了就没交,
上分了(怎么老打成上坟 怒
10.20
noip10连
估分 100 + 100 + 0 + 0 = 200
实际 100 + 100 + 0 + 0 = 200
不过 赛后 T2 被 hack 了,所以实际只有 97 。check 写挂了。
但是因为是大型原题场,所以开 unr 了??!!
很生气 wmh 大神喊两句就 unr 了,所谓的“实力至上”是这样的,本来我能上 13 分,怒闯历史最高 rating。我讨厌他,
顺便记录一下原题 t2~t4 qoj#9427 qoj#9411 zr#2771(不是哥们怎么还有去年10连题,????
本周还差一题 我会抓紧补的!
10.21
20连D5
估分 100 + 100 + 50 + 15 = 265
实际 100 + 100 + 50 + 15 = 265
没挂,上分了 历史最高分。
话说我昨天把 10连D7T2 给补了,刚刚发现又被 hack了,这么命运悲惨。又重写了哈哈。
\(\color{Goldenrod}{20连D5\ T1\ T2\ +\ D4\ T2\ T3}\)
10.22
20连D6
估分 15 + 100 + 25 + 20 = 160
实际 40 + 100 + 25 + 20 = 185
T1真不会 就想到相邻 x 最大 后面就不到了。写了的 \(n^3\) 暴力,跑过了 2e3,而且只要 31ms.想不动。太危了。
险险上分
鲜花:
这个sbwmh 一打不好就在群里吱哇乱叫 叫叫叫叫nm啊(选自博主qq聊天记录。
纯骂人 没有别的意思。吵死了。就是你们想的那个wmh,著名选手wmh)真差不多得了
昨晚写了 7连D7T3 wa了没调完,今天调
\(\color{Goldenrod}{20连D6\ T1\ T2\ +\ 10连D7\ T4}\)
10.23
20连D7
估分 100 + 5 + 44 + 54 = 203
实际 100 + 0 + 21 + 18 = 139
T2 有点太难了 会不了一点,写的 dfs 5分暴力,调了好久还,结果挂了。
T3 写的 nq 暴力 实际上换个快读开个 ofast 直接飞升 44。
T4 写的 nqlogn 二分 好像 5e3 确实不太好过,subtask 最后 2 个点没过,但同上换快读 54.
下了22,明天最后一场了。加加油。
\(\color{Goldenrod}{20连D7\ T1\ T3}\)
10.24
20连D8
估分 100 + 0 + 0 + 10 = 110
实际 10 + 0 + 0 + 10 = 20
T1 多取了一次max T3暴力没调出来
下分下完了 我这么多天费劲上了 1770,两天掉到 1583,你说这事整的。。真爽。加油加油
\(\color{Goldenrod}{20连D8\ T1}\)
10.25
一给马斯
看了很多图论的概念。哈哈。等会再看看图论算法 set用法 kmp ac自动机 矩乘 哈希
注 哈希
#define hshmod 10000019
#define ull unsigned long long
unordered_map<int,bool>mp;
ull hsh=0;
for(int k=1;k<=cnt;k++){
hsh*=hshmod;
hsh+=b[k];
}
if(mp[hsh]){
return ;
}
mp[hsh]=1;
就先这么写吧
线性逆元
inv[1]=1;
for(int i=1;i<=n;i++){
if(i>1)inv[i]=(mod-mod/i)*inv[mod%i]%mod;
}
等会再看看链表
还有树 平衡树线段树 字典树笛卡尔树
10.26
左转反思。哦。报意思。我加密了。
10.27
noip10连
估分 30 + 40 + 0 + 20 = 90
实际 10 + 40 + 0 + 20 = 70
这场难 都一百多不到一百。上来就来了一个严重博弈,想半天没写出来,我有 20 分多判了一些条件,直接 wa 掉了。
把 T1 T2 补了
\(\color{Goldenrod}{10连D8\ T1\ T2}\)
10.28
20连D9
估分 100 + 0 + 20 + 20 = 140
实际 80 + 0 + 0 + 20 = 70
特判判错了。
\(\color{Goldenrod}{20连D9\ T1\ +\ D8\ T2\ T3\ +\ 10连D8\ T2}\)
看上去好多其实只有 4 题。
10.29
20连D10
估分 100 + 100 + 45 + 20 = 265
实际 100 + 100 + 0 + 20 = 220
暴力怎么又挂了。鉴定为题面太shi导致的(甩锅.jpg。
使劲补题。
\(\color{Goldenrod}{20连D10\ T1\ T2\ T3\ +\ D6\ T3}\)
10.30
20连D11
估分 100 + 100 + 0 + 30 = 230
实际 100 + 0 + 0 + 0 = 100
T1还算简单但是我居然两个小时才会。bfs + dfs 就能过了,数据好像没造满。
T2 也花了两个小时,各种想到的做法都写了一遍。第一个贪心,后面发现不对;第二个是二分找最长段,看左右每次都需要的数,好多人写了这个,过了样例没过终测,我写了但是没过大样例,答案和第一个贪心一样是 239,写史了;第三个也是二分,不会证明正确性但是能过大样例,回去测小样例发现没过,最后十五分钟,,发现前缀和顺序算错了,迅速改过来,在倒数 3min 的时候交上去了,手都是抖的。
T2 挂没了。原因是没有记录每一个左端点,导致出现 i-0=mxlen 的情况 ,然后就si了。si的最惨的一次。我再也不懒了。
10.31
20连D12
估分 100 + 0 + 0 + 0 = 100
实际 100 + 50 + 0 + 0 = 150
t1推了半天式子。就是把 第一个式子转化成第二种形式,让 \(i,j\) 独立。
然后就是直接维护区间最小值,写了一个st表。
大家做法都比我简洁好多,都用不到区间最小值。
t2 一眼反悔贪心,但是这题我不会写。赛时写 50 分暴力 dp 但是没过大样例。从 718 调到 716,最后调不动了直接放弃交上去了,假正解写挂了()。结果终测出来居然有 50 分。完全没想到,终测数据比大样例还弱吗?赛后交了一下原题发现 40 个点也只有个位数个点是 WA,其他都过了。太神秘了。
t3 看到 access 以为 LCT,于是看都没看。虽然上周五赵老师讲了一点,但是还是不会。
t4 写的 dfs 暴力,没过。暴力都写不对了现在。
记一个:
反悔贪心
主要思想:即通过堆(大根堆、小根堆)来维护当前贪心策略的最优解,若发现最优解不对,就退回上一步,更新最优解。
由于堆的性质,使得堆的首数据一定是最优的,这就可以实现快速更新最优解。
今天这个 t2 首先考虑取维护 b 值的小根堆,这个如果要用就代表着这个要替换那 k 个用了优惠券的,那么通过贪心的思路可以想到肯定是取优惠最少的进行替换,那么如果将这两个替换的花费就为:b 值最小的+ a 和 b 的差值最小的。也就是说,我们不仅需要买这个东西,我们还需要补上这个东西替换的那个东西的差价。
然后我们考虑取维护 a 值的小根堆,这个非常显然就是 a 值最小的那一个作为花费。
那么我们比较两种取值的花费,那个小就取哪个即可。代码
原题 LGP3045
————
October >>>
十月结束啦!🔚
居然坚持写了这么久,第一次啊。希望以后能坚持。有六千字吧。最后两天没写做了哪些题 反正就是 T1 T2 和之前的 T3 T4。懒得记了。

浙公网安备 33010602011771号