noip2011

时间:2024-10-06 09:34:37编辑:揭秘君

求NOIP2011复赛普及组题目详解 PASCAL

第一题注意负数,注意有可能出现-0(虽然我也不确定有没有);
第二题一个单词一个单词地读(用空格隔断),读一个比较一个;
第三题模拟,不断排序;(但我估计会超时)
第四题用分治,先寻找括号外的加号,没有的话就寻找括号外的乘号,把找到的那个地方的左右两边分别计算在合在一起。注意去括号,注意最后的递归边界。计算时住随时mod 10007(可以用数学的余数定律证明这样不会改变结果)。但着也不能过全,递归到十二万多层就崩溃了。不过至少可以过一半


noip第13届普及组初赛试题的一题不会,请高手指教

设n个元素的集合可以划分为F(n,m)个不同的由m个非空子集组成的集合。

考虑3个元素的集合,可划分为
① 1个子集的集合:{{1,2,3}}
② 2个子集的集合:{{1,2},{3}},{{1,3},{2}},{{2,3},{1}}
③ 3个子集的集合:{{1},{2},{3}}
∴F(3,1)=1;F(3,2)=3;F(3,3)=1;

如果要求F(4,2)该怎么办呢?

A.往①里添一个元素{4},得到{{1,2,3},{4}}

B.往②里的任意一个子集添一个4,得到
{{1,2,4},{3}},{{1,2},{3,4}},
{{1,3,4},{2}},{{1,3},{2,4}},
{{2,3,4},{1}},{{2,3},{1,4}}

∴F(4,2)=F(3,1)+2*F(3,2)=1+2*3=7

推广,得F(n,m)=F(n-1,m-1)+m*F(n-1,m)


第十六届noip普及组的答案 pascal语言 急求 今天回答的再加100分

我初赛78分哈,初赛算是挤进了......
一、

1-10 DAADADBDCB
11-20 DABBBAADCD

二、 1. {2-2-1-2-3-1-1-3-4-3-1-2-1-3-5-3-6}
2. 49种

三、1. 2_20_77_91("_"指一个空格,下同)
2. 99_101_111_
3. 120_112
4. (1) 1 (2)4

四、1. (1) tmp:=true
(2) p[j]
(3) p[r]:=i
(4)p[j]+p[k]
(5)1004

2. (1)num<=2
(2)go(LEFT_TO_RIHGT)
(3)pos[i]=LEFT
(4) time[i]+go(RIGHT_TO_LEFT)
(5)pos[i]:=LEFT
好不容易的......


上一篇:温暖依然

下一篇:没有了