NOI Mode - 西北工业大学明德学院算法兴趣小组第一次校内选拔赛后总结
链接:http://60.205.225.45/contestrank-oi.php?cid=1001
结果分数是,第一是658,第二是354,第三是300,第四是209,第五是202,第六是 162,第七是141,第八是106,余下6个均不足100。
ABC为填空,DEFGHIJ为代码题。
A为直接搜索即可得到答案,B需要应用long long数据结构,C是防AK题。
D题是一个计数排序题(其实一开始是个可分背包,后来改成现在的题面了)。
18级提供的唯一解是
for
(
int
i=0;i<n;i++)
for
(
int
j=i+1;j<n;j++)
if
(a[i]+a[j] == m &&
abs
(a[i] - a[j])<k)
N^2的搜索。。。亮点就是用于求绝对值的abs函数。
E题是一个简单的01背包
一个94分的181039同学写的是搜索
84分的181110同学看成可分背包了吧。
181274同学和181117同学的91分解:
int
dp[10000]={0};
for
(i=0;i<n;i++)
for
(j=m;j>a[i];j--)
{
dp[j]=max(dp[j-a[i]]+b[i],dp[j]);
183266同学的ac解:
memset
(dp,0,
sizeof
(dp));
for
(i=1;i<=n;i++){
for
(j=m;j>=a[i];j--){
dp[j]=max(dp[j],dp[j-a[i]]+b[i]);
问题在于181274同学没有等于号,很遗憾。也成为前四唯一没过01背包的辣个蓝人。
F题考查
next_permutation函数,很遗憾,唯一正解是一个深度优先搜索
G题是大数乘法模拟。
H是标准深度优先搜索。
I是二维背包。非原创大题。
J是唯一的难题,宽度优先搜素。H题的代码改一改还是能跑一点分数的。
总得来说,这套题偏难偏基础,D题没人正解,我觉得是我的教学有问题,
关于比赛出题考虑:
1.比赛中做出题目,得到好的名次,可能起到肯定和鼓励作用;没做出题,没得到好的名次,也可能起到提醒和激励作用。将比赛看作一种育人手段,那么手段好或不好,其实是看对人的影响,而不是简单看比赛结果。
2.一场经过选拔、经过筛选才有资格参与的大学生比赛,放一道连许多小学生都能完成的题目,真得合适吗?
3.希望各位能领悟icpc的精神:ICPC是由美国计算机协会(Association for Computing Machinery)于1970年发起组织的国际大学生程序设计竞赛(International Collegiate Programming Contest,简称ICPC) ,是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。icpc是表演赛,并非是类似高考的选拔赛。
诸位,最开心的是,经历这么多故事后,还可以像以前一样战斗!共勉。
欢迎来我们oj刷题
oj地址:http://www.npumdacm.top/