第一次摸底考试 总结
考试结果
成绩:\(100+100+80+0+70+0=350\)
排名:#\(18\)
逐题分析
C 钱到题
出现の问题
- 约瑟夫环使用了数组进行维护,取模麻烦,使用
std::queue
更为方便
坑点
- 队列
q
需要进行初始化
正确代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
queue<int> q; // 维护环
for (int i = 1; i <= n; i ++) q.push(i);
vector<int> w(n + 1, 1); // 记录每人积分
for (int i = 1; i <= k; i ++) {
int x, y;
cin >> x >> y;
while (x--) {
int u = q.front();
q.pop();
if (x == 0) {
w[u] += y;
}
if (w[u]) q.push(u);
else cout << u << " ";
}
}
cout << endl;
return 0;
}
D 浅岛题
出现の问题
- 第二级骗分(
u
为v
的祖先时,未使用while
循环进行修改操作) - 第四级骗分
其实就是正解(思维题:并非LCA
,而可以使用数组直接实现op == 1
的情况)
根据提示,异或两次等于没有异或,所以
标签:总结,std,arr,int,max,cin,第一次,模拟,105 From: https://www.cnblogs.com/winter-tide/p/17584182.html