//打赏的js文件

2024CSP-S第二轮复赛题解

2024CSP-S第二轮复赛题解

#1.决斗

题目大意

其实这题是个原题,感兴趣的可以做一下。这题是求出那个数的个数最多。

题目解法

如果跟我一样考试时没看出来的也可以写一个双指针即可。

题目代码

1.正解

#include <bits/stdc++.h>

using namespace std;

const int kMaxN = 5010;

int a[kMaxN], n, sum = 1, ans;

int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  sort(a + 1, a + 1 + n);
  for (int i = n; i >= 1; i--) {
    if (a[i] != a[i + 1]) {
      ans = max(ans, sum), sum = 1;
    } else {
      sum++;
    }
  }
  cout << max(sum, ans) << '\n';
  return 0;
}

2.双指针

#include <bits/stdc++.h>
#define int long long

using namespace std;

const int kMaxN = 1e5 + 10;

int a[kMaxN], n, j = 1;

signed main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  sort(a + 1, a + 1 + n);
  for (int i = 1; i <= n; i++) {
    if (a[i] > a[j]) {
      j++;
    }
  }
  cout << n - j + 1 << '\n';
  return 0;
}

#2.超速测试

#3.染色

#4.擂台游戏

posted @ 2024-10-27 11:33  小熊涛涛  阅读(137)  评论(0编辑  收藏  举报