NOIP——2013——复赛的总结与反思
pascal吧
全部回复
仅看楼主
level 11
欢迎讨论!
在充实自己的同时,
顺便给别人解惑!
2013年11月09日 10点11分 1
level 11
第一题,[水],和往年的数字统计大同小异。
2013年11月09日 10点11分 2
level 3
第二题怎么做。。是高精吗
2013年11月09日 11点11分 3
普及租吗?不用啊,取最后四位算就好了
2013年11月13日 15点11分
不需要
2013年12月15日 01点12分
level 11
搞定。
对于普及组来说,
第一题数字统计很水啊,直接过。
第二题表达式求值,与往年相较之下,更简单了些。
字符串输入,用数组A记录数字,用数组B记录“+”,“*”符号。但没有注意数据范围,估计能得个20分。
第三题用多维数组记录数,特征数,分数。真是作死。一开始还可以,但是后来再试就冒出来一个“200”错误,晕,但幸好存了盘,所以估计20分;
第4题我的想法是这样的:
车站入车;
1 3 5 6
3 5 9
3 和 5有重叠(不包括始发站和终点站)所以输出2;
但仍是不适意!还是估计20分。
2013年11月09日 11点11分 4
第二题可以去研究下计算器原理,你就知道二题十分简单
2013年11月09日 13点11分
第二题需要int64,一步一步处理 ,10000个运算符无压力
2013年11月10日 02点11分
可是一个数字就2的31次方
2013年11月10日 05点11分
第二题就是取后四位,每次运算之后都mod 10000就行了
2013年11月23日 02点11分
level 11
这是我高中的学长的话
对于提高组来说:
今天感觉还妥。
进场后先调了下机子,没有什么大问题。看卷子大概用了十多分钟,决定按照123的顺序来做。然后重新看了一下卷子确定一下算法。
第一题:开始先写了一个暴力版的……直接硬上,不过可能过60%的感觉,不用任何优化,不用高精度……然后去搞了一下第二题。这是后话啦。后来折回来,觉得可以用倍增思想搞。思路如下:
由于k<10^9所以指数可以直接用longint搞。然后用倍增思想和对数的把乘法变成加法的思想,可以用高精度快速优化出10^k关于n的模。
最后式子就很简单了
x:=(x+m*10^k) mod n
应该可以过100%吧……
第二题:看完题后,觉得那个数据范围基本已经锁定贪心了……这个贪心很好想,以至于不敢相信……
我们假设第一排的第i个火柴高度为xi,第二排的为yi,那么不妨有i<j且:
xi<xj,yi>yj
那么可以发现(xi-yi)^2+(xj-yj)^2>(xi-yj)^2+(xj-yi)^2恒成立,所以为了取到最小距离,则点集(xi,yi)一定是单调的。
然后按照这个思路,先离散化,接下来就是统计逆序对。不过我的技术思路好像有点不一样,虽然我验证了几组数据,而且做了一点证明,认为我的方法应该也对……
第三题:鬼畜的数据范围已跪。spfa硬上,目测60%数据左右。当时没有想到并查集的做法,并查集虽然也是60%但是会更稳定……后来出来的时候,听到又有人用最大生成树+倍增思想搞,不懂,求教
2013年11月09日 11点11分 5
最大生成树
2013年11月16日 01点11分
level 2
第一题用不着高精度。。。。由a*b mod n=(a mod n)*(b mod n)mod n可以直接用长整型快速幂,我用的int64可能更保险一些;第三题看到数据范围我本来打算骗分的,最后五十分钟想到最大生成树了,结果竟然没!编!完!求安慰。。。。
2013年11月09日 12点11分 6
level 1
我普及组的:
1.第一题不说了
2.第二题,弄一个longint数组,先读一个,后面读下来,数字前面是*就与前一个相乘,是+就向后进一,最后加起来
3.第三题只是题有点难懂,开三个一维数组搞定
4.第四题用楼主的数据
1 3 5 6
3 5 9
由第一个可知车子跳过了2、4,说明1、3、5、6层数都比2,4大
设最小为一,则1,3,5,6为2
由第二个可知车子跳过了4,6,7,8所以3,5,9都比4,6,7,8等级高,因为6为2级,所以3,5,9最小为三级
答案为3
(不过第一个因该是站台数)
2013年11月09日 12点11分 7
话说第二题longint数组可以吗
2013年11月09日 16点11分
回复 大爱赵奕欢欢 :可以,但每次要记得取MOD
2013年11月10日 03点11分
回复@CYZ2012love :没取,我跪了等爆零
2013年11月10日 03点11分
我第三题文件错了
2013年11月10日 03点11分
level 1
第一题实际上。。。。。
转化成字符串一个个统计时间都够
2013年11月09日 12点11分 8
最大时才1000000
2013年11月09日 12点11分
level 5
普及组Pascal:
第一题:枚举改字符串,一边pos一边delete一边inc(ans)
第二题:
我的解法:
读入字符串,算出每一个乘法,将这两个数和符号用答案代替,直到pos(X)=0为止;
继续字符串,算出每一个加法,将这两个数和符号用答案代替,直到pos(+)=0为止;
最后剩下的就是答案的字符串,每次运算要分离和mod 10000;
第三题:
我们老师出过类似的题目=。=
求出最大子串【根本没有听课的路过】,然后直接递推求出ans;
【之前想过贪心、暴力算法还有递归,最后实现出来的程序比第二题短】
第四题:
水,不解释
不过有个思路:因为一定有分level【不然题目没有意义】,所以最起码值为2;
将每个站点出现的次数记录下来,就像计数排序那种记录,出现次数最多的肯定是最高级的;
出现次数最少就是最低级的啦~两值相减输出……
2013年11月09日 12点11分 9
这一大堆东西是我很用力拉出啦的
2013年11月09日 12点11分
- -第二题解法相同,,但是当我用ansistring的时候201了。。硬着头皮打了文件,,运行时没有错误,,又想起学长说的201交上去满分我就硬着头皮交了。。。答案妥妥的就是在纠结201.。。
2013年11月10日 04点11分
回复 丿怎会看不穿 :我刚刚开始也是201.结果我发现ansi似乎不能用在while上,改了for就好了。第二题傻傻的用了高精度,不知道就只要mod10000就可以了。
2013年11月11日 10点11分
回复 彩虹_希望 :201能过的。。文件打下去就过了。。他那种假溢出之前也有见过。。
2013年11月13日 04点11分
level 11
[不高兴]你们啊
2013年11月09日 12点11分 10
level 7
我是普及的
第一题,水,不解释
第二题,CHAR一个一个读,读到加,如果上一个符号是乘,把上一个乘了加进总数,否则直接加进总数;
乘,如果上一个符号是乘,把这个数乘了上一个数,结果标记为“上一个数”;否则直接标记为“上一个数”,最后直接出来了,瞬秒的节奏啊
不过这道题必须每一步都精简到四位数,否则要遭时间卡
第三题,一步一步算就出来了,只用FOR循环和IF就可以了,读懂题就简单。。
第四题思路同上,不过我本来做对了的被我给改错了....................郁闷中[委屈]
2013年11月09日 13点11分 11
7L的4题思路十分好
2013年11月09日 13点11分
总数longint够吗?
2013年11月09日 16点11分
回复 大爱赵奕欢欢 :第二题就算一步一步处理到四位,在乘法longint时9999×9999似乎还是要报错,2题需要int64或者qword,或者在算法里把乘法处理好,其他题longint够了
2013年11月10日 02点11分
回复@sh717杨 :跪了,会不会暴零
2013年11月10日 02点11分
level 5
我有几个问题。。
国一线大概是多少?
对于像我这种只学了一年的pascal的渣渣拿一等的概率又是多少?
第四题怎么解?
最快什么时候有成绩?
2013年11月09日 16点11分 12
level 11
这次的题目较之往年比较水,估计国一线在150分吧。
考一等的概率不在于你学了多久,而在于你有没有认真去学,有没有认真去考。
第四题嘛似乎用
最快什么时候有成绩?大概在11月20日左右
2013年11月09日 23点11分 13
国一150?这么低?
2013年11月10日 02点11分
噗,那岂不是铁定一等
2013年11月10日 06点11分
level 3

