NOIP2007 初赛赛后总结

本文回顾了一次编程竞赛的经历,详细分析了选择题、问题求解、程序阅读和完善部分的答题情况,指出了常见的错误类型,并提出了改进策略。

黎明杀稽

错误题号

选择题:

2,5,9,12,13,20

第二题

  这道题完全是道常识题。然而……我不知道……答案是E,二维表。

第五题

  这道题的关键是^的优先级高于|,因此先计算^。运算符优先级

第九题

  这道题是一道图论题,对于D有如下反例,这题我完全靠懵
  反例

第十二题

  漏了一个选项,还是不够细心

第十三题

  算错了ORZ!!!都是不该失的分。

第二十题

  玄学常识题

问题求解

  全错……全错……全错……
  很强

第一题

  鬼知道这是DP。。。
  搞事
  定义S(n,m)是前n个球放在m个盒子里且没有空盒的方案。
  转移的方程:S(n,m)=S(n-1,m)*m+S(n-1,m-1).考虑第i个放置位置,如果当前m个都不是空的,i可以放在m个中的任意一个位置,如果第m号是空的,那么i只能放在第m号上。
  这道题我第一反应是组合!然后发现错的一塌糊涂。如果有能够递推的方法,就尝试着用递推来做,而且……正确性显然!!!!

第二题

  这道题啊,我也不想说什么了,很难受,找规律没找出来,我模拟半天没模拟出来,后来才发现不对,但时间就剩一点了,很无奈。

程序阅读

  前两题,一道是强搞,一道是指针,全都错了,不过第三题和第四题的堆写出来了,还是小有成就的,可惜,没什么用,最基本的第一题都错了,很伤。

第二题

  首先,应该知道x,y分别代表a,b的地址,fun函数的功能是交换两个地址。指针交换地址,值是不变的ORZ。

程序完善

  主要还是没有时间了,看半天,看不懂,浑身难受。最后只能把能想到的都写上去了。其实还是策略出了点问题,第一步不应该是看代码,而是想一想自己碰到这个问题会怎么做,顺便可以带一点小数据算一下。

第一题

  第一个空显然不能错啊ORZ,乘号打成x,这种低级错误千万不能再犯了。后两个空一个是规律没找对,太急了,另一个又是大意了,应该倒序输出的,结果我正序输出了。都是低级错误堆起来的啊。

第二题

  看!不!懂!
  黑人问号
  1.backtrace函数就是爆搜找到最优解,i是还未确定面值的一层,i-1是已经确定面值的一层,先用i-1去更新y数组,即达到k这个值用的最小的邮票数。当前数的范围在[0,x[i-2]×(m-1)]中,因为还未使用x[i-1],且至少有一张要用作x[i-1].因此最大值是X[i-2]×(m-1);
  2.3两个空的答案都是j+x[i-1]×k.利用dp的思想,更新y数组。表示原来的数是j,用k张y数组,数变为j+x[i-1]×k时的最小邮票数量。
  4.答案:r-1.r是用当前邮票不能达到的最小的总值。
  5.答案:x[i-1]+1.因为邮票的面值是按照下标递增的,所以下一个至少会比上一个大1.
  6.backtrace(i+1,r).当前层确定好之后,去下一层。

总结

  这次很不理想,不过也习惯了,也不是第一次了,这些小错误都要及时去除,争取一次过初赛!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值