一、牛牛學洗牌
分析 按照題目所說的,每一次把前xi張牌和剩下的牌分開,再一張一張從兩疊牌輪流放回去即可。
時間複雜度
o(n)
參考**
#include
using
namespace
std;
int a[15];
int temp[2][15];
int len[2];
int main()
}for(int i = 1; i <= 13; i++)
return0;}
二、字典序最大的子串行
分析 貪心。每次取當前剩餘字典序最大的字元。
時間複雜度
o(n)
參考**
#include
using
namespace
std;
string s;
int main()
cout
<< ss.str() << endl;
return0;}
三、彩色隊伍
分析 挨著掃一遍, 統計當前字元跟前乙個字元不同的個數。
時間複雜度
o(n)
參考**
#include
using
namespace
std;
string s;
int main()
}cout
<< cnt << endl;
return0;}
四、牛牛與玩偶
分析 根據題意,只會有兩種重量的玩偶,對於每一種重量,維護該重量的玩偶總數和最後乙個該重量玩偶的序號,最後找到數量為1的那種玩偶對應的序號就可以了。
時間複雜度
o(n)
參考**
#include
using
namespace
std;
int w[1000005];
int main() else
}if(num1 == 1)
printf("%d\n", ans1);
else
printf("%d\n", ans2);
return0;}
分析 設x為最後三個數都變為的數。
所以總共需要的操作次數為(3x - (a + b + c)) / 2。注意到x肯定大於等於a, b, c三個數的最大值, 我們現在要最小化x, 並且兩個操作都不改變a + b + c的奇偶性。
設a, b, c的最大值為ma = max(a, max(b, c))
所以3 ma與 a + b + c相同奇偶性的話, x = ma, 否則x = ma + 1。
然後輸出(3ma - (a + b + c)) / 2即可。
時間複雜度
o(1)
參考**
#include
using
namespace
std;
int main()
六、牛牛分配糖果
分析 可以通過母函式求解或者直接用揹包dp就好了。
參考**
#include
using namespace std;
long long f[2][105];
int main()
printf("%lld\n", f[n & 1][m]);
return 0;}
分析 合法的點心盒一共有三種:一甜一苦一酸/兩甜一苦(酸)/三甜。
為了最大化點心盒的數量,我們肯定是優先組成第一種點心盒,再考慮第二種點心盒,最後剩下的甜點心每三個組成乙個點心盒。
於是問題轉化為,最多能同時組成多少對一苦一酸的點心,並且每對點心都不衝突。
我們可以借助二分圖匹配的模型,考慮在任意一對個不衝突且一苦一酸的點心之間連一條邊,然後求最大匹配。
最後根據最大匹配的數量、多餘的苦(酸)點心的數量、和甜點心的數量算出答案。
時間複雜度
o(n^3)
參考**
#include
using
namespace
std;
char s[505][5];
bool ok[505][505];
int root[505];
vector
vec[505];
bool life[505];
bool solve(int x)
}return0;}
int main()
for(int i = 1; i <= n; i++)
} else
}for(int i = 1; i <= n; i++)
if(ans >= numdl)
printf("%d\n", numdl);
else
return0;}
愛奇藝20屆春招程式設計題1
題目 根據自己的回憶寫出題目大概的意思 輸入一串只包含數字的字串str和乙個整數k,從字串中剔除k個數字,使剩下的字串按照原來的順序,得到的整數最小,輸出這個整數。字串長度n 240,k n。示例1 輸入 12553 2 輸出 123 示例2 輸入 100050 4 輸出 0 錯誤思路 考試的時候,...
愛奇藝19秋招程式設計題
最少的盒子 時間限制 c c 語言 1000ms 其他語言 3000ms 記憶體限制 c c 語言 131072kb 其他語言 655360kb 題目描述 bob有n個空盒子,第i個盒子是邊長為a i 的立方體,如果乙個盒子的邊長嚴格小於另乙個盒子,並且大盒子裡面沒有其他小盒子,小盒子也沒有放入其他...
愛奇藝程式設計題
1 爐石傳說 時間限制 c c 語言1000ms 其他語言3000ms 記憶體限制 c c 語言65536kb 其他語言589824kb 題目描述 小明喜歡玩一款叫做爐石傳說的卡牌遊戲,遊戲規則如下,玩家擁有n顆水晶和m張卡牌,每張卡牌的使用會消耗a顆水晶並且造成b的傷害值,請你幫小明算一下該如何使...