小x學習了dfs,為了練習搜尋,開始給自己出題玩。
玩著玩著,一會把自己難住了,一會又被自己難倒了,真是有趣誒!
小x出的題:
現在有n個不同的正整數,求它們可以組成多少個這樣的集合,滿足:
第一行,乙個正整數t(t<=20)表示資料組數。
對於每組資料,有兩行。第一行為乙個正整數n(3≤n≤25),第二行為n個用空格隔開的正整數xi(xi≤200)。
對於每組資料,輸出一行乙個整數表示題中所描述的集合的個數。
152 3 5 8 1
6
,,,,,.
思路:對每個數依次dfs搜尋,加入下乙個數時檢視是否滿足題意
#include#includeusing std::sort;
int a[30];
int cnt = 0;
int n;
//上次的陣列元素下標,長度,間隔的最小值
void dfs(int index, int length, int smallest)}}
}int main()
return 0;
}
CSU1973 給自己出題的小X
本題本意是搜尋題,直接小優化剪枝裸搜即可,然而可以dp,看了石文斌的題解,設f i j k 為前i個數,選出j個,相差大於k的方案數,先預處理 f i 1 k 1 f i j k f l j 1 k 之和 a i a l k,a陣列先預處理成從小到大排序的序列 序列順序不影響方案數的 然後統計f i...
自己給自己的「坑」
斷言旳為200,實際上返回的401 debug發現teacher的使用者名稱和密碼和我設定的是一樣的,但就是登入失敗,返回狀態401我用了最笨的方法找到了問題出在了那,看了很多遍教程,最後把老師的 拿過來發現沒問的,一點點對照出來 發現username字母大寫了,而是實體中是小寫的debug時 斷點...
給自己寫的
多吃些粗糧.給別人比他們自己期許的更多,並且用心去做 熟記你喜歡的詩歌 不要輕信你聽到的每件事,不要花光你的所有,不要想睡多久就睡多久。無論何時說 我愛你 請真心實意。無論何時說 對不起 請看著對方的眼睛。相信一見鐘情。永遠不要忽視別人的夢想。深情熱烈地愛,也許你會受傷,但這是使人生完整的唯一方法。...