专栏文章

题解:P12696 [KOI 2022 Round 2] 原位卡片

P12696题解参与者 3已保存评论 8

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
8 条
当前快照
1 份
快照标识符
@mip520ug
此快照首次捕获于
2025/12/03 06:17
3 个月前
此快照最后确认于
2025/12/03 06:17
3 个月前
查看原文
2025.6.10 修改了错别字。

题解:P12696 [KOI 2022 Round 2] 原位卡片

一道很简单的题。

思路简述

用变量 cntcnt 代表要删几个数。
直接遍历整个 aa 数组,顺带加上一个变量 jj 代表当前想要达到原位状态则最后一个数应为 jj。若 aia_i 的值为 jj 则代表 aia_i 可以作为当前原位状态的最后一个数,变量 jj 就要加一。如果 aia_i 的值不为 jj,那就要把它删掉,变量 cntcnt 就要加一。

代码呈现

C++

CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,t,cnt;
signed main(){
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=1,j=1;i<=n;i++){
		cin>>t;
		if(t==j) j++;//如果可以作为原位状态的一个数则j加一 
		else cnt++;//否则要删掉,cnt加一 
	}
	cout<<cnt;
	return 0;
}

The end.

评论

8 条评论,欢迎与作者交流。

正在加载评论...