Codeforcs 1732C2 暴力
题意
传送门 Codeforcs 1732C2
题解
方便起见,区间表示为左闭右开。观察到 f ( l , r ) ≥ f ( l ′ , r ′ ) , [ l ′ , r ′ ) ∈ [ l , r ) f(l,r)\geq f(l',r'),[l',r')\in [l,r) f(l,r)≥f(l′,r′),[l′,r′)∈[l,r),满足单调性,则 [ l , r ) [l,r) [l,r) 子区间最大 f f f 等于 f ( l , r ) f(l,r) f(l,r)。当同一数位出现大于一次 1 1 1 时,这一数对 f f f 的贡献大于 0 0 0,那么暴力枚举左右边界即可。时间复杂度 O ( q log 2 ( max a i ) ) O\Big(q\log^2(\max a_i)\Big) O(qlog2(maxai))。
#include <bits/stdc++.h>
using namespace std;
using ll = long long;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int tt;cin >> tt;while (tt--) {int n, q;cin >> n >> q;vector<int> a(n);for (int i = 0; i < n; ++i) {cin >> a[i];}vector<ll> sum(n + 1);vector<int> xsum(n + 1);for (int i = 0; i < n; ++i) {sum[i + 1] = sum[i] + a[i];xsum[i + 1] = xsum[i] ^ a[i];}vector<int> pos;for (int i = 0; i < n; ++i) {if (a[i] != 0) {pos.push_back(i);}}while (q--) {int l, r;cin >> l >> r;l -= 1;ll x = (sum[r] - sum[l]) - (xsum[r] ^ xsum[l]);if (x == 0) {cout << l + 1 << ' ' << l + 1 << '\n';continue;}int mn = r - l;int ml = l, mr = r;int lb = lower_bound(pos.begin(), pos.end(), l) - pos.begin();int ub = lower_bound(pos.begin(), pos.end(), r) - pos.begin();for (int i = lb; i < ub && i < lb + 31; ++i) {for (int j = ub - 1; j >= i && j >= ub - 32; --j) {ll s = sum[pos[i]] - sum[l] + sum[r] - sum[pos[j] + 1];int xs = xsum[pos[i]] ^ xsum[l] ^ xsum[r] ^ xsum[pos[j] + 1];if ((sum[r] - sum[l] - s) - (xsum[r] ^ xsum[l] ^ xs) == x) {if (pos[j] + 1 - pos[i] < mn) {ml = pos[i];mr = pos[j] + 1;mn = mr - ml;}}}}cout << ml + 1 << ' ' << mr << '\n';}}return 0;
}
相关文章:
Codeforcs 1732C2 暴力
题意 传送门 Codeforcs 1732C2 题解 方便起见,区间表示为左闭右开。观察到 f ( l , r ) ≥ f ( l ′ , r ′ ) , [ l ′ , r ′ ) ∈ [ l , r ) f(l,r)\geq f(l,r),[l,r)\in [l,r) f(l,r)≥f(l′,r′),[l′,r′)∈[l,r),满足单调性,则 […...

Python安全和防护:如何保护Python应用程序和用户数据的安全
章节一:引言 在当今数字化时代,数据安全是一个极其重要的话题。随着Python的广泛应用和越来越多的人使用Python构建应用程序,保护Python应用程序和用户数据的安全变得尤为重要。本文将介绍一些关键的Python安全问题,并提供一些保…...

[转载]Nginx 使用 X-Accel-Redirect 实现静态文件下载的统计、鉴权、防盗链、限速等
需求 统计静态文件的下载次数;判断用户是否有下载权限;根据用户指定下载速度;根据Referer判断是否需要防盗链;根据用户属性限制下载速度; X-Accel-Redirect This allows you to handle authentication, logging or …...
继电器的详细分类
继电器的分类方法较多,可以按作用原理、外形尺寸、保护特征、触点负载、产品用途等分类。 一、按作用原理分 1.电磁继电器 在输入电路内电流的作用下,由机械部件的相对运动产生预定响应的一种继电器。 它包括直流电磁继电器、交流电磁继电器、…...

docker的底层原理,带你上天
1、docker的层级怎么看 先查看当前机器上有哪些镜像 docker images 这里选看mysql的层级 docker image inspect mysql:5.7.29 命令。其中RootFS部分则是表示了分层信息。 2、查看docker的系统信息 因为这台机器的docker不是我安装的,所以不知道具体的根目录在哪里…...

HNU-电子测试平台与工具2-串口实验5次
计算机串口使用与测量 【实验属于电子测试平台与工具】 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 0.环境搭建 在实验开始之前,安装好Ubuntu 20.04操作系统。(这个没有难度) 但要提醒的是,这个ubuntu是xubuntu,而且虚拟硬盘只有10GB的大小…...

Ext JS嵌套分组表格的实现
这里的嵌套分组表格指的是这样一种表格 表格的每一行可以展开下一层的Grid展开的嵌套表格是一个分组的表格显示的效果如下图: 这种显示的方式可以显示 3个层级的数据,比如这里的国家 、 将军等级、将军信息。 如果最外层再使用分组的表格, 则可以显示 4个层级的信息, 这种…...

【配电网重构】基于改进二进制粒子群算法的配电网重构研究(Matlab代码实现
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Python编程语言简介
Python 是荷兰人 Guido van Rossum (吉多范罗苏姆,中国程序员称其为“龟叔”)在 1990 年初开发的一种解释型编程语言。 Python 的诞生是极具戏曲性的,据 Guido 自述记载,Python 语言是在圣诞节期间为了打发无聊的时间…...

ChatGPT国内免费访问
背景 ChatGPT作为一种基于人工智能技术的自然语言处理工具,近期的热度直接沸腾🌋。 作为一个程序员,我也忍不住做了一个基于ChatGPT的网站,免费!免梯子!!国内可直接对话ChatGPT,也…...

从零到无搭建Vue项目及代码风格规范
注:已经有vue项目的可以跳过项目初始化 Vue项目搭建 环境搭建 安装nvm 方便后续切换不通的node版本 nvm官网 傻瓜安装就行 或者搜下自己(非本文重点)nvm 安装好后 安装一个Node版本 本文使用的 有了环境开始创建Vue项目 打开命令行 cmd n…...
ASP.NET基于BS结构的实验室预约模型系统(源代码+论文)
《基于B/S结构的实验室预约模型系统》是采用ASP.NET开发的一个开放实验室预约系统。本系统是针对目前实验室手工管理效率低下,缺乏安全性、可控性等缺点,以校园网为依托,采用科学、高效的教学管理方式,使学校的教学资源得到充分的利用。本系统主要实现了教师根据实际教学情…...

Java货运物流园管理系统源码
技术架构:spring boot、mybatis、redis、vue、element-ui 开发语言:java、vue、uniapp 开发工具:idea、vscode、hbuilder 前端框架:vue 后端框架:spring boot 数 据 库:mysql 移 动 端: …...

Linux4.2LAMP
文章目录 计算机系统5G云计算第一章 LINUX LAMP一、概述二、编译安装Apache httpd服务1.关闭防火墙,将安装Apache所需软件包传到/opt目录下2.安装环境依赖包3.配置软件模块4.编译及安装5.优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量…...

车载ECU休眠唤醒-TJA1145
前言 首先,请教大家几个小小问题,你清楚: 什么是TJA1145吗?你知道休眠唤醒控制基本逻辑是怎么样的吗?TJA1145又是如何控制ECU进行休眠唤醒的呢?使用TJA1145时有哪些注意事项呢? 今天ÿ…...

平衡二叉树的插入,删除以及平衡调整。
一,平衡二叉树插入失衡情况及解决方案 由于各种的插入导致的不平衡,每次调整都是最小不平衡子树。 LL:由于在结点A的 左孩子的左子树 插入结点导致失衡。 右单旋:①将A的 左孩子B 向右上旋转 代替A成为根节点 ②将A结…...
评价指标计算
混淆矩阵: 准确率(Precision):记为P_i,表示被正确预测为类别i的样本数占所有被预测为类别i的样本数的比例。 召回率(Recall):记为R_i,表示被正确预测为类别i的样本数占…...

Spring Boot如何实现OAuth2授权?
Spring Boot如何实现OAuth2授权? OAuth2是一种授权框架,用于授权第三方应用程序访问受保护的资源。在Web应用程序中,OAuth2通常用于授权用户访问受保护的API。 在本文中,我们将介绍如何使用Spring Boot实现OAuth2授权。我们将使…...

【最小生成树模型】
最小生成树(Minimum Spanning Tree)模型原理与应用 引言 最小生成树(Minimum Spanning Tree,简称MST)是图论中的经典问题之一,它在实际应用中有着广泛的应用。本文将介绍最小生成树模型的原理和应用&…...

【JavaSE】Java基础语法(三十):HashMap与TreeMap
文章目录 1. HashMap1.1 HashMap集合概述和特点1.2 HashMap集合应用案例 2. TreeMap2.1 TreeMap集合概述和特点2.2 TreeMap集合应用案例一2.3 TreeMap集合应用案例二 3. 总结 1. HashMap 1.1 HashMap集合概述和特点 HashMap底层是哈希表结构的依赖hashCode方法和equals方法保…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...

Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...