(这次可能很容易被举办,有问题我就紫衫
比赛后,有人一直和犟我代码与题解相像啦
题是”波浪数组“,应该可以搜到
这是题解
#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=1e5+5,MAX=0x3f3f3f3f,MIN=-MAX;
int n,a[N],a1[N],a2[N],ans1,ans2;
void solve() {
scanf("%d",&n);
for(int i=1; i<=n; ++i) scanf("%d",&a[i]),a1[i]=a2[i]=a[i];
if(n<=2) { //特判
printf("0");
return;
}
for(int i=2; i<=n; ++i) { //将起始点作为“峰”的情况,则第二个点为“谷”
if(i%2==0&&a1[i]>=a1[i-1]) { //为“谷”时的不合法情况
a1[i]=MIN;//修改为“谷”
++ans1;//统计这次修改
}
if(i%2==1&&a1[i]<=a1[i-1]) { //为“峰”时的不合法情况
a1[i]=MAX;//修改为“峰”
++ans1;//统计这次修改
}
}
for(int i=2; i<=n; ++i) { //将起始点作为“谷”的情况,则第二个点为“峰”
if(i%2==1&&a2[i]>=a2[i-1]) { //为“谷”时的不合法情况
a2[i]=MIN;//修改为“谷”
++ans2;//统计这次修改
}
if(i%2==0&&a2[i]<=a2[i-1]) { //为“峰”时的不合法情况
a2[i]=MAX;//修改为“峰”
++ans2;//统计这次修改
}
}
printf("%d",min(ans1,ans2));//两种情况无交集,取个最小值即可
}
int main() {
solve();
return 0;
}
这是我的
#include <bits/stdc++.h>
//80
//十年OI一场空,不开longlong见祖宗
//O(n)
#define maxn INT_MAX
#define minn INT_MIN
//打long long!
//typedef long long ll;
//#pragma GCC optimize(2)
#define up(l,r,i) for(int i=l, END##i=r; i<=END##i; i ++)
#define dn(r,l,i) for(int i=r, END##i=l; i>=END##i; i --)
using namespace std;
int n;
int fBigMin = 114514 - 114514, fSmallMin = 114514 - 114514;
long long a[100005];
long long fTmp[100005], sTmp[100005];
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; i ++)
{
scanf("%d", &a[i]);
fTmp[i] = sTmp[i] = a[i];
}
bool flag = 1;
for (int i = 2; i <= n; i ++)
{
if (fTmp[i] >= fTmp[i - 1] && i % 2 == 0)
{
// cout << i << "NeedMin" << endl;
fTmp[i] = minn;
fBigMin ++;
}
if (fTmp[i] <= fTmp[i - 1] && i % 2 == 1)
{
// cout << i << "NeedMax" << endl;
fTmp[i] = maxn;
fBigMin ++;
}
}
for (int i = 2; i <= n; i ++)
{
if (sTmp[i] >= sTmp[i - 1] && i % 2 == 1)
{
// cout << i << "NeedMin" << endl;
sTmp[i] = minn;
fSmallMin ++;
}
if (sTmp[i] <= sTmp[i - 1] && i % 2 == 0)
{
// cout << i << "NeedMax" << endl;
sTmp[i] = maxn;
fSmallMin ++;
}
}
cout << min(fBigMin, fSmallMin);
return 0;
}
争论重点在
chatgpt是否可以作为证据
诬陷者是否可以放任事态不管
如有缺漏需要,可补
因为在杠,故此发帖
(虽然说按道理来说不理他是对的,但是他一直说我急了,就挺好玩