专栏文章
题解:P14197 [ICPC 2024 Hangzhou R] Kind of Bingo
P14197题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @minmt81i
- 此快照首次捕获于
- 2025/12/02 04:58 3 个月前
- 此快照最后确认于
- 2025/12/02 04:58 3 个月前
签到题。
对每一行开一个 vector,遍历 ,把 的位置塞进对应行的 vector, 次操作可以把最后 个移到最前,那么该行期望的最少操作次数就是从后往前第 个的下标。
需要注意的是特判一下 ,这种时候答案一定为 ,否则会数组越界。
CPP#include <bits/stdc++.h>
// #define int long long
#define lint long long
#define endl '\n'
using namespace std;
const int N = 1e5+5;
int n,m,k;
int p[N];
vector<int> v[N];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
int T;
cin >> T;
while(T--){
cin >> n >> m >> k;
for(int i = 1; i <= n; i++)
v[i].clear();
for(int i = 1; i <= n*m; i++){
cin >> p[i];
v[p[i]/m+!!(p[i] % m)].push_back(i);
}
if(k >= m){
cout << m << endl;
continue;
}
int ans = n*m;
for(int i = 1; i <= n; i++)
ans = min(ans,max(v[i][m-k-1],m));
cout << ans << endl;
}
return 0;
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...