牛客練習賽59做題心得

2021-10-03 21:56:11 字數 2035 閱讀 9214

題目鏈結

這道題有很多種做法,我在這裡採用的是動態規劃的方法。

我們可以讓原字串和xiaoqiaoxiaohuihui

這裡是我的部落格,有興趣的朋友可以關注一下。

#include

#include

#include

#include

#include

using namespace std;

const

int max =

1000+5

;string s, s1 =

"xiaoqiao"

, s2 =

"xiaohuihui"

;int a[

100]

[100];

int f[max]

[max]

;bool check

(string a, string b)}if

(f[lena -1]

[lenb -1]

== lenb)

else

return false;

}int

main()

return0;

}

題目鏈結

這道題是一道簡單的貪心題。

題目要我們最後花的總費用盡量小,我們就要盡可能的少連邊。在這裡補充乙個定理:在乙個點數大於等於2的圖中,要使圖中每個點都連通,那麼最少需要 n-1 條邊。

有了這個結論以後我們就可以開始貪心了。我們自己虛擬乙個節點0位置是(0,0),然後再按其他節點到節點0的距離從小到大排序然後再在相鄰兩個節點之間連一條邊即可。

#include

#include

#define ll long long

using namespace std;

const

int max =

1e5+5;

ll v[max]

, x, y, n;

intmain()

sort

(v +

1, v + n +1)

; ll ans =0;

for(

int i =

2; i <= n; i++

)printf

("%lld"

, ans)

;return0;

}

題目鏈結

我們可以假設製造了a件1號裝備,然後還可以製造的2號裝備的數量為min((x - 2 * a) / 4, (y - 3 * a))件,再通過打表可以發現總數量是乙個單峰函式,即:先是逐漸增大,然後過了某個點後又開始逐漸減小。這個點就是我們要找的最大值。解決這種單峰函式問題,我們常用的方法是三分法。這裡附一篇關於三分法的講解:三分法。 最後因為有t組資料,三分法的複雜度為log

nlogn

logn

, 總複雜度為tlo

gn

tlogn

tlog

n。可以通過。

#include

#include

using namespace std;

int t, x, y;

intmain()

int ans =0;

for(

int i = left; i <= right; i++

)printf

("%d\n"

, ans);}

return0;

}

牛客練習賽59 A B C D

題目鏈結 a 小喬和小灰灰 題意 求給定字串中是否出現 xiaoqiao 和 xiaohuihui 思路 兩次遍歷,將 xiaoqiao 和 xiaohuihui 定義為兩個模式串,在給定字串中找到相應字元繼續往後推,看最後模式串的下標大小就知道是否為子串行了。include using names...

牛客練習賽59 B 牛能和小鎮

題目描述 在牛國有2個小鎮編號1,2,3.n 1,n。用二維平面來表示每個小鎮的位置,第個小鎮的位置為 xi,yi 牛能做為牛國的國王,決定給小鎮之間建設一些道路,以便於任意小鎮之間都能相互到達,在第個小鎮和第個小鎮之間建設一條道路的花費是 xi xi yi xj xj yj yi yi yi 2 ...

牛客練習賽9

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...