2024.7 训练日记
可以秒杀的题。
思考一会儿后可以秒的题。
需要较长时间思考的题。
看题解、稍加指点就会做的题。
看题解后需要较长时间消化,甚至现在都没有完全理解的题。
题目后面会写一点评价与感悟。按照 Linshey 意见,一套模拟赛算 题。
日期范围:。总计过题:。
7.1#
当天过题数:。
qoj 8838,当只有一个置换环的时候构造有点难想。
qoj 8833,计数题。
CF566C,妙妙题!稍微讲一下。
一种常见的找重心的方法就是:每次移动到相邻节点判断会不会更优,然后移动。此题可以推广到边权为任意关于 的下凸函数。
记 表示以 为根, 子树中点构成的集合,考虑到从 时式子的变化:
记 ,,则变化为 。
注意到 由若干下凸函数加起来,仍为下凸函数 。于是若 ,则 。
此时 ,于是 一定不优。
于是 变优 。
记 ,则 。
于是这样的可能更优决策 至多只有一个!然后点分治移动即可。如果无法移动那么这个点就是最优。
有可能 可能更优,然后 可能更优。此时直接比较一下俩哪个更优即可。复杂度 。
P7481,简单整式递推练手题,std 推法想不到。
ABC360G,其实是简单题,但是细节有点小多,被创了。
P10553,妙妙交互题!
7.2#
当天过题数:。
随机游走问题,简单数学题。
ARC180B,逆排列很妙。
7.3#
vp The 2nd Universal Cup. Stage 23: Shanghai。
当天过题数:。
qoj 8051,神秘思维题,赛事我 WA 了好多发才过的。
qoj 8052,MO 题,赛事 hpt 找到了 IMOSL 中类似的题找到了结论。
qoj 8049,妙妙背包题,以及不知道是否经典的 trick。
qoj 8058,经典套路是尝试两个串共同转换成一个标准串。注意到有 的环,特判串为 1
的情况即可。
ABC290F,调整状态所做,考虑先拉出直径,往上挂点,组合数算算即可。
7.4#
当天过题数:。
qoj 8714,直接暴力三维数点,比价唐的做法。
qoj 8717,简单的猫树分治,后续处理需要一点小技巧。
qoj 8715,没想到中位数那步,而且后面的 NTT 式子也没推出来实在是太不应该了。
7.5#
当天过题数:。
微观戏剧,打表发现是斯特林数前缀和,能线性算。
CF1830C,妙妙性质题。
P10680,简单根号分治。
P6694,很好的数学题。
P10681,自己的做法太繁了,有个式子太妙了,我实在理解不了。
7.6-7.12 省队集训#
详见 2024 福建省队集训录。接下来省集的比赛题以及订正都只算一题。
7.6#
当天过题数:。
CF449D,简单高维前缀和。
loj 3409,太高妙了这题。
7.7#
当天过题数:。
P6076,两次容斥做完。
P10682,一个经典线性基结论加经典拆环状物的结论。为啥自己没做出来呢?反思!
ABC303H,简单 Prufer 序列结论题,套个多项式快速幂做完。
qoj 969,If only some kind soul would tell us a_1000000...
。
7.8#
当天过题数:。
ARC148F,蒙哥马利算法。
ARC180C,dp 中关键那一步还是很妙的。
P10833,鉴定为数据结构学傻了导致的。我的做法是直接找所有极小 mex 区间判断。
7.9#
当天过题数:。
CF1986G2,把 分别除掉他们的 ,此时设为 。不妨考虑 的情况。那么 满足条件 ,枚举因数 计数即可。卡常!
7.10#
当天过题数:。
生日就摆一点吧!
7.11#
当天过题数:。
ARC158E,模拟赛题弱化版,改改就过了。
7.12#
当天过题数:。
Cookie Distribution,这题没想出来太唐了!
考虑把 拆成组合意义:即最后算每个人从他拿到的糖果中选一个的方案数。写出式子生成函数乱算,复杂度 。
Product of Arithmetic Progression,把 提出来做完,唐!
Random Tournament,首先容易区间 dp+bitset 得到 的做法。
记 表示区间 中 能否胜出,则转移形如:。
考虑 能在 中胜出相当于啥?相当于 能在 中胜出,且 能在 中胜出,此时 dp 状态就只有边界情况了!
记 表示 能否在 中胜出, 表示 能否在 中胜出,则转移:
显然交换 两维:
这是容易 bitset 优化区间 dp 的,复杂度 。
#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 887,UNR T1,观察到性质后就简单了。
uoj 888,赛事做到 80 pts 了,最后一个 始终优化不掉,题解的做法还是很妙的。
P10778,参考 P10075,判断是否存在 xor 为 的部分写个线性基优化即可。值得注意的是这个幽默题。
7.14#
UNR Day 2 太困了去加睡了,有点太摆烂了。
当天过题数:。
P10777,简单的欧拉回路性质题。
Card Collector,很深刻啊!最大生成基环树森林。
XOR Partitioning,简单推式子题目,异或前缀和一下,观察性质写个 dp 做完了。
7.15#
当天过题数:。
AGC027E,经典题,妙妙 trick。
P5349,简单 EGF 题。
qoj 4278,推式子,询问按照 排序,考虑一个 的贡献,用这题 trick 即可。
qoj 4624,推式子部分简单,但是实现精细通过此题需要一点技巧。
qoj 858,打表找规律,发现满足条件的 只能是 ,调和级数枚举即可。
P5353,当后缀平衡树板子。
qoj 4617,妙妙奇偶分治!
7.16#
飞去 CQ 参加 NOI,摆。
7.17#
当天过题数:。
CF1554E,妙妙题!注意实现细节。
7.18#
NOI Day 1,摆。
7.19#
当天过题数:。
CF757E,我不好评价是啥难度的题,因为我推假了。
P5174,简单式子题,当放松心态了。
7.20#
摆。
7.21#
当天过题数:。
P5348,好题。
7.22#
当天过题数:。
ThREE,简单构造题,按度数奇偶黑白染色是容易想到的。
CF1114E,简单题,一发过了。
P10744,有思维量的题。
P10740,水题。
7.23#
当天过题数:。
AGC058B,双倍经验:P10741。写了 做法,给红是因为不会 处理这种格路计数题。
CF1198C,不会做这种题应该感到羞耻。
7.24#
旅游。
7.25#
当天过题数:。
CF1270E,又是值域折半的套路,再积累一次。
CF1105E,复习了最大独立集的 做法。
7.26#
当天过题数:。
P10806,显然先二分,然后直接左右贪心能 hack,要考虑反悔一格 状态的情况,思考咋实现。
7.27#
当天过题数:。
CF56E,训这种题的意义在于:即使赛事想了复杂的做法,也要飞快写完这种难度的题。
7.28#
当天过题数:。
ABC364F,简单 Kruskal 题。
ABC232H,很好的递归构造题。
ABC233H,曼哈顿转切比雪夫,然后二分加主席树在线二维数点,很好的套路题。
ABC234H,绝世好题。
ABC237H,超级好题!注意到本质不同回文串不超过 个,上个 Dilworth 定理 然后网络流做完。
P9481,关键在于类似 Floyd 处理第二类边。注意点细节就做完了。
ABC238G,简单哈希,随机然后三进制异或做完了。
7.29#
当天过题数:。
P10739,致敬传奇构造题!致敬传奇耐调往!What can I say?
P5808,及其难写。
CF342C,简单的结论题。
7.30#
当天过题数:。
ABC231H,很好的网络流题。
CF547C,简单莫反题。
CF1725E,枚举素数建出虚树随便算算即可。
7.31#
当天过题数:。
P3601,简单数学题。
ABC235H,很好的 Kruskal+树上背包+poly 题。
ABC239H,其实是简单的整除分块+概率期望题,差点底力。
ABC240G,简单数数题。
P10812,前缀和优化 dp,难点在于设计状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律