CSP-J2011模拟赛#3----考试总结

​​​​​T1-面试

说起这道题其实我刚看到的时候感觉挺简单的——但不得不说木有事情是绝对的;

我看到一个0分时我蒙了。

错因(挺可悲 ):没清空计数器

加上一个a=b=c=d=0后一百分拿到手。不得不说细节决定成败-;

反思:注意严谨做题,注意细节(例如:清空计数器)

​​​​​T2-Excel计数器

思路:刚看到这道题的时候几乎没有思路(大概我太菜了)。盲点主要集中在不会把数字转成字母

以下klz大佬的方法(看懂了)——

先用一个数​​​​​组把A-Z存起来,接着用一个while数组模拟一下:

while(n!=0){
		ans=ch[n%26]+ans;
		if(n%26!=0) n/=26;
		else n=n/26-1;
	}

 

错因:数字转字符串不熟练,思路不清晰

反思:该类题以要多练

​​​​​T3-纸牌游戏

所有试题中我唯一做对的一道题——好悲催

思路:该题是一道贪心题。先要找到他们之间的奥秘------

我们发现,当a i > = n − i 时,此时的n-i+1就是要求的答案,因为满足a i > = n − i 时,当你的牌被别人拿了一些后,你就可以通过拿走别人的补回你自己的牌数,自然就可以补回来。
代码:

sort(a+1,a+1+n);
	for(int i=1;i<=n;i++)
	{
		if(a[i]>=n-i)
		{
			cout<<n-i+1;
			return 0;
		 } 
	}

T4-涨薪

思路:对于3档的分, 表示不存在绩效为 人。那么直接算出 年之后绩效 两类人的工资总和即可。对于 第四档的分,在第三档的基础上用快速幂 计算出 与 即可。 这样你就拿到了 分了。考虑 做法,可以知道 基础工资越高的人留下来,对于 年后的总工资和就越大。 所以可以直接贪心, 将 排序。 按照 的值从大到小去分配 三种绩效。 最后加上快速幂求出答案。

 错因:其实我压根就没写  That is too difficult to me!!!

反思:其实在考试的时候一分都 不要错过!定要竭尽全力拿到部分分,亲人们!

一定要注意看数据范围的档。

怎么写部分分?

分段保证你的部分分做法不出错误的时候,前面分段写部分分做法。 后面再写满分或者骗分的代码。包你得到最低分

上一篇:Gitlab安装与备份恢复


下一篇:[CSP-S2020] 贪吃蛇