牛客编程巅峰赛S2赛季(初级场第1场)考题参考代码
A-热心的牛牛
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 返回牛牛能吃到的最多糖果数
* @param n long长整型
* @param k long长整型
* @return long长整型
*/
long long Maximumcandies(long long n, long long k) {
// write code here
return (k - n) / (n + 1);
}
}; 思路 : 假设牛牛得到的糖果为 个,那么为了满足牛牛的心意,牛牛任何一个的朋友至少要获得
个糖果,一共有
个朋友,共有
个糖果,则可以得出
即
,只要求出满足这个式子的最大
就可以了。
C-Tree Ⅱ
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param k int整型 表示完全k叉树的叉数k
* @param a int整型vector 表示这棵完全k叉树的Bfs遍历序列的结点编号
* @return long长整型
*/
long long tree2(int k, vector<int>& a) {
// write code here
queue<int> q;
q.push(a[0]);
int j = 1;
int n = a.size();
long long ans = 0;
while (!q.empty()) {
int i = q.front();
int m = 0;
q.pop();
while (j < n && m < k) {
ans += (i ^ a[j]);
q.push(a[j]);
j++;
m++;
}
}
return ans;
}
}; 