B. Gardener and the Array(贪心)

news2025/1/13 15:58:23

传送门

题意:给你n个数,问你是否存在不同的两个子区间,使这两个子区间的或结果相同。

注:因为数据范围太大,所以每个数都由他的二进制数表示:每一行第一个数m表示有几个二进制数,

后面m个数代表2的次方,这几个数之和就是这个数字。

思路:

因为如果存在两个不同的子区间的或结果相同,那么一定可以同时或部分元素使一个区间变成整个数组,另一个区间变成整个数组-1个元素

那么就相当于对于整个区间,是否能找到某一个元素或整个区间的结果和不或或整个区间的结果一样就可以了。

那么就可以定义一个二维vector和map,map用来存储整个数组每一位出现的次数,vector用来存每个数的每一位出现的次数,然后for遍历一遍如果当前位在map中出现的次数为1,那么说明这个元素或整个数组的结果和不或的结果不一样,那么直接退出。最后如果没有退出就说明这个元素可以,直接输出YES

代码:


#include<cstdio>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <string>
#include <math.h>
#include<vector>
#include<queue>
#include<map>
#define sc_int(x) scanf("%d", &x)
#define sc_ll(x) scanf("%lld", &x)
#define pr_ll(x) printf("%lld", x)
#define pr_ll_n(x) printf("%lld\n", x)
#define pr_int_n(x) printf("%d\n", x)
#define ll long long 
using namespace std;

const int N=1000000+100;
int n ,m,h;
ll s[N];

vector<int>cnt[N];
map<int,int>q;

void solve()
{
    sc_int(n);
    q.clear();
    for(int i =1;i<=n;i++)
    {
        cin>>m;
        cnt[i].clear();
        for(int j =1;j<=m;j++)
        {
            cin>>h;
            q[h]++;
            cnt[i].push_back(h);
        }
    }


    for(int i =1;i<=n;i++)
    {
        int res=0;
        for(auto i : cnt[i])
        {
            if(q[i]==1){
                res=1;
                break;
            }
        }
        if(!res){
            cout<<"YES\n";
            return ;
        }
    }
    cout<<"NO\n";
    return ;
}


