Loading

2024.7 训练日记

\(\color{grey}\bigstar\) 可以秒杀的题。

\(\color{green}\bigstar\) 思考一会儿后可以秒的题。

\(\color{blue}\bigstar\) 需要较长时间思考的题。

\(\color{#F1C40F}\bigstar\) 看题解、稍加指点就会做的题。

\(\color{red}\bigstar\) 看题解后需要较长时间消化,甚至现在都没有完全理解的题。

题目后面会写一点评价与感悟。按照 Linshey 意见,一套模拟赛\(1\) 题。

日期范围:\(7.1\sim 7.31\)。总计过题:\(88\)


7.1

当天过题数:\(6\)

\(\color{#F1C40F}\bigstar\) qoj 8838,当只有一个置换环的时候构造有点难想。

\(\color{#F1C40F}\bigstar\) qoj 8833,计数题。


\(\color{red}\bigstar\) CF566C,妙妙题!稍微讲一下。

一种常见的找重心的方法就是:每次移动到相邻节点判断会不会更优,然后移动。此题可以推广到边权为任意关于 \(dis\) 的下凸函数。

\(\mathbb{L}_{u'}\) 表示以 \(u\) 为根,\(u'\) 子树中点构成的集合,考虑到从 \(u\to u'\) 时式子的变化:

\(f(x)=\sum\limits_{v\in \mathbb{L}_{u'}} a_v(dis(u,v)-x)^{3/2}+\sum\limits_{v\notin \mathbb{L}_{u'}} a_v(dis(u,v)+x)^{3/2}\)\(w=w(u,u')\),则变化为 \(f(0)\to f(w)\)

注意到 \(f(x)\) 由若干下凸函数加起来,仍为下凸函数 \((f''(x)\ge 0)\)。于是若 \(f'(0)\ge 0\),则 \(f'(x)\ge 0(x\ge 0)\)

此时 \(f(w)-f(0)=\displaystyle\int_0^w f'(x)\mathbb{d} x\ge 0\),于是 \(u\to u'\) 一定不优。

于是 \(u\to u'\) 变优 \(\Rightarrow f'(0)<0\Rightarrow\dfrac{3}{2}\left(\sum\limits_{v\in \mathbb{L}_{u'}} -a_v dis(u,v)^{1/2}+\sum\limits_{v\notin \mathbb{L}_{u'}} a_v dis(u,v)^{1/2}\right)<0\)

\(p_{u'}=\sum\limits_{v\notin \mathbb{L}_{u'}} a_v dis(u,v)^{1/2}\),则 \(f'(0)<0\Rightarrow \sum\limits_{v\in son_u} p_{v}-2p_{u'}<0\)

于是这样的可能更优决策 \(u'\) 至多只有一个!然后点分治移动即可。如果无法移动那么这个点就是最优。

有可能 \(u\to v\) 可能更优,然后 \(v\to u\) 可能更优。此时直接比较一下俩哪个更优即可。复杂度 \(O(n\log n)\)


\(\color{green}\bigstar\) P7481,简单整式递推练手题,std 推法想不到。

\(\color{green}\bigstar\) ABC360G,其实是简单题,但是细节有点小多,被创了。

\(\color{#F1C40F}\bigstar\) P10553,妙妙交互题!


7.2

当天过题数:\(2\)

\(\color{green}\bigstar\) 随机游走问题,简单数学题。

\(\color{#F1C40F}\bigstar\) ARC180B,逆排列很妙。


7.3

vp The 2nd Universal Cup. Stage 23: Shanghai

当天过题数:\(5\)

\(\color{blue}\bigstar\) qoj 8051,神秘思维题,赛事我 WA 了好多发才过的。

\(\color{#F1C40F}\bigstar\) qoj 8052MO 题,赛事 hpt 找到了 IMOSL 中类似的题找到了结论。

\(\color{#F1C40F}\bigstar\) qoj 8049,妙妙背包题,以及不知道是否经典的 trick

\(\color{#F1C40F}\bigstar\) qoj 8058,经典套路是尝试两个串共同转换成一个标准串。注意到有 \(10\to 11\to 100\to 10\) 的环,特判串为 1 的情况即可。

\(\color{#F1C40F}\bigstar\) ABC290F,调整状态所做,考虑先拉出直径,往上挂点,组合数算算即可。

7.4

vp 2024 北京市大学生程序设计竞赛

当天过题数:\(4\)

\(\color{blue}\bigstar\) qoj 8714,直接暴力三维数点,比价唐的做法。

\(\color{green}\bigstar\) qoj 8717,简单的猫树分治,后续处理需要一点小技巧。

\(\color{#F1C40F}\bigstar\) qoj 8715,没想到中位数那步,而且后面的 NTT 式子也没推出来实在是太不应该了。

\(\color{#F1C40F}\bigstar\) CF1552G,很深刻的题,类似 P10360

7.5

打了2024--苍穹计划--NOI排位赛 #35

当天过题数:\(5\)

\(\color{blue}\bigstar\) 微观戏剧,打表发现是斯特林数前缀和,能线性算。

\(\color{#F1C40F}\bigstar\) CF1830C,妙妙性质题。

\(\color{green}\bigstar\) P10680,简单根号分治。

\(\color{#F1C40F}\bigstar\) P6694,很好的数学题。

\(\color{red}\bigstar\) P10681,自己的做法太繁了,有个式子太妙了,我实在理解不了。

7.6-7.12 省队集训

详见 2024 福建省队集训录接下来省集的比赛题以及订正都只算一题

7.6

当天过题数:\(3\)

\(\color{green}\bigstar\) CF449D,简单高维前缀和。

\(\color{red}\bigstar\) loj 3409,太高妙了这题。

7.7

当天过题数:\(5\)

\(\color{green}\bigstar\) P6076,两次容斥做完。

\(\color{#F1C40F}\bigstar\) P10682,一个经典线性基结论加经典拆环状物的结论。为啥自己没做出来呢?反思!

\(\color{green}\bigstar\) ABC303H,简单 Prufer 序列结论题,套个多项式快速幂做完。

\(\color{green}\bigstar\) qoj 969If only some kind soul would tell us a_1000000...

7.8

当天过题数:\(5\)

\(\color{red}\bigstar\) ARC148F,蒙哥马利算法。

\(\color{#F1C40F}\bigstar\) ARC180Cdp 中关键那一步还是很妙的。

\(\color{green}\bigstar\) CF379Fduel 的题,动态直径秒了。

\(\color{green}\bigstar\) P10833,鉴定为数据结构学傻了导致的。我的做法是直接找所有极小 mex 区间判断。

7.9

当天过题数:\(2\)

\(\color{blue}\bigstar\) CF1986G2,把 \((a_i,i)\) 分别除掉他们的 \(\gcd\),此时设为 \((a_i,b_i)\)。不妨考虑 \(b_i\neq 1\) 的情况。那么 \((i,j)\) 满足条件 \(\Leftrightarrow b_j\mid a_i,b_i\mid a_j\),枚举因数 计数即可。卡常!

7.10

当天过题数:\(1\)

生日就摆一点吧!

7.11

当天过题数:\(2\)

\(\color{blue}\bigstar\) ARC158E,模拟赛题弱化版,改改就过了。

7.12

当天过题数:\(4\)

\(\color{#F1C40F}\bigstar\) Cookie Distribution这题没想出来太唐了!
考虑把 \(\prod c_i\) 拆成组合意义:即最后算每个人从他拿到的糖果中选一个的方案数。写出式子生成函数乱算,复杂度 \(O(kn^2)\)

\(\color{green}\bigstar\) Product of Arithmetic Progression,把 \(d\) 提出来做完,唐!

\(\color{#F1C40F}\bigstar\) Random Tournament,首先容易区间 dp+bitset 得到 \(\text{poly}(n)/w\) 的做法。

\(f_{i,j,k}\) 表示区间 \([i,j]\)\(k\) 能否胜出,则转移形如:\(f_{i,j,k}\gets f_{i,w,k}\ \text{and}\ f_{w+1,j,K}(a_{k,K}=1)\)

考虑 \(k\) 能在 \([i,j]\) 中胜出相当于啥?相当于 \(k\) 能在 \([i,k]\) 中胜出,且 \(k\) 能在 \([k,j]\) 中胜出,此时 dp 状态就只有边界情况了!

\(L_{i,j}\) 表示 \(i\) 能否在 \([i,j]\) 中胜出,\(R_{i,j}\) 表示 \(j\) 能否在 \([i,j]\) 中胜出,则转移:

\(L_{i,j}\gets L_{k,j}\ \text{and}\ R_{i+1,k}\ \text{and}\ a_{i,k}(i<k\le j)\)

\(R_{i,j}\gets L_{k,j-1}\ \text{and}\ R_{i,k}\ \text{and}\ a_{j,k}(i\le k<j)\)

显然交换 \(L\) 两维:

\(L'_{j,i}\gets L_{j,k}\ \text{and}\ R_{i+1,k}\ \text{and}\ a_{i,k}(i<k\le j)\)

\(R_{i,j}\gets L'_{j-1,k}\ \text{and}\ R_{i,k}\ \text{and}\ a_{j,k}(i\le k<j)\)

这是容易 bitset 优化区间 dp 的,复杂度 \(O(n^3/w)\)

$\texttt{code}$
#include<bits/stdc++.h>
#define LL long long
#define fr(x) freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);
using namespace std;
const int N=2005;
int n,s;string C;
bitset<N>L[N],R[N],a[N];
int main()
{
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;L[1][1]=R[1][1]=1;
	for(int i=2;i<=n;i++)
	{
		cin>>C;L[i][i]=R[i][i]=1;
		for(int j=1;j<i;j++) a[j][i]=(a[i][j]=C[j-1]-'0')^1;
	}
	for(int k=2;k<=n;k++)
		for(int i=1,j=k;j<=n;i++,j++)
			L[j][i]=(L[j]&R[i+1]&a[i]).any(),
			R[i][j]=(L[j-1]&R[i]&a[j]).any();
	for(int i=1;i<=n;i++) s+=L[n][i]&R[1][i];
	return cout<<s,0;
}

7.13

打了 UOJ NOI Round #8 Day1

当天过题数:\(3\)

\(\color{green}\bigstar\) uoj 887UNR T1,观察到性质后就简单了。

\(\color{blue}\bigstar\) uoj 888,赛事做到 80 pts 了,最后一个 \(64\) 始终优化不掉,题解的做法还是很妙的。

\(\color{green}\bigstar\) P10778,参考 P10075,判断是否存在 xor\(0\) 的部分写个线性基优化即可。值得注意的是这个幽默题

7.14

UNR Day 2 太困了去加睡了,有点太摆烂了。

当天过题数:\(3\)

\(\color{green}\bigstar\) P10777,简单的欧拉回路性质题。

\(\color{#F1C40F}\bigstar\) Card Collector,很深刻啊!最大生成基环树森林。

\(\color{green}\bigstar\) XOR Partitioning,简单推式子题目,异或前缀和一下,观察性质写个 dp 做完了。

7.15

当天过题数:\(8\)

\(\color{red}\bigstar\) AGC027E,经典题,妙妙 trick

\(\color{green}\bigstar\) qoj 5376,小清新好题!推销博客!第 \(19\) 篇。

\(\color{green}\bigstar\) P5349,简单 EGF 题。

\(\color{green}\bigstar\) qoj 4278,推式子,询问按照 \(a\) 排序,考虑一个 \(a\) 的贡献,用这题 trick 即可。

\(\color{blue}\bigstar\) qoj 4624,推式子部分简单,但是实现精细通过此题需要一点技巧。

\(\color{green}\bigstar\) qoj 858,打表找规律,发现满足条件的 \(\{a_i,a_j\}\) 只能是 \(\{kd,(k+1)d\}\),调和级数枚举即可。

\(\color{#F1C40F}\bigstar\) P5353,当后缀平衡树板子。

\(\color{#F1C40F}\bigstar\) qoj 4617,妙妙奇偶分治!

7.16

飞去 CQ 参加 NOI,摆。

7.17

当天过题数:\(1\)

\(\color{#F1C40F}\bigstar\) CF1554E,妙妙题!注意实现细节。

7.18

NOI Day 1,摆。

7.19

当天过题数:\(2\)

\(\color{#F1C40F}\bigstar\) CF757E,我不好评价是啥难度的题,因为我推假了。

\(\color{green}\bigstar\) P5174,简单式子题,当放松心态了。

7.20

摆。

7.21

当天过题数:\(1\)

\(\color{#F1C40F}\bigstar\) P5348,好题。

7.22

当天过题数:\(4\)

\(\color{green}\bigstar\) ThREE,简单构造题,按度数奇偶黑白染色是容易想到的。

\(\color{green}\bigstar\) CF1114E,简单题,一发过了。

\(\color{#F1C40F}\bigstar\) P10744,有思维量的题。

\(\color{grey}\bigstar\) P10740,水题。

7.23

当天过题数:\(2\)

\(\color{red}\bigstar\) AGC058B,双倍经验:P10741。写了 \(O(n^2)\) 做法,给红是因为不会 \(\text{poly}\log\) 处理这种格路计数题。

\(\color{green}\bigstar\) CF1198C,不会做这种题应该感到羞耻。

7.24

旅游。

7.25

当天过题数:\(2\)

\(\color{#F1C40F}\bigstar\) CF1270E,又是值域折半的套路,再积累一次。

\(\color{green}\bigstar\) CF1105E,复习了最大独立集的 \(O(2^{n/2})\) 做法。

7.26

当天过题数:\(2\)

\(\color{#F1C40F}\bigstar\) P10806,显然先二分,然后直接左右贪心能 hack,要考虑反悔一格 \(L\) 状态的情况,思考咋实现。

\(\color{#F1C40F}\bigstar\) P10736多想差分!差分完转化为 CF865D

7.27

当天过题数:\(1\)

\(\color{green}\bigstar\) CF56E,训这种题的意义在于:即使赛事想了复杂的做法,也要飞快写完这种难度的题。

7.28

当天过题数:\(7\)

\(\color{green}\bigstar\) ABC364F,简单 Kruskal 题。

\(\color{#F1C40F}\bigstar\) ABC232H,很好的递归构造题。

\(\color{green}\bigstar\) ABC233H,曼哈顿转切比雪夫,然后二分加主席树在线二维数点,很好的套路题。

\(\color{#F1C40F}\bigstar\) ABC234H,绝世好题。

\(\color{#F1C40F}\bigstar\) ABC237H,超级好题!注意到本质不同回文串不超过 \(n\) 个,上个 Dilworth 定理 然后网络流做完。

\(\color{#F1C40F}\bigstar\) P9481,关键在于类似 Floyd 处理第二类边。注意点细节就做完了。

\(\color{green}\bigstar\) ABC238G,简单哈希,随机然后三进制异或做完了。

7.29

当天过题数:\(3\)

\(\color{#F1C40F}\bigstar\) P10739致敬传奇构造题!致敬传奇耐调往!What can I say?

\(\color{red}\bigstar\) P5808,及其难写。

\(\color{green}\bigstar\) CF342C,简单的结论题。

7.30

当天过题数:\(3\)

\(\color{#F1C40F}\bigstar\) ABC231H,很好的网络流题。

\(\color{green}\bigstar\) CF547C,简单莫反题。

\(\color{green}\bigstar\) CF1725E,枚举素数建出虚树随便算算即可。

7.31

当天过题数:\(5\)

\(\color{green}\bigstar\) P3601,简单数学题。

\(\color{blue}\bigstar\) ABC235H,很好的 Kruskal+树上背包+poly 题。

\(\color{green}\bigstar\) ABC239H,其实是简单的整除分块+概率期望题,差点底力。

\(\color{green}\bigstar\) ABC240G,简单数数题。

\(\color{#F1C40F}\bigstar\) P10812,前缀和优化 dp,难点在于设计状态。

posted @ 2024-07-01 08:55  HaHeHyt  阅读(231)  评论(0编辑  收藏  举报