Loading

2024.7~8 训练日记

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

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

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

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

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

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

日期范围:$7.1\sim $。总计过题:\(58\)


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\) qoj 6670,鉴定为数据结构学傻了导致的。我的做法是直接找所有极小 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,妙妙奇偶分治!

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