模拟赛总结
23-24 term1
9.17
最可惜的是t4:把b放在a后面就形成了一个长为2*m的LIS。我想到了LIS但是一直觉得无法保证长度为m所以直接hack掉自己的想法。。(虽然LIS时间复杂度10^7理论是可以过的。)太可惜了。
当然也可以搜索剪枝(你是傻子你不会dfs你别想了)
T2:转移方程脑子炸了想了好久,然后还没有考虑第i种花可以直接不摆的情况(k应该从0开始循环我脑抽了写的1。)
T3:先排序,往前面找可以表示它的数,因为每个数都可以用无数次,直接完全背包!!!(我那调了一个多小时的可行性背包啊。呜呜。当时心态直接崩溃了。)
一些心得:
第一题其实是最难的,一眼不会有点被搞心态。恰巧第二题是最简单的。当时心态有点炸,想了一个多重背包的做法发现想假了,心态直接崩溃。直接去看第三题第四题了,第三题直接完全背包,我当时甚至还看见了无穷多张纸币,但是没有往这个方面想,想了一个非正解做法发现一直过不去样例,陆陆续续调了T2和T3调了两个小时,好不容易T2过了已经心态全无直接摆烂,不然T4即使是输出样例都是可以拿20分的。
所以这个故事告诉我们,一定要稳住心态!!!!!!
9.24
评价是考太烂了,dp一个不会,没啥好写的,总结为人菜。
upd:据考古这场作者荣幸爆蛋了,真的没啥好总结的。太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了太菜了。
10.17
17号的题可以给中等难度;
第一题简单二分(但我边界写错了挂了50pts),第二题dfs+图论,第三题模拟(当时发现自己做法假了心态有点崩,所以数组开小了也一直没调出来),第四题是神秘dp。
收获是:不要慌(哪怕一个橙题模拟调3.3h也不要慌),把自己会写的分一定要写完。
时刻提醒自己:慌,但不能慌,可以深呼吸!!!保持最细心的状态!!心态炸了那调出来这道题的可能性也会随之减少。然后注意时间分配,先打暴力!!!每道题撑死给一个小时(不能超过1.5h),注意数据范围,不要挂分。
10.18
18号的题比较难(表现为大家都写的不太好)。
第一题是巨大多恶心的大模拟,第二题是数学题(类似线性筛?想到做法了但是写不出来),第三题,最短路,注意读题!!!以及spfa可以拿50!这就体现出板子熟练的重要性了。第四题,神秘状压dp,可以考虑骗分或者放弃了orz
收获是:其实考场上遇见大模拟先看:
1.能不能理清思路
2.有没有实现的具体方法
3.预估一下需要写多久?
4.考虑清楚细节了吗??
调的时候一样,先预估修改幅度和所需时间,如果发现风险很高,那么不要犹豫直接扔下,这时或许才过去1h或1.5h,打完剩下能拿的分时间是绝对够的。然后调整状态!不要被大模拟影响心态!你写不出来大家可能都面临调不出来的情况,全力冲剩下的分!!
10.19
19号的题较简单。
第一题,结论题。没什么实现难度吧。注意一下验证就行,多造几组小样例。第二题,字符串模拟,明明可以开临时变量我开的数组我还开小了!!!痛失60pts,第三题和第四题都比较难,第三题是离散化+前缀和思想,可喜可贺,拿了暴力分没冲出来正解。第四题是神秘区间dp,可喜可贺拿了特殊性质分。
收获是:不知道是因为今天的题比较简单吗还是因为什么,我觉得今天的答题策略还不错。
T1告诉我们:遇到题先不要慌,分析样例,思考性质,必要时可以猜测结论+打表验证。
T2告诉我们:冲模拟前一定要想好细节,想清楚了再写!!!一定要注意数组范围。
T3T4告诉我们:从特殊性质入手,先打暴力模拟,把自己能拿的分拿到。T3T4我打暴力拿90不比冲正解的差。(也可能是因为运气好它恰好能打暴力的原因orz)。
总之把自己会拿的分拿到,不会就直接模拟题意,可以适当进行骗分,争取做到不挂分。不被周围人影响心态。
10.20
20号的题还是很简单??
T1,神秘金币。一个有点类似于读题杀的东西,最开始思路有点错导致以为T1考背包dp,后来认真读完题发现因为t互不相同就是排个序然后选前k个的问题,简单题。
T2,也是结论题??和一定差小积大差大积小。然后字符串暴力枚举就行,也挺简单。
T3,小学奥数,用一下结论n/(k-1) 可以轻松解决,就是要写高精。其实哪怕不需要高精暴力都可以拿五十分之多。。
T4,神秘数据结构题,理解了题意就挺简单???最开始试图写模拟有一车细节所以放弃了。最后2h开始罚坐。
收获是:简单题快速切,一定不要读错题意啊!!!然后策略和以前一样:先打会的分,先打暴力。然后就好像没有然后了??还有就是注意时间分配,最后50min可以拿手造样例检查自己的程序!()
CSP2023
11.26:
挂大分的是T1!!!
简单题,做法假了/wx,找中位数写成了找不同的数,于是直接爆0,太炸裂了,太tm炸裂了。
T2运气好,手写了一个貌似是假的并查集,没被卡,哈哈。
T3又是dp,推不出来,T4 LCA,看不出来,不会,看题解努力改了。
收获是:一定不要相信自己的做法是一定对的,一定要多检查检查。然后就是注意数据范围。(原因是机房考完试传来了经久不绝的没开longlong的惨叫,警钟声惨绝钟寰。)
12.10 字符串专题
T1暴力,T2哈希,T3KMP,T4貌似是AC自动机吧(其实是可以用hash水过去的trie树上跑dp)。没什么好说的,考太低是因为我太菜qwq。
收获是:和大家的差距主要在T1和T2啊......T1是思维程度达不到,T2二分看不出来。但好事是暴力没挂分,以后还是要好好写暴力分,然后再想正解。可以从多个角度思考题的解法(比如哈希和其他算法的结合)。
啊啊啊啊啊没看出来二分真的我哭死。
vocal。我把枚举len的那一层循环改成二分板子,它就过了,它就过了啊啊啊啊啊啊啊啊啊啊啊啊啊TT
2024寒假集训
2.18
T1场上一眼的思路,然后最开始取模出锅了,改改过了。比较简单。
T2!!最开始只会写O(nm)的暴力,然后发现只有40pts,于是一直在想单log或者O(n)算法,期间发现了二分但很快hack掉了(事实上正解就是二分+排序qwq),只能说没看出来,有点巧妙,以及不要过早hack掉自己的想法。
T3,最开始以为简单模拟,后面发现有一个地方读错题了(把字符串看成单个字符),然后改了改。但是出来发现炸了!!!(虽然大家好像都炸了),正解是KMP or HASH+记忆化搜索吧,能力范围以外也尽力了,不多说了。
T4,暴力写炸了??虽然只写了40pts的暴力但事实上最后只有10(?)打暴力的想法是好的继续保持,就是为什么会打炸。正解是容斥原理,比较抽象,尽力改改。
收获是:今天发挥正常,不好也不差,起码算是尽力了吧。暴力分拿满,想题要专注,从多个角度都试试,写代码的时候不要慌,不要读错题!!
2.19
省流:dp*2+图论,大寄特寄,主打一个垫底。
T1,签到题吧我觉得,线筛板子(虽然忘了)加上前缀和,写写过了。
T2,动态规划,很一眼的思路。但是因为题读错了和dp推错了的debuff导致只有10pts,仔细分析了一下和大家的主要差距还是在T2。怎么大家都做出来了啊,怎么这么菜,呜呜。
T3,dp+组合数的神秘不可做题,打算骗分然后没骗到???怎么这么神奇。
T4,只会最短路骗分(以及板子不熟),正解是跑一遍最短路+tarjan求割边,不会也没想到/sad
明天好像会停一天用来改题+按自己进度刷题,然后分析了一下我这两场考试,发现和高分的差距主要集中在T2,因为T1签到题太过简单,T3T4因为太难所以导致大家都不会,拉不开差距,所以得分的差距就是T2。然而dp仍然是我的短板(表现为题读错!!+非常显然的思路没太看出来)怎么说,思维能力还是要多练,明天没有考试,是好好思考的好时机(。)(update 2.20,事实上是颓了一天。。一直在颓题解,主打一个想不出来一点,加上内耗走神,一天效率都很低)
后天和大后天还有两次考试,现在已经觉得排行榜那个东西无所谓了,分低就是因为思维程度没有达到。
考完波波又在发表讲话,大致意思就是好好考试好好改题好好刷题,总会有提升的,想了想也没有别的办法了,就相信吧。
2.21
省流:真垫底了
十年OIxxx,不开long long见祖宗
T1,思路正确代码正确,没开longlong,痛失100分(如果加上这一百是不是本来可以rk10的啊就不用垫底了呜呜),如果没开longlong挂一分1km那么我大概要绕操场跑330圈,下次再也不忘开longlong了)
T2,一眼二分答案,但是没看清题(我三场模拟赛场场看错题,不考智力考视力是吧。)dp,不会,单调队列优化,不会,还改不出来,退役吧没救了。
T3,可以搜,不会,可以dp,没想到,正解就别说了,看都看不懂呢先呜呜。
T4,波波:这题解其实我也看的稀里糊涂的。但是我的暴力非常神秘地挂了20pts。
总结是好像T3T4拉不开差距,我的打暴力的策略并没有问题。以及十年OI一场空不开longlong见祖宗。
但好像改变不了给大家垫底的事实啊,呜呜。
2.22
T1是一道很有区分度的简单题,30min的时候突然一下就有思路了,只用在转的过程中维护它的上右前三个面,然后再找循环节就做完了!
T2,贪心模拟,脑残写错了memset的数组大小。
T3是最难的一道题!prufer生成树(x) 欧拉函数(√)
T4,正解折半搜索。用我的假做法竟然混到了满分???神奇,莫名其妙来的100pts,可能是rp守恒定律,昨天挂的100分今天又加回来了。
收获是暴力打满就是胜利,rk4,近期排名最高的一次虽然我也不知道怎么这么高的(?)
23-24 Term 2
3.10
省流:四道dp。
T1是一道模意义下的01背包, [USACO09MAR] Cow Frisbee Team S,最简单的一道。虽然我推的时候出了点愚蠢的问题。
T2,树形dp!求树的直径,树上最长链次长链的板子题。非常板子的up and down。
T3就开始神仙起来了!矩阵快速幂优化dp。HNOI2011数学作业
T4是神仙状压dp,近乎一点思路没有的毒瘤题。JXOI2012奇怪的道路,即使现在我都有点不理解dp转移方程。
总结:打暴力!靠自己推式子,积累做题技巧(如树形dp子树贡献直接想up and down)。
3.24
T1是shaber bfs题,就这我没想出来思路:),还拿数组写了好久,小丑。
T2,排列组合和一点概率期望,考场上推推推了好久未果,一看题解就会了!但是完全get不到正解思路,怎么回事呢。小魔女帕琪
思路:所以先在从1到7的位置下,概率为:(a1/n)*(a2/n-1)*....*(a7/n-6);
再放大一点考虑1~n中有n-6段连续的1~7;
那么概率还要再乘上(n-6);
每七个位置中,a1~7的排布有7!种;
所以得出公式 E=7!*(n-6)* (a1/n)*(a2/n-1)*....*(a7/n-6)
T3是一道暴力可以拿高分的题(指我拿了60pts!)。最后一点优化比较难想。魔法阵
T4是区间dp和状压dp的结合!好题,虽然我考场上题没读懂/kk。字符合并
总结:暴力打满,想题要认真,不要一个简单优化想不到(T3),没思路可以考虑搜索。提高搜索能力,争取写出不死循环的深搜和广搜。
4.5
省流:蓝蓝紫紫,不爆零就是胜利。
开题,三道省选题,三道概率与期望直接给菜鸡干懵了qwq。
T1,聪明的燕姿,数学题,很难想。即使改过去了也需要花很多时间理解做法。
T2,概率和期望我觉得最简单的一道,注意次数和价格之间的转化。收集邮票
T3,个人觉得最难的一道,通过题解转化,理解了其实还好(赛时这道题骗都不想骗了,过于恶心了一些。。)好好理解也不难的题解。
T4,一眼线段树,可惜拿的分还没暴力多,直接joker拿下了(雾)!思路比较巧妙,拆开算贡献。代码没什么技术含量就是简单数据结构题。甚至1A(虽然颓了代码。。)T4 高速公路
总结就是这场好难好难/ll,感觉是近期考试最难的一场,分也很低,不过靠改题努力弥补了差距,没啥好说的菜就多练呗。
5.2
省流:只会写模拟。
开场先看了一遍四道题,发现只有T1大模拟比较可做,于是准备全场冲一道题,冲出来了就还有救冲不出来就摆烂!花了2.5h冲出来了:)
T1 时间复杂度 ,注意细节,循环嵌套和对答案的贡献,先想明白了在写,不要上来直接莽,想到哪写到哪,容易出错。
T2 [CSP-S2019] Emiya 家今天的饭 ,容斥原理,从最不好满足的性质入手(即每种主要食材最多在一半的菜里使用),考虑通过枚举不合法的一列进行dp。考场上这题非常神仙啊,没怎么想出来。搜索可以拿到较高分数,好好练搜的重要性!!
T3 P7098 [yLOI2020] 凉凉 预处理巨多的状压题,除了状压两个字之外根本没想到,看题解看的很艰难,仍然要学习部分分。
T4就比较神仙了!P6623 [省选联考 2020 A 卷] 树,由于进位考虑反建Trie树,全场最恶心的一道题,直到现在代码实现里的一些细节自己写也不是很清楚。
收获是:模拟还是一样,静下心来慢慢写,一定要考虑清楚细节,不要大意,做到不重不漏,尽量以简洁的方式实现。学会打骗分,学会写搜,对于区分度较高的题,拿到较高分数的暴力非常有利。
5.3
省流:一道挂分了的水题,四道暴力。
T1 Stack of Presents ,一道想明白了就很简单的题,想不明白容易挂分(比如说我第一次写的),然而最后因为神秘原因挂了50,难绷。
T2 P5522 [yLOI2019] 棠梨煎雪 ,状压+线段树的神仙题,然而我考场上靠写暴力获得了较高分数(Day1 的反例了属于是),比较难想的数据结构题,主要难点大概在状压。
T3 打砖块 ,神仙dp题,借子弹的思想比较抽象,想不到。
T4 [NOIP2015 提高组] 斗地主 ,大模拟题,搜就可以,情况比较多,注意回溯。(然而我考场上除了骗分根本没写,试图想贪心发现假了就开始罚坐。)
粘一下代码吧
//大模拟啊哈哈哈大模拟
#include<bits/stdc++.h>
using namespace std;
const int maxn=105;
int T,n,a[maxn],b[maxn],ans,sum[maxn];
//先从顺子开始搜
void dfs(int x){
//cout<<x<<" "<<ans<<endl;
if(x>=ans)
return;
int k=0;
for(int i=3;i<=14;i++){//单顺子
if(sum[i]==0)
k=0;
else{
k++;
if(k>=5){
for(int j=i;j>=i-k+1;j--){
sum[j]--;
}
dfs(x+1);
for(int j=i;j>=i-k+1;j--){
sum[j]++;
}
}
}
}
k=0;
for(int i=3;i<=14;i++){//双顺子
if(sum[i]<=1){
k=0;
}
else{
k++;
if(k>=3){
for(int j=i;j>=i-k+1;j--){
sum[j]-=2;
}
dfs(x+1);
for(int j=i;j>=i-k+1;j--){
sum[j]+=2;
}
}
}
}
k=0;
for(int i=3;i<=14;i++){//三顺子
if(sum[i]<=2){
k=0;
}
else{
k++;
if(k>=2){
for(int j=i;j>=i-k+1;j--){
sum[j]-=3;
}
dfs(x+1);
for(int j=i;j>=i-k+1;j--){
sum[j]+=3;
}
}
}
}
for(int i=2;i<=14;i++){//枚举3或4张的牌
if(sum[i]<=3){//三张及以下
if(sum[i]<=2)
continue;
sum[i]-=3;
for(int j=2;j<=15;j++){
if(sum[j]<=0 || j==i)
continue;
else{//三带一
sum[j]--;
dfs(x+1);
sum[j]++;
}
}
for(int j=2;j<=14;j++){
if(sum[j]<=1 || j==i)
continue;
else{//三带二
sum[j]-=2;
dfs(x+1);
sum[j]+=2;
}
}
sum[i]+=3;
}
else{
//先用三带
sum[i]-=3;
for(int j=2;j<=15;j++){
if(sum[j]<=0 || j==i)
continue;
else{//三带一
sum[j]--;
dfs(x+1);
sum[j]++;
}
}
for(int j=2;j<=14;j++){
if(sum[j]<=1 || j==i)
continue;
else{//三带二
sum[j]-=2;
dfs(x+1);
sum[j]+=2;
}
}
sum[i]+=3;
//再用四带
sum[i]-=4;
for(int j=2;j<=15;j++){//四带两张
if(sum[j]<=0 || j==i)
continue;
sum[j]--;
for(int k=2;k<=15;k++){
if(sum[k]<=0 || j==k)
continue;
sum[k]--;
dfs(x+1);
sum[k]++;
}
sum[j]++;
}
for(int j=2;j<=14;j++){//四带两对
if(sum[j]<=1 || j==i)
continue;
sum[j]-=2;
for(int k=2;k<=14;k++){
if(sum[k]<=1 || j==k)
continue;
sum[k]-=2;
dfs(x+1);
sum[k]+=2;
}
sum[j]+=2;
}
sum[i]+=4;
}
}
for(int i=2;i<=15;i++) if(sum[i]) x++;
ans=min(ans,x);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>T>>n;
while(T--){
ans=1e9;
int x,y;
memset(sum,0,sizeof sum);
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
if (a[i]==0) sum[15]++;
else if(a[i]==1) sum[14]++;
else sum[a[i]]++;
}
dfs(0);
cout<<ans<<endl;
}
}
收获是:从好想好写的题入手,不会就写暴力分,保证自己会的分都拿到,注意时间分配。
5.19
省流:四道概率和期望,努力了但还是罚坐。
6.2
关网,在一场集中了我所能想到的所有弱智错误,被FST飞,直接保龄。
6.3
再次喜提有分的垫底。
2024暑假集训
是这样的,由于作者水平很菜qwq,所以基本天天改不完题,没有时间写总结,博客暂时停工。
所以以下内容99%是作者开学之后,花时间对每一场比赛进行复盘写下的反思,不一定保证题目解法清晰,重在考试策略部分,时效性极差.....
7.5
喜提T1保龄(普及组二分我check能写错,我真是天才。)后面三道题一手撑起我的得分。
7.6
IOI赛制,和昨天完全相反,20min切了T1,死磕T2一分没有,罚坐三小时。得不到分就是因为菜。
7.8
省流:得的分和挂的分一样多,T1再次怒挂40pts,T2朴素有30pts,我写了1.5小时优化写到5pts。10分钟写完的那版交上去25。
T1,在大样例的帮助下还是忘了讨论一种情况,大样例强度我真的拜谢了。
希望明天T1别挂分。
7.9
除了T1全是骗的哈哈哈哈,不过T1没挂分,好诶!
7.10
以后我写当天模拟赛总结先交代T1有没有挂分。。不过今天T1挂分是一种很新的挂分方式:眼瞎+创造+出奇的想象力。
T4眼瞎,没看见取出的两个数互质,再挂10pts,一共挂了50。
T1,弱智题目,没有除法!考虑直接对式子拆括号,化成Ax+B
的形式,想到了这个方法但是作者的眼睛创造出了除号且一直在纠结,且全场没有想过再把T1好好读一遍。
T2,普及组括号匹配,考虑贪心。
考虑用栈模拟,如果为空且为右括号,将其变为左括号并入栈,左括号直接入栈,右括号pop。人均场切题没什么好说的。
T3,紫题dp。
这个状态设计非常巧妙啊对,属实是想不到。
题解
T4是一个萌萌搜索题。
T5,二分加单调队列优化dp。考场上不会写暴力啊这样。但其实我想到二分了!
T5题解
收获是:考场上不要看错题,不要看错题,不要看错题,一定要注意读题问题。其实打这场心态还挺好的,最开始写不出T1以为是什么我不知道的科技题,没想到是我眼瞎。然后就是锻炼搜索能力。
7.11
省流:今天T1保龄,成绩表第一页只有我一个人T1是一个红色的0
,乐了。
又及:今天的模拟赛标的是 “CSP-S模拟赛”,然而考的题是蓝紫蓝紫,怎么回事呢。
bobo:这套题,等你快noip之前考应该会很容易,因为那个时候你的套路见得就比较多了,已经被考的外焦里嫩了。
T1,最短路
7.13
T1没挂分。
7.14
T1正解思路不会,只会笨蛋的 \(O(n^2\log n)\) 暴力,但是因为数组开小挂了30p。
7.15
T1是一道难评的前缀和题,对观察和乱搞能力要求很高,所以成功的在死磕 1.5h 后选择放弃,仍然只有暴力分。/kk
7.30
哇终于因为不会STL挂分了,T1vis数组开成int直接怒挂50,T4没开longlong直接怒挂18,太难评了。。。
于是鸽子决定下午花点时间把STL总结写完(恼。
8.21
哇今天模拟赛爆炸了,34pts,直接垫底。虽然我在T1调不出来T2想不出来的时候就已经预见到这个结局了。
死磕T1俩小时写了巨大长分类讨论发现第四个样例过不去,心态直接爆炸。一直在调出来T1和抓紧时间想T2T3部分分之间犹豫,结果T1没调出来T3还没写对。T3本来写了40p直接挂成5p,赛后发现都是sb错误。T2看出来了20p的特殊性质是双指针但是不会写(因为我一直不会且不理解双指针,不知道为什么),于是T2T3加起来15p。非常难过。
总之心态还是很重要的吧,虽然我也不知道为什么我考场上跟脑抽了一样一直坚信自己能调出来正解,而不是及时止损去打50p的暴力(虽然最后暴力dfs是78p的?,也不知道怎么调整到正确的答题策略上。开始迷茫自己考这么多场试真的有进步吗?还是只是又在机房坐了一暑假消耗时间罢了?
10.4
已经连续垫了两天的底了,感觉自己考场上还是不会得分,没有紧张感,时间分配多次爆炸(最后1h或者1.5h才开始急急忙忙写暴力),有正确性的搜索写不出来,写了的还经常写不对挂大分,在昨天人均150+的比赛里我努力也只能拿70......这可能就是人与人的差距吧。
以后改题一定要认真改搜,改贪心,部分分要保证能写对不挂。要提高得分的能力!!还有代码能力!!不要因为简单的错误找半天还调不出来很影响心态。