2020 8 23NOIP模擬賽 數學 失落

2021-10-24 01:21:45 字數 1281 閱讀 3501

題目描述

出題人心情很失落,於是他直接告訴你讓你求出乙個集合中所有數所不能湊出來的最小的數是多少。

輸入格式

第一行乙個整數nnn。

第二行n

nn個整數a

ia_i

ai​​。

輸出格式

乙個整數表示答案。

輸入輸出樣例

輸入 #1

3

5 1 2

輸出 #1
4
說明/提示

對於30

%30\%

30%的資料,滿⾜n≤15

n \le 15

n≤15

。對於60

%60\%

60%的資料,滿⾜n

≤1000

n \le 1000

n≤1000

。對於100

%100\%

100%

的資料,滿⾜n

≤100000,1

≤ai≤

109n \le 100000, 1 \le a_i \le 10^9

n≤1000

00,1

≤ai​

≤109

。解題思路

先把數排個序

對於每個a[i

]a[i]

a[i]

,我們看看它能不能接上前面的數所能組成的最大數

因為1 ≤a

i1 \le a_i

1≤ai

​,不管怎麼跟其它數組合也不可能比原數小

到a [3

]=5a[3]=5

a[3]=5

時,前面所能組成的最大數是3

33,所以5

55並不能接上,

code

#include 

#include

#include

using namespace std;

int n;

long long a[

100100

], num;

int main()

else num=a[i]

+num;

printf

("%lld"

, num+1)

;}

noip模擬賽 立方數

題目描述 lyk定義了乙個數叫 立方數 若乙個數可以被寫作是乙個正整數的3次方,則這個數就是立方數,例如1,8,27就是最小的3個立方數。現在給定乙個數p,lyk想要知道這個數是不是立方數。當然你有可能隨機輸出一些莫名其妙的東西來騙分,因此lyk有t次詢問 輸入格式 cubic.in 第一行乙個數t...

noip模擬賽 拼不出的數

分析 如果每個數可以選任意多次,那麼就是乙個很普通的dp問題,這裡每個數只能選一次,還是考慮dp,設f i 表示1 i是否都能選上.考慮下乙個數j,如果j i 1,那麼i 1這個數就選不上,答案就是i 1,否則f i 可以轉移到f i j 這個演算法是建立在集合有序的情況下的,所以要先排序.incl...

noip模擬賽 密碼

表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...