2013年11月10日 02点11分 14
level 5
第一题我用了一个for循环
2013年11月10日 04点11分 15
for循环也可以,我也是用for循环,但还加了while循环,估计时间复杂度爆了,运气好就只能拿80了
2013年11月11日 10点11分
level 13
11.20那么早啊。。。。。我这个傻×2、4全因为CE、RE错了,一气之下把前面程序也删了。。。。估计也只有我一个人会犯这种低级得不能再低级的错误吧。。。。
3个一眼题估计就拿150。。。第四题拓扑+搜索+递推估计也就50左右。。。回学校被笑去了。。。
2013年11月10日 07点11分 18
level 8
第一题字符统计就可以了
第二题我是先乘再加,不过11楼的方法更好
第三题递推求最大值
第四题骗分吧,老师都说没那么简单
2013年11月10日 11点11分 19
level 11
第一第二水
第三没开int64…
第四用7楼方法但是一遍遍做
开数组记录每个站等级
每次刷新直到无变化…
就怕超时…
2013年11月10日 19点11分 20
level 1
哎,我出来的时候自我感觉良好,现在一想,有问题。
前两题方案同上。
第三题最大字段和,但是,我直接mod就输出了!!
他们说,如果是-2 mod 2,应该输出-0.不应该啊!
第四题,读入n^3预处理,然后拓扑(n^2)。总得给我骗几分啊!
2013年11月16日 00点11分 21
卧槽,惊现大彪神ORZ
2013年11月16日 02点11分
用最大字段和会超时
2013年11月16日 15点11分
@28959377 最大字段和是On,怎么可能会超
2013年11月17日 01点11分
level 9
诶复赛orz了,最多只有390了。。
2013年11月16日 01点11分 22
1 2 尾页