第一場
e題:abba (類 卡特蘭數)
bobo有乙個長度為2(n + m)的字串,由字元「a」和「b」組成。
該字串還具有迷人的特性:它可以分解為(n+ m)個長度為2的子串行,並且在(n+ m)個子序列中,它們中的n個子串行為「ab」,而其他m個為「ba」。
q:現在給出n 和m ,請問你,最多能找到多少個滿足上述條件的串?
理解題意:題目中,分解為「子串行」,而非「子串」;就是說這個長度為2的子串行可以是不連續的。如bbabaa,這個串中有3個『ba』。
第二場h題:second large rectangle(次大全1矩陣)
q:給出乙個n x m 的二進位制矩陣,請輸出第二大的全部由1構成的矩形的面積大小。n×m
'>"1"
'>
a:算出每個位置連續1的二維矩陣,單調棧。(補題:丁得寶)
1 #include2 #include3 #includeview code4 #include5 #include6 #include7 #include8
#define inf 0x3f3f3f3f
9using
namespace
std;
10const
int maxn = 1e3+5;11
intsum[maxn][maxn],stack[maxn],n,m;
12int
main()
1326}27
int m1=0,m2=0
;28 stack[0]=0;29
for(int j=m; j>0; j--)
3049
else
if(s==m1)
50 m2=m1;
51else
if(s>m2)
52 m2=s;
53 top--;54}
55 stack[++top]=i;56}
57}58for(int i=1; i<=top; i++)
5966
else
if(s==m1)
67 m2=m1;
68else
if(s>m2)
69 m2=s;70}
71}72 printf("
%d\n
",m2);73}
74return0;
75 }
f題:partition problem
q:給你 2*n 個人,每兩個人之間都有乙個競爭價值,所有人之間的競爭價值由二維陣列表述出來。現在,讓你將這些人分為2隊,每隊n 人,兩隊展開競爭;求能產生的最大競爭價值為多少?
理解題意:2*n 個人分成兩隊,同一隊內的隊友之間不產生競爭價值;乙個隊的一名成員,與另一隊的每個成員之間都會計算一次競爭價值。
牛客訓練賽1
honoka和格點三角形 只有兩種三角形,底邊為2,高為1和底邊為1,高為2 1,直角三角形 4 n 1 m 2 4 n 2 m 1 2,底邊在x軸,為2 2 m 2 m 2 n 1 2,底邊在y軸,為2 2 n 2 n 2 m 1 3,底邊在x軸,為1 2 m 1 m 2 n 2 4,底邊在y軸,...
2020牛客多校訓練賽(第二場)補題
比賽入口 題意 有乙個multiset s,一共有三種操作 1.s插入乙個x 2.s刪除乙個x 3.查詢s中是否存在兩個數字,使得這兩個數字能和x組成乙個非退化三角形 思路 顯然,s是有序的,且判斷x是否能和s中兩個數字組成非退化三角形,一共有以下三種情況 1.x是最大邊,判斷 x的最後兩個字 2....
題解 牛客寒假訓練賽1
牛客寒假訓練賽1,自己水平還是太差了。a 題意 有計算符號和結果,求最初的數 思路 簡單模擬 include define ll long long struct note a 101 int main printf lld k return 0 b 給定2,0,4的數量,對其進行排列,計算1 i的...