题目 题意: 给定一个数组,至多执行n次操作,将其变成非递减的。operation: 可以任选[l,r],l < r. 若a[l]与a[r]奇偶性不同,a[r] = a[l]; 若a[l]与a[r]奇偶性相同,a[l] = a[r]. 思路: 可以把所有数变成一个数。当时光想着最大值最小值,发现操作不了。花1次操作把头和尾变成一样的。然后左边同奇偶可以变;右边不同奇偶可以变。头和尾都一样,中间的都能变了。 代码:
#include
using namespace std;
typedef pair PII;
const int N = 2e5+10;
int n,m,k,T;
int a[N];
void solve()
{
cin>>n;
for(int i=1;i>a[i];
if(n==1)
{
cout
关注
打赏