分析:如果每個數可以選任意多次,那麼就是乙個很普通的dp問題,這裡每個數只能選一次,還是考慮dp,設f(i)表示1~i是否都能選上.考慮下乙個數j,如果j > i + 1,那麼i+1這個數就選不上,答案就是i+1,否則f(i)可以轉移到f(i + j),這個演算法是建立在集合有序的情況下的,所以要先排序.
#include #include#include
#include
using
namespace
std;
int n, a[100010
];long
long
sum;
intmain()
else
sum +=a[i];
}printf(
"%lld\n
", sum + 1
);
return0;
}
noip模擬賽 立方數
題目描述 lyk定義了乙個數叫 立方數 若乙個數可以被寫作是乙個正整數的3次方,則這個數就是立方數,例如1,8,27就是最小的3個立方數。現在給定乙個數p,lyk想要知道這個數是不是立方數。當然你有可能隨機輸出一些莫名其妙的東西來騙分,因此lyk有t次詢問 輸入格式 cubic.in 第一行乙個數t...
2015 10 31的NOIP模擬賽
這是noip前的最後一周了。第一題是個組合數學的問題,規模不算太大。但第一反應就直接dp了,o n 2 的複雜度,始終想不到優化。本來看著1 3 4 6 10 15一串串數覺得多熟悉的,就是想不起來那是組合數。最後只有80分 第二題算是基本想到了吧,但是忽略了乙個問題 我的想法是每行0的個數要麼是當...
noip模擬賽 密碼
表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...