首页 > 其他分享 >Codeforces Round 918 (Div. 4)----->E. Romantic Glasses

Codeforces Round 918 (Div. 4)----->E. Romantic Glasses

时间:2024-03-18 18:33:41浏览次数:25  
标签:arr set 前缀 int Codeforces ----- 区间 include Romantic

一,思路:这题是一道前缀和的扩展题。题目要我们求是否有一个区间内的奇偶之和是否相等,我们可以对数组重新赋值,奇数位赋值为负数,偶数位不变。这样我们后面求前缀和,只要看有没有一段区间和为零的。

二,代码:

#include <iostream>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
#include<stack>
using namespace std;

const int N=2e5+10;

typedef  long long ll;
typedef pair<int,int> pii;

ll arr[N];

void Solved() {

    int n;
    cin>>n;

    for(int i=1;i<=n;i++) {
        int x;
        cin>>x;

        if(i%2==0) arr[i]=x;
        if(i%2!=0) arr[i]=-x;
    }

//用set判重,当前面出现过和这个前缀和相等值的前缀和,那么这两个之间的区间和是0.
// s[a]-s[b-1]---->a到b之间的区间和。

    set<ll> s;

//注意如果前缀和本身就是0,那么就不需要和其他前缀和组合也能满足情况。
    s.insert(0);

    for(int i=1;i<=n;i++){
        arr[i]+=arr[i-1];

        if(s.count(arr[i])){
            cout<<"YES"<<endl;
            return;
        }

        s.insert(arr[i]);
    }
    cout<<"NO"<<endl;
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    int t;
    cin>>t;

    while(t--) {
        Solved();
    }
    return 0;
}

标签:arr,set,前缀,int,Codeforces,-----,区间,include,Romantic
From: https://blog.csdn.net/qq_75103498/article/details/136817133

相关文章

  • sqli注入详解——>sqli-labs less-1~65
    目录1、基础知识(1)注入的分类基于从服务器接收到的响应基于如何处理输入的SQL查询(数据类型)基于程度和顺序的注入(哪里发生了影响)基于注入点的位置上的(2)系统函数(3)字符串连接函数(4)一般用于尝试的语句(5)union操作符的介绍SQLUNION语法SQLUNIONALL语法(6)sql中......
  • 在Linux中,在不同的Linux发行版中(如RPM-based和DEB-based)如何安装、升级、删除软件包?
    在Linux中,不同的发行版采用了不同的包管理器来处理软件安装、升级和删除操作。以下是基于RPM(RedHatPackageManager)系统(如RedHatEnterpriseLinux,CentOS,Fedora等)和基于DEB(Debianpackage)系统的(如Debian,Ubuntu,LinuxMint等)的操作说明:1.RPM-based系统(使用yum或dnf......
  • 2024-03-18 闲话
    今天听了[FAI]UMich胡威|神经网络表示中的隐藏结构【NeuralCollapse】假设我们的神经网络在经过映射\(h\)之后再经过Linear+softmax得到输出,考虑经过\(h\)映射后的representation。如果是分类任务(总共\(T\)类),那么会根据input的label聚合到\(T\)个点。同......
  • Joomla SQL注入漏洞(CVE-2017-8917)
    环境搭建参考vulhub中文文档:https://github.com/vulhub/vulhub/blob/master/joomla/CVE-2017-8917/README.zh-cn.md安装vulhub,然后cdvulhub/joomla/CVE-2017-8917dockercomposeup-d如果报端口冲突的错可以修改文件:docker-compose.yml中的端口此时能访问http://......
  • oracle数据库执行报错:ORA-01861: 文字与格式字符串不匹配
    报错sql:selectto_date(sysdate,'yyyy-mm-dd')afromuser原因是:to_date()函数第一个参数,要求的是一个字符串格式,当这个值是一个日期格式的时候就会报错,解决方案:方案一:使用to_char(日期,'yyyy-mm-dd')将日期转为字符,再使用to_date(),方案二:修改数据库配置,让数据库隐式......
  • nginx-ingress-controller限制上传文件大小问题
    参考:https://www.cnblogs.com/pitaiyang/p/17975041报错信息nginx-ingress-controller限制上传文件大小为1M如果上传文件大于1M则会在浏览器报以下错误#RequestEntityTooLarge解决方法修改ingress配置文件增加以下配置annotations:#nginx.org/client-max-b......
  • Go04-数组+切片+map
    Go4-数组+切片+map1.数组的定义、赋值、访问和遍历//1数组用来存放多个同一类型的数据,在Go中数组是值类型。//2数组的定义、赋值和遍历。//定义数字。vararrs[2]int//给数组元素赋值。arrs[0]=0arrs[1]=2//02fori:=0;i<len(arrs);i++{fmt.P......
  • Go03-函数+包+异常处理
    Go03-函数+包+异常处理1.函数的基本介绍funcmain(){ //1为完成某一功能的程序指令的集合,成为函数。 //2函数分为自定义函数和系统函数。 //3函数的定义,使用关键字func来定义一个函数。 /* func函数名(形参列表)(返回值列表){ 函数执行的语句 return返回......
  • Go02-运算符+流程控制
    Go02-运算符+流程控制1.运算符基本介绍Go中的运算符分为:算术运算符、赋值运算符、比较运算符/关系运算符、逻辑运算符、位运算符和其他运算符。Go中没有三元运算符?。2.算术运算符//1算术运算符。//+正号;-负号;//+加;-减;*乘;/除;%取余;//++自增;--自减。//+......
  • Go01-开发环境搭建+注释+基本数据类型+指针+命名规范
    Go01-开发环境搭建+注释+基本数据类型+指针+命名规范1.Go常用网站https://www.topgoer.com/,Go学习网站,包含Go基础教程、beego、lris等Go开发常用框架。Go开发软件下载:https://code.visualstudio.com/,VSCode;https://www.jetbrains.com/zh-cn/go/,GOLand。https://studygolang.c......