NOIP2006初赛总结

来源:互联网 发布:淘宝女运动套装大吗 编辑:程序博客网 时间:2024/06/01 07:12

NOIP2006
 
错误题号:
 
选择题:14,15,16
 
问题求解:全错
程序阅读:4
程序完善:2:4,5
 
题解
 
选择题
 
  第十四题,关键就在遍历,然而我又错了,毕竟是多选啊,又没多张心眼,分数又没了。
  第十五题考的是常识。主流的关系数据库有oracle、db2、sqlserver、sybase、mysql
  A. ACCESS ( 微软) B. SQL Server(由OIns.收集)
  C. Oracle 稳定性更高 D. Foxpro
  数据库结构类型有三类,关系型,层次型,网状型,目前接触到的数据库结构都是关系型(oracle ,SQL sever,Acess,My SQL,foxpro,sybase),
  层次型:IMS为典型代表
  网状型:DBTG为典型代表
  答案:ABCD
  第十九题答案是BD,关于A,输入可以是0……这个我也不想说什么了。NOIP,是在下输了。
   
问题求解
 
  第一题可以画一个图解决,差一点就想到了,可惜我问题求解花了不到5分钟……不是说太简单,而是看不懂,想着想着脑袋就炸了。
  

   首先,“最多能有多少个”说明只需要考虑最多能形成的子集个数(不考虑多余的部分),加上“每个子集至少有 3 个人”,那么,必须满足四个条件。如果有3个人:由(2),设A和B互不认识,由(3)C一定认识A和B,这与(1)互相矛盾。如果有4个人:A、B、C、D,由(2),至少有两个人互不认识,设A与B互不认识。由(3),可设A,B的熟人为C,于是C不能认识D,否则C就认识所有人与(1)矛盾。再由(3),可设C,D的熟人是A,于是B不能认识D,否则B也是C,D的熟人,与(3)矛盾。而B,D的熟人不能是A,否则就认识所有人,与(1)矛盾。同样,B,D的熟人不能是C。于是,B,D没有共同的熟人,与(3)矛盾。
至少5个人的子集可以满足(1)(2)(3)。以5人为例,设A认识B,B认识C,C认识D,D认识E,E认识A,此外没有其他的相认关系,显然满足所有的条件。
于是,答案为[2006/5]=401.

以上是学长们总结的,正确性显然。
 
这里写图片描述这里写图片描述这里写图片描述
  第二题,这道题主要是我想复杂了,因为路径可以从一层的左边到到右边,想着想着就想岔了,大脑在膨胀……但实际上只要考虑一层与上一层之间的关系就可以了

将每一行设为一层,易知从起点到一层内的任意一个三角形的方法数相等(每个小三角形可以到达在同层中的任意一个三角形),而能到达n层的只有n层中与n-1层相交的三角形,若此时不考虑n层中的水平移动,则到达该个与n-1层相交的三角形的方法数位到达起点到n-1层的方法数;如果n层中有m个与n-1层相交的三角形,则f(n)=f(n-1)m。这时考虑该类型图的特点,第n层中与上一层相交的三角形有n-1个,即f(n)=f(n-1)(n-1),递推得第n层方法数的通项公式为f(n)=(n-1)!,解得第10层不同通路的总数为9!,即362880

程序阅读
 
第四题 这道题就是要注意一开始有一个”Input a number:”,浑身难受,八分丢了。下次看到这些关键词一定要标记出来,提醒自己。
 
程序完善
 
这两空我都漏掉了一个条件,那就是在变化的时候元素不能在交换的区间内,因此丢了两空的分,浑身难受。
  
总结:
 
  这次考得一般啊,连zhowie都没考过,跟没考一样,时间把握很重要,不能在一些小问题上花太多时间去暴力算,关键要找到数据间的关系,留更多时间给程序阅读和问题求解。

原创粉丝点击