題目描述
亮亮解出了卷軸隱藏的秘密,來到了一片沼澤地。這裡有很多空地,而面試直通卡可能埋在任意一塊空地中,好在亮亮發現了一堆木材,他可以將木材鋪在兩個空地之間的沼澤地上。因為亮亮不知道面試直通卡具體在哪一塊空地中,所以必須要保證任意一塊空地對於亮亮來說是可以抵達的。 「怎麼還有鱷魚!沒辦法,看來有些空地不能直接到達了。」 亮亮雖然沒有潔癖,但是沼澤地實在太臭了,所以亮亮不會迴圈利用木材。而且木材不能拼接在一起使用,所以亮亮必須要知道在耗費木材最少的情況下,最長的那根木材至少需要多長。
輸入描述:
第一行包含兩個整數n(1≤n≤10000),m(1≤m≤1000000)。n表示公有n塊空地。
接下來m行,每行包含三個整數p(1≤p≤n),q(1≤q≤n),k代表p,q兩個間沒有鱷魚,需要耗費k的木材。
輸出描述:
乙個整數,即耗費木材最少的情況下,最長的那根木材長度。
示例1輸入
4 3輸出 思路:最終要求得在耗費木材最少的情況下,最長的那根木材長度。通過構造最小生成樹來求耗費木材最少的情況,同時求得最長的木材長度。1 2 1
2 3 1
3 4 2
ac**:
#include
using
namespace std;
//儲存邊的資訊
struct vg
;int parent[
10010];
//排序函式
bool
cmp(vg v1,vg v2)
//並查集
intfind
(int root)
return root;
}int
main()
sort
(v, v+m, cmp)
;for
(int i=
0;iprintf
("%d\n"
,maxlen)
;return0;
}
題目描述
給定乙個字串,問是否能通過新增乙個字母將其變為回文串。
輸入描述:
一行乙個由小寫字母構成的字串,字串長度小於等於10。
輸出描述:
輸出答案(yes\no).
示例1輸入
coco輸出
yesac**:
#include
using
namespace std;
intmain()
else
if(s[i+1]
==s[j])if
(i>=j)
flag=1;
else
flag=0;
}else
flag=0;
if(flag)
cout<<
"yes"
cout<<
"no"
<}return0;
}
題目描述
對於乙個無序陣列a,請設計乙個演算法,求出需要排序的最短子陣列的長度。
給定乙個整數陣列a及它的大小n,請返回最短子陣列的長度。
測試樣例:
[1,5,3,4,2,6,7],7
返回:4ac**:
class
shortsubsequence
if(jleft=j;
right=i;
}else
max_value=a[i];}
if(left==n)
return0;
else
return right-left+1;
}};
牛客網的刷題之旅 2020 7 10
題目描述 給定兩個長度為n的整型陣列a和b。如果ai bj則認為 i,j 為最佳配對。所有的最佳配對在滿足以下條件的情況下組成最佳配對集合 a和b中的各個元素最多在集合 現一次。例如,a 5,10,11,12,14 b 8,9 11,11,5 配對集合為 0,4 2,2 2,3 因為在集合a中索引2...
牛客網的刷題之旅 2020 7 12
題目描述 給定乙個僅由小寫字母x和y組成且長度不超過105的字串,每次可以將字串中的乙個子串xy替換成字串yyx,那麼至少要替換多少次才能讓字串中不存在子串xy?輸入描述 輸入給定的字串。輸出描述 輸出最少替換次數對109 7取模後的結果。輸入xxy 輸出 思路 看完題目之後不知道從 開始,看了一位...
牛客網刷題
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...