2017.1.16【初中部 】普及组模拟赛C组总结

2017.1.16【初中部 】普及组模拟赛C组

这次总结我赶时间,不写这么详细了。
话说这次比赛,我虽然翻了个大车,但一天之内AK,我感到很高兴


比赛 0+15+0+100=115
改题 AK


一、chicken

好难啊!好简单啊!

题目简化

求输入的几对x,y中最小的x/y*1000

比赛思路

难!难!难!这什么意思啊?

比赛过程

算几下不知何意,跳过之

错因

不懂题目意思,语文差

正解

扫一遍,包括第一个,取最小的。


二、match

好简单,好难,好繁杂

题目简化

往九宫格内填字母,得出六个单词。
给你六个单词,问九宫格?

比赛思路

设此方阵是这样的:

123
456
789

然后这六个单词加起来是这样的:
123 147 456 258 369 789
枚举六个单词的顺序(我把单词反过来的也加上了)
最后疯狂地打if,判断是否符合以上的格式,
再压缩成’123456789’的形式
和ans比较,小于则替换ans

比赛过程

完美地码完了程序,结果发现漏洞,
经过无数次调试后(Pascal本身就不好调试,且学校的Pascal2.0.4不能直接调试,家里的不知为何出了问题……),
接近3小时改完了低级错误。我交上去骄傲地以为会AC,结果……

错因

  1. Windows和Linux系统不同,可能出现了某些差异。
  2. 单词反过来不用算

正解

先横着枚举3个单词,然后竖着看看是否符合条件(有没有此单词?有没有重复?),记住不要把它反过来,不算的!
最后和ans比较,小则替换


三、cirs

和WZK打雪仗基本一样,但……我忘了

题目简化

圆上n对点以线连接的方案数

比赛思路

找规律,不得,弃之。

比赛过程

没做

正解:

我听别人说可以用模拟的方法,于是我想到了这么个画面

成百上千条代码
用数组开一个类似于平面直角坐标系的东西,每个格子为一个点,数组越大越精确
以O为圆心,作一圆(越大越好),线化成数点
平分圆,标上顶点
枚举二点,连接之,将中间的线化为数点,标记之
若连线是交于标记过的点,退出之
统计ans,输出之

若如此,必时超之,类似于画图软件。何大神可以此思路编程,而于一秒之内?

好了,模拟的方式其实类似于递推+枚举,别想多了。
不说模拟,说zhongjunquan的正解
设f[i]为n=i时的答案
f[0]=f[1]=0;
i=2~n
j=0~n-1
f[i]+=f[j]*f[i-j-1];
为什么?每次都把圆分成两部分,就变成前面算过的了。


四、wtaxi

这题虽然简单,但我还是把它列入好题之中吧
【9.14NOIP模拟pj】wtaxi 题解


题外话

  1. 为什么,同学们普遍会第四题DP,却不会DFS?(感觉我好另类)
  2. C++中的STL标准模板库很好用,且NOIP给用;Pascal中的Math库NOIP居然也给用!
  3. 总结我要少打点,要分轻重,节约时间来AK
posted @ 2017-01-16 18:53  jz_597  阅读(109)  评论(0编辑  收藏  举报