蓝桥杯 灯笼大乱斗【算法赛】

server/2025/3/4 3:40:01/

问题描述

元宵佳节,一场别开生面的灯笼大赛热闹非凡。NN 位技艺精湛的灯笼师依次落座,每位师傅都有相应的资历值,其中第 ii 位师傅的资历值为 AiAi​。从左到右,师傅们的资历值逐级递增(即 A1<A2<⋯<ANA1​<A2​<⋯<AN​)。同时,每位师傅都带来了自己精心制作的灯笼,其亮度值依次为 B1,B2,⋯ ,BNB1​,B2​,⋯,BN​。

大赛中,主持人会选择一个区间 [L,R][L,R](1≤L<R≤N1≤L<R≤N),让这个区间内的师傅们进行两两比拼,构成一场“灯笼大乱斗”。

比拼规则如下:假设在区间 [L,R][L,R] 中,由师傅 ii 和师傅 jj(L≤i<j≤RL≤i<j≤R)进行对决。对决双方分别持有自己的灯笼。

  • 如果师傅 ii 的灯笼亮度 BiBi​ 小于师傅 jj 的灯笼亮度 BjBj​,则双方交换灯笼(相应地,如果 Bi≥BjBi​≥Bj​,则不交换)。
  • 双方最终的得分计算方式为:资历值 + 持有灯笼的亮度。得分高者获胜,得分相同则平局。

由于在比赛中,资历深的师傅输给资历浅的师傅,将会有损颜面。因此,为了避免这种情况发生,主持人需要选择必胜区间。

必胜区间定义:如果一个区间内任意两位师傅进行比赛,资历值高的师傅都必定能够获胜,则称该区间为必胜区间。

现在,请你帮主持人算算,必胜区间共有多少个?

输入格式

第一行包含一个整数 NN (1≤N≤105)(1≤N≤105),表示灯笼师傅的数量。

第二行包含 NN 个整数 A1,A2,…,ANA1​,A2​,…,AN​ (1≤Ai≤109)(1≤Ai​≤109),表示每位师傅的资历值,满足 A1<A2<⋯<ANA1​<A2​<⋯<AN​。

第三行包含 NN 个整数 B1,B2,…,BNB1​,B2​,…,BN​ (1≤Bi≤109)(1≤Bi​≤109),表示每位师傅的灯笼亮度值。

输出格式

输出一个整数,表示必胜区间的总数量。

样例输入

3
1 3 5
3 4 1

样例输出

1

 [L,R]必胜,只需要看R+1和R的关系就好了,如果R+1能赢R,则R+1必胜[L,R]

具体证明不会

#include <iostream>
using namespace std;
int main()
{int n;cin>>n;int an[n], bn[n], cn[n];for(int i=0; i<n; i++){cin>>an[i];} for(int i=0; i<n; i++){cin>>bn[i];} long long int num = 1, res = 0;for(int i=1; i<n; i++){if(bn[i] > bn[i-1]){if(an[i] - bn[i] > an[i-1] - bn[i-1]){res += num;++num;}else{num = 1;}}else{if(an[i] + bn[i] > an[i-1] + bn[i-1]){res += num;++num;}else{num = 1;}}}cout<< res;return 0;
}

结果res类型必须为longlongint ,int是不行的


http://www.ppmy.cn/server/172238.html

相关文章

谈谈 Node.js 中的模块系统,CommonJS 和 ES Modules 的区别是什么?

Node.js 模块系统&#xff1a;CommonJS 和 ES Modules 核心差异与实战指南 一、模块系统基础概念 **CommonJS (CJS)**​ 是 Node.js 传统模块系统&#xff0c;采用同步加载方式&#xff0c;典型特征&#xff1a; // 导出 module.exports { name: cjs }; // 或 exports.nam…

内网渗透测试-Vulnerable Docker靶场

靶场来源&#xff1a; Vulnerable Docker: 1 ~ VulnHub 描述&#xff1a;Down By The Docker 有没有想过在容器中玩 docker 错误配置、权限提升等&#xff1f; 下载此 VM&#xff0c;拿出您的渗透测试帽并开始使用 我们有 2 种模式&#xff1a; - HARD&#xff1a;这需要您将 d…

SoapUI 结合 Postman 测试 WebService 协议

SoapUI 结合 Postman 测试 WebService 协议 一、WebService 协议概述 WebService 是一种基于标准的 Web 应用程序接口&#xff0c;允许不同系统之间通过网络进行通信和数据交换。常见的 WebService 协议有 SOAP&#xff08;Simple Object Access Protocol&#xff09;&#x…

C++对象特性

#构造函数 和 析构函数 构造函数:主要为对象属性赋值 语法:类名(){} 注意: 1.无返回值也无void 2.函数名称与类名相同 析构函数 语法:~类名(){} 注意: 1.无返回值也无void 2.不可以有参数&#xff0c;不可发生重载 class Person { public://构造函数Person(){cout<<&quo…

C语言入门资料分享源码+PDF速查手册

01 目标&#xff1a;掌握基础语法&#xff0c;能编写简单的程序 源码PDF获取 通过网盘分享的文件&#xff1a;C语言入门到精通.rar 链接: https://pan.baidu.com/s/1lcKj3aywRJUecLmoDeQfFg?pwdxiyx 提取码: xiyx 02 环境搭建 安装编译器&#xff08;推荐GCC/MinGW/M…

Trae智能协作AI编程工具IDE:如何在MacBook Pro下载、安装和配置使用Trae?

Trae智能协作AI编程工具IDE&#xff1a;如何在MacBook Pro下载、安装和配置使用Trae&#xff1f; 一、为什么选择Trae智能协作IDE&#xff1f; 在AI编程新时代&#xff0c;Trae通过以下突破性功能重新定义开发体验&#xff1a; 双向智能增强&#xff1a;AI不仅提供代码补全&a…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(6)

详解&#xff08;6&#xff09; 初始化监听套接字数组&#xff08;listening&#xff09; n old_cycle->listening.nelts ? old_cycle->listening.nelts : 10;if (ngx_array_init(&cycle->listening, pool, n, sizeof(ngx_listening_t))! NGX_OK){ngx_destroy_p…

SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者

SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者 文章目录 目录 前言 一、启动SQL server服务的三种方法 1.不启动SQL server服务的影响 2.方法一&#xff1a;利用cmd启动SQL server服务 3.方法二&#xff1a;利用SQL Serv…