2021CSP-S 感想

T1

考场上我看到 \(T1\) 就想到了直接模拟,模拟飞机分配给廊桥的过程。最坏情况下的复杂度是 \((nm)\) ,最好情况下是 \((n)\) 。但是在统计答案时没用前缀和,直接把复杂度降成了 \((nm)\) 。洛谷上没用前缀和 \(45pts\) (应该是40pts),用了前缀和\(100\)分。(希望是 \(luogu\) 数据水了不然白掉 \(60pts\) 可太难受了)

优化前

点击查看代码
for(int i=0;i<=n;i++){
		tmp=0;
		for(int j=1;j<=i;j++){
			tmp+=cnt1[j];
		}
		for(int j=1;j<=n-i;j++){
			tmp+=cnt2[j];
		}
		ans=Max(ans,tmp);
	}

优化后

点击查看代码
for(int i=1;i<=n;i++){
		S1[i]=S1[i-1]+cnt1[i];
		S2[i]=S2[i-1]+cnt2[i];
	}
for(int i=0;i<=n;i++) ans=max(ans,S1[i]+S2[n-i]);

省流: \(100pts\) \(→\) \(40pts\)

一等 \(→\) 二等

T2

考试时急着拿分,想 \(10\) 分的特殊性质想了 \(1h\) ,写了 \(1h\) ,结果还写错了,一分没拿。(我吐了

T3

\(T3\)的暴力比较好打(没错我是暴力选手) , 果断dfs, 剪枝优化使复杂度由 \((2^n)\) 变成最坏情况 \((2^n)\) (也就是全为\(R\)的情况) 最好情况 \((n)\) (不太可能)

\(40pts\)

T4

还有 \(1h\) 的时候看 \(T4\) ,以为可以敲出暴力拿 \(15pts\) ,敲了一会发现不好敲于是开始检查前面的题(这都没检查出 \(T1\) 前缀和的问题我也是服了)

这次考试的主要问题我觉得还是在打代码前没有想清楚算法的步骤,应该在敲代码前花一小会时间理清思路,写下算法步骤,处理方法。

不能写到哪里发现问题才现想,不仅效率不高,思路混乱,而且如果想不出来 \(solution\) 之前打的就作废了,还有暴力优化什么的还是要想,说不定 玄学 复杂度就能卡过很多点。

接下来 \(20\) 多天的做题计划,主要是 \(DP\) 题和数据结构题,巩固学过的知识,多做例题加深理解。

CSP-S 的遗憾,希望不会在NOIP中重现。保持信心,加油!

posted @ 2021-10-25 09:15  一张十万元  阅读(51)  评论(0)    收藏  举报