首页 > 其他分享 >acwing 4619. 减法操作

acwing 4619. 减法操作

时间:2022-09-25 00:01:41浏览次数:86  
标签:偶数 return 奇数 int 4619 枚举 操作 减法 acwing

acwing4619. 减法操作

原题链接:https://www.acwing.com/problem/content/4622/

思路

这个题两种操作顺序是先进行哪个操作都是可以的。
第一个操作将某个数减2,只要是偶数就肯定能减成0,比较简单
我们可以先看第一种操作

从集合角度来证明这个题
image

最里面的集合如果有解,肯定满足外面的两个条件

为什么进行操作2的时候,要对这个数的后面相邻的数进行操作2:
枚举第一个奇数,我们如果对其前面相邻的数进行操作2,那么这个奇数会变成偶数,而其前面的偶数会变成奇数,这个奇数要想变成偶数就要和它前面的数进行操作2,会发现始终会有一个奇数,所以整个方法不可行。
而如果对枚举第一个奇数,将这个奇数和其后面的相邻的数进行操作2,那么是有可能做到没有奇数的局面。

所以做法就是递推:

从前往后枚举每个奇数,将这个奇数及其后相邻的数进行操作2。

从前往后枚举每个数,如果这个数列是非负整数数列,那么是有解的

代码

#include<iostream>

using namespace std;

const int N = 200010;

int n,a[N];

bool check()
{
    for(int i = 0; i < n - 1; i ++)
        if(a[i] % 2) a[i] --,a[i + 1] --;
    
    for(int i = 0; i < n; i ++)
        if(a[i] % 2 || a[i] < 0 ) return false;
    
    return true;
}

int main()
{
    scanf("%d",&n);
    
    for(int i = 0; i < n; i ++) scanf("%d",&a[i]);
    
    if(check()) puts("YES");
    else puts("NO");
    
    return 0;
}

标签:偶数,return,奇数,int,4619,枚举,操作,减法,acwing
From: https://www.cnblogs.com/rdisheng/p/16727022.html

相关文章

  • acwing 4618. 两个素数
    两个素数原题链接:https://www.acwing.com/problem/content/4621/思路本来我以为是要判断是不是素数但是y总后来讲的时候,我才发现题目保证一定有解,也就是说x一定会由两......
  • AcWing 830.单调栈
    AcWing830.单调栈题目描述给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出−1。输入格式第一行包含整数N,表示数列长度。第二行包含......
  • acwing894. 拆分-Nim游戏
    acwing894.拆分-Nim游戏原题链接:https://www.acwing.com/problem/content/896/思路关于SG函数,mex操作,SG定理的一些知识取走一堆放入两堆,好像总的堆数一直在增加,但是每......
  • acwing892. 台阶-Nim游戏
    acwing892.台阶-Nim游戏原题链接:https://www.acwing.com/problem/content/894/思路奇数台阶异或和不等于0先手必胜奇数台阶异或和等于0先手必败代码#include<iost......
  • 博弈论-acwing893.集合-Nim游戏
    补充知识有向图游戏给定一个有向无环图,图中有一个唯一的起点,在起点上放有一枚棋子。两名玩家交替地把这枚棋子沿着有向边方向移动,每次可以移动一步,无法移动者判负。该游......
  • AcWing 133/洛谷2827 蚯蚓
    首先考虑根据题意模拟#include<bits/stdc++.h>#defineintlonglong//懒死谁了usingnamespacestd;typedeflonglongllinlinevoidrd(int&x){x=0;b......
  • AcWing 算法提高课 欧拉回路和欧拉路径
    定义:经过每一条边且每一条边恰好只经过一次一、无向图中,当所有边都连通时:存在欧拉路径,等价于,图中度为奇数的点只有0或2个。存在欧拉回路,等价于,图中度为奇数的点只有0个......
  • 博弈论-acwing891.Nim游戏
    博弈论acing891.Nim游戏原题链接:https://www.acwing.com/problem/content/893/公平组合游戏若一个游戏满足:1.由两名玩家交替行动2.在游戏进行的任意时刻,可以执行的合......
  • AcWing 算法提高课 强连通分量
    1、Tarjan算法求强连通分量: 强连通分量的点可能会向上联通。  维护两个时间戳。 ......
  • AcWing 4604. 集合询问
    https://www.acwing.com/problem/content/4607/哈希表题意:初始时空集{},进行t次操作,操作分为:+x,将一个非负整数x添加至集合中。注意,集合中可以存在多个相同的整......