題目鏈結
這道題有很多種做法,我在這裡採用的是動態規劃的方法。我們可以讓原字串和xiaoqiao,xiaohuihui。
這裡是我的部落格,有興趣的朋友可以關注一下。
#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組資料,三分法的複雜度為lognlogn
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個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...