牛客程式設計巔峰賽S2第8場

2021-10-12 02:53:55 字數 1567 閱讀 9779

牛牛想把乙個數拆成兩個不相等的正整數之和,他想知道一共有多少種拆法,只不過他不知道該如何解決這個問題,所以他想請你幫忙。

給定乙個數n,返回將這個數n拆成兩個不相等的正整數之和一共有多少種拆法。

注:3=1+2和3=2+1視為同一種拆法

輸入
返回值
class

solution

};

題目描述
牛牛有現在有n個物品,每個物品有乙個體積v[i]和重量g[i],他想選擇其中總體積恰好為v的若干個物品,想使這若干個物品的總重量最大,他想知道最大總重量為多少。(如果不存在合法方案,返回-1)

輸入
[1,2,3],[2,3,4],3

返回值
說明
可以選擇前兩個物品,總體積為1+2=3恰好等於v,總重量為2+3=5,為符合題意選法中的最大重量

對於100%的資料,1≤n≤20,1≤v[i]≤1e8,1≤g[i]≤1e8,1≤v≤1e9

給定三個引數,第乙個引數為陣列v,第二個引數為陣列g,第三個引數為體積v,求最大總重量為多少。

(所給字串與返回字串都不帶引號)

由於資料 範圍較小,可以用二進位制列舉的方法。

另解:dfs搜尋

優點:時間複雜度僅為o(2^n)

缺點:容易爆棧

class

solution

if(sum == v) ma =

max(ma,vsum);}

return ma;}}

;

牛牛拿到了乙個字串。他想知道除去字串本身以外,這個字串最大的公共前字尾的長度是多少?

例如,對於字串ababa而言,「aba」即是它的字首,也是它的字尾,且是最長的公共前字尾,因此最大的長度是3。

牛牛無法解決該問題,所以他只好向你求助,給定乙個只包含大寫字母的字串s,返回除去字串本身以外公共前字尾最大長度,如果沒有任何乙個公共前字尾滿足要求,返回-1即可。

輸入
「aba」

返回值
說明
字串「a」為所求

kmp的前置只是next陣列。

策略:從第二個字母開始,先和第乙個字母比較。

如果相等,那麼下乙個與第二個比較。如果又相等,那麼在下乙個與第三個比較。

否則回到第乙個開始重新比較。

class

solution}if

(tmp ==0)

return-1

;return tmp;}}

;

牛客程式設計巔峰賽S2第2場

鑽石 王者 先從kk k塊糖果中拿出n nn塊糖果平均分給n nn個朋友,剩下的糖果再和牛牛一起平分,答案 k n n 1 frac n 1k n 三個木棒的構不成三角形的邊界情況就是a b c a b c a b c,那麼對於總的木棒長度固定,只要滿足斐波那契數列即可。這個題就是考察層次遍歷的時候...

牛客程式設計巔峰賽S2第4場

又沒中獎 題目描述 牛牛最近很喜歡擲硬幣,由於他今天很無聊,所以他在家擲了n次硬幣,如果這n次硬幣全部朝上或者全部朝下牛牛就很開心,請問牛牛開心的概率是多少。每次擲硬幣朝上的概率與朝下的概率相同 示例1輸入複製1 返回值複製 1.00 說明概率為1,四捨五入保留兩位小數的字串為 1.00 示例2輸入...

牛客程式設計巔峰賽S2第4場

鑽石 王者 直接呼叫庫函式即可。return to string pow 0.5 n 2 0.005 substr 0 4 這道題的做法是採用二分的方式。二分最近距離的最大值,然後檢查能不能按照這種間隔擺放玩偶。擺放的時候是採用貪心的策略,盡可能地讓擺放的距離等於我們列舉的二分答案。注意先要給結構體...