2017-9-13 NOIP模拟赛[xxy]
全排列
(permutation.cpp/c/pas)
Description
從 n 個(gè)不同元素中任取 m(m≤n)個(gè)元素,按照一定的順序排列起來,叫做從 n
個(gè)不同元素中取出 m 個(gè)元素的一個(gè)排列。當(dāng) m=n 時(shí)所有的排列情況叫全排列。
你覺得 xxy 會(huì)問你全排列的個(gè)數(shù)嗎?Xxy:這個(gè)問題能淹死你,我才不問呢。我
要問的是求 n 的全排列中,先遞增后遞
減、先遞減后遞增的全排列的個(gè)數(shù)。由于答案可能很大,對(duì) p 取余
Input
輸入包含多組測(cè)試數(shù)據(jù)每組測(cè)試
數(shù)據(jù)一行兩個(gè)整數(shù) n,p
Output
對(duì)于每組測(cè)試數(shù)據(jù)輸出一行表示答案
Example
permutation.in permutation.out
3 5 4
2 233 0
Hint
設(shè)數(shù)據(jù)組數(shù)為 T
對(duì)于 10%的數(shù)據(jù),n<=10,p<=1000,T=1
對(duì)于另外 10%的數(shù)據(jù),n<=12,p<=1000,T<=12
對(duì)于另外 10%的數(shù)據(jù),n<=100,p<=100000,T<=100
對(duì)于另外 10%的數(shù)據(jù),n<=100000,p<=1000000,T=1
對(duì)于另外 10%的數(shù)據(jù),n<=100000,p<=1000000,T<=1000
對(duì)于另外 20%的數(shù)據(jù),n<=1e9,p<=1e9,T<=1000
對(duì)于 100%的數(shù)據(jù),n<=1e18,p<=1e18,T<=1000
?
埃及分?jǐn)?shù)
(egypt.cpp/c/pas)
Description
對(duì)于一個(gè)分?jǐn)?shù) a/b(a!=1),將它表示為 1/x + 1/y + 1/z ……的形式,x,
y,z……互不相同。
多解取加數(shù)少的。加數(shù)相同時(shí),取最小的分?jǐn)?shù)最大的,最小分?jǐn)?shù)相同時(shí),取次小分
數(shù)最大的,以此類推。
輸入保證 a<b 且 gcd(a,b)=1
Input
輸入包含多組測(cè)試數(shù)據(jù)每組測(cè)試數(shù)
據(jù)包含一行 2 個(gè)數(shù) a,b
Output
對(duì)于每組測(cè)試數(shù)據(jù),輸出一行表示答案,只輸出分母,每個(gè)分母之間空 1 格
從小到大輸出
Example
egypt.in egypt.out
5 6 2 3
8 9 2 3 18
Hint
對(duì)于 10%的數(shù)據(jù),a,b<=10
對(duì)于另外 10%的數(shù)據(jù),a,b<=100
對(duì)于另外 20%的數(shù)據(jù),a,b<=10000
對(duì)于另外 30%的數(shù)據(jù),a,b<=100000
對(duì)于 100%的數(shù)據(jù),a,b<=1000000
由于本題時(shí)間復(fù)雜度不隨數(shù)據(jù)范圍的遞增而遞增,在此給出 std 耗時(shí):
30% <=0.01s
10% <=0.2s
40% <=0.5s
20% <=0.9s
?
走樓梯
(stair.cpp/c/pas)
Description
由于經(jīng)典走樓梯問題被 xxy 升級(jí)了 2 次,上帝非常滿意,所以當(dāng) xxy 完成這最
后一次跳躍時(shí),會(huì)有一定的幾率開啟輪回之梯。輪回之梯有 n 階,每一階上都會(huì)有一個(gè)
輪回指數(shù),xxy 用不同的策略走到輪回之梯的第 n 階,會(huì)得到不同的輪回值。
由于輪回之梯不是普通的樓梯,每走一步需要消耗極大的體力,xxy 體力有限。上
帝允許 xxy 在中途休息。所以 xxy 如果在第 i 階,他可以選擇立刻走到第 i+1 階,也可
以選擇在第 i 階休息一會(huì)兒。休息和立刻走看做不同的走樓梯方式。
上帝說:我現(xiàn)在給你提供所有臺(tái)階的輪回指數(shù),我需要你回答所有不同的走輪回之
梯的方式獲得的輪回值之和。如果某種方式你算不出來,你可以親自去走一遍。你走的次數(shù)
越少,就會(huì)有越大的幾率開啟六道輪回。Xxy 非常想開啟六道輪回,但由于之前在樓梯上跳
來非常累,現(xiàn)在不想動(dòng)彈,連飛也不想飛。所以只能在求助學(xué)信息學(xué)奧賽的你了。
輪回值計(jì)算方式:
輪回值為所有的輪回子值之和。
設(shè)第 i 個(gè)臺(tái)階的輪回指數(shù)為 xi,如果 xxy 連續(xù)從第 L 階走到第 R 階,那么
xxy 可以得到的輪回子值為 xL 一直累乘到 xR。特別的,當(dāng) L=R 時(shí),輪回子值為 xL。
注意:xxy 開始在輪回之梯的第 1 階,可以選擇先休息一會(huì)兒,也可以立刻走到
第 2 階。走一遍輪回之梯指的是從第 1 階走到第 n 階。
由于答案很大,上帝可不想看到幾千幾百個(gè)數(shù)字,所以你只需要告訴他答案對(duì)
1000000007 取模。
Input
第一行一個(gè)整數(shù) n。
接下來 n 個(gè)整數(shù),表示 xi
Output
輸出一行表示答案
Example
stair.in stair.out
2 30
1 2 4
Hint
對(duì)于 10%的數(shù)據(jù),1<=n<=10,1<=xi<=10
對(duì)于另外 20%的數(shù)據(jù),所有的 Xi=1
對(duì)于另外 20%的數(shù)據(jù),n<=100,xi<=1e5
對(duì)于另外 20%的數(shù)據(jù),n<=1000,xi<=1e5
對(duì)于 100%的數(shù)據(jù),n<=100000,xi<=1e9
?
轉(zhuǎn)載于:https://www.cnblogs.com/thmyl/p/7515161.html
總結(jié)
以上是生活随笔為你收集整理的2017-9-13 NOIP模拟赛[xxy]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: halcon 缺陷检测 表面凸点检测
- 下一篇: 部分英文常用口语单词(30%转贴+70%