int main()
{
    int t;
    sc_int(t);
    while(t--)solve();
    
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

陪诊小程序开发,谁更需要陪诊服务

我们去过医院的都很清楚&#xff0c;医院的看病流程是很繁琐&#xff0c;医院不仅大&#xff0c;科室还划分的又细又多。对于一些在外打拼整天忙的顾不得看病就医的打工人&#xff0c;还有一些跟随子女去异地生活养老就医的老年人&#xff0c;还有一些没人陪伴独居生活的年轻人…

89、【栈与队列】leetcode ——101. 对称二叉树:先序递归与非递归+层次遍历(C++版本)

题目描述 原题链接&#xff1a;101. 对称二叉树 解题思路 一、先序遍历 1、递归 设置两个指针进行遍历对比&#xff0c;分别指向互相对称位置&#xff1a;左子树的左孩子与右子树的右孩子互对称&#xff0c;左子树的右孩子与右子树的左孩子互对称。 每次遍历前先判定对称位…

【源码解析】Springboot整合ElasticSearch客户端的源码解析

Springboot整合ElasticSearch客户端的源码解析 ElasticSearch版本 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.2.5.RELEASE</version>&…

[蓝桥杯 2022 国 A] 环境治理(C++,Floyd,二分法)

题目描述 LQ 国拥有 nnn 个城市&#xff0c;从 000 到 n−1n - 1n−1 编号&#xff0c;这 nnn 个城市两两之间都有且仅有一条双向道路连接&#xff0c;这意味着任意两个城市之间都是可达的。每条道路都有一个属性 DDD&#xff0c;表示这条道路的灰尘度。当从一个城市 A 前往另…

linux 中用rancher k8s 部署springboot项目

前期条件: linux--》ECS服务器: rancher集群: 操作流程: 1、制作简单springboot项目使用docker生成镜像项目端口:8080并写一个测试controller

Go 1.19.3 interface原理简析

interface 接口&#xff0c;分为有方法签名的接口和空接口 interface{fn()…} 有方法签名的接口&#xff0c;底层运行时结构 iface iface src/runtime/runtime2.go type iface struct {tab *itab // 接口类型itab, i-table的缩写data unsafe.Pointer // 接口值指针…

互联网应用的架构演变之路

文章目录单体应用架构垂直应用架构分布式架构SOA架构微服务架构SOA架构&微服务架构对比分布式应用开发解决方案随着互联网的发展&#xff0c;网站的应用也不断扩大&#xff0c;从而导致系统架构不断的进行变化&#xff0c;从互联网早起到现在&#xff0c;系统架构大致经历了…

用Python画一只小兔子,祝您新年前途似锦,大展宏图

用Python画一只小兔子&#xff0c;祝您新年前途似锦&#xff0c;大展宏图 兔年到了&#xff0c;祝大家新年前途似锦&#xff01;大展宏图&#xff01; 2021牛年&#xff0c;我用Python画了一头金牛&#xff0c;参考&#xff1a;Python画金牛 2022虎年&#xff0c;我用Python画…

MarkDown语法 + Typora笔记本

目录 一、多级标题 二、有序列表 三、无序列表 四、任务列表 五、行内代码 六、代码块 七、插入表格 八、插入图片 一、多级标题 1、语法 一级标题&#xff1a;# 二级标题&#xff1a;## 三级标题&#xff1a;### 四级标题&#xff1a;#### 五级标题&#xff1a;…

stackoverflow网站左下角弹框点击我接收所有cookie没反应怎么解决?

问题描述&#xff1a;打开stackoverflow网页后左下角总是有一个弹窗&#xff0c;点击接受所有cookie没有反应。 产生原因&#xff1a;因为是外网&#xff0c;因此点击按钮触发的时候被拦截了。 微软自带的edge浏览器&#xff1a; 打开浏览器进入扩展 选择管理扩展 获取Micro…

如何轻松应对IB数学?

如何轻松应对IB数学&#xff1f;同学想要在IB数学科取得好成绩&#xff0c;可以从两个方面来着手。 1.复习技巧 第一个是复习技巧。这方面&#xff0c;同学要清楚知道自己读的课程&#xff0c;它的教学大纲&#xff08;Syllabus&#xff09;要求是什么&#xff0c;还有它背后想…

【Bp2Lua】常量折叠和变量折叠

【Bp2Lua】常量折叠和变量折叠 谈一下编译器折叠优化算法 动机 变量折叠是 bp2lua 早期确定的两个技术卡点之一 bp2lua 做尽可能保守和必要的优化&#xff0c;提升生成代码的可读性&#xff0c;方便在生成代码上进行二次开发 常量折叠 常量折叠 - 维基百科&#xff0c;自…

Stlink固件更新问题“ST-Link is not in the dfu mode Please restart it“的解决方法

安装stlink utility&#xff1a;官网下载&#xff1a;https://www.st.com/content/st_com/zh.html在ST-LINK utility中连接芯片&#xff0c;提示仿真器版本过低&#xff0c;点击更新&#xff0c;报错提示&#xff1a;“ST LINK is not in the DFU mode plesse restart it”操作…

Day 6 Bean 的生命周期

建议浏览顺序从Day 1 开始。1 Bean的声明周期Spring Bean的生命周期是从 Bean 实例化之后&#xff0c;即通过反射创建出对象之后&#xff0c;到Bean成为一个完整对象&#xff0c;最终存储到单例池中&#xff0c;这个过程被称为Spring Bean的生命周期。Spring Bean的生命周期大体…

ArcGIS JS API分页查询小结

如果遇到发布的服务要素非常多&#xff0c;比如点要素&#xff0c;此时如果想要查询相关的属性或几何信息&#xff0c;如果使用featurelayer的query方法&#xff0c;可能会遇到server后台返回数限制&#xff0c;而只能返回获取到返回数上限的要素数目。 一个简单的方法是&…

nginx学习笔记4(小d课堂)

linux服务器安装jdk和jar包上传 我们把我们的文件放到我们的路径下&#xff0c;这部分之前学过了&#xff0c;这里我们再来复习一遍。 然后我们去解压这个压缩包&#xff1a; 然后我们给这个文件改个名字&#xff1a; 然后我们要去配置环境变量&#xff1a; 在文件末尾加 然后我…

新库上线 | CnOpenDataA股上市公司招投标数据

A股上市公司招投标数据 一、数据简介 招投标是指在市场经济条件下进行大宗货物的买卖、工程建设项目的发包与承包以及服务项目的采购与提供时所采取的一种普遍交易方式。招标和投标是一种商品交易行为&#xff0c;是交易过程的两个方面。历经三十多年的发展&#xff0c;我国已…

resultType自动映射与结果映射resultMap

今天继续完善一下mybatis系列相关博客&#xff0c;以便查阅&#xff0c;同时也希望能帮助到有需要的小伙伴&#xff0c;各位看到此博客的小伙伴&#xff0c;如有不对的地方请及时通过私信我或者评论此博客的方式指出&#xff0c;以免误人子弟。多谢&#xff01; 这一篇记录一下…

week 9 吴恩达 迁移学习 多任务学习 端到端学习

文章目录一、错误分析二、快速构建系统然后迭代三、训练和测试的不同数据分布1、不匹配数据的偏差和方差2、解决数据不匹配问题。四、迁移学习 transfer learning五、多任务学习 multi-task learning六、端到端 end-to-end learning一、错误分析 当我们在构建一个系统时&#…

自动驾驶BEV火了,再给它加点脑洞会靠谱吗?

作者 | 洪泽鑫 编辑 | Bruce百度今年Create大会上辅助驾驶板块的内容挺硬核的&#xff0c;不在这个行业内基本听不懂。 正好是研究兴趣所在&#xff0c;结合百度给的资料&#xff0c;试着来中译中一下。 总的来说&#xff0c;百度是弄了一个车路一体的BEV感知方案——叫UniBEV。…