Codeforces Round #909 (Div. 3)

news2024/11/20 11:29:11

A. Game with Integers

签到题,但是本蒟蒻11分钟才AC,主要还是英文题面不熟练,题目中加粗了after,只有下一步操作之后能被整除才胜利。

英文题面的加粗单词很重要,注意提高签到题速度。

B. 250 Thousand Tons of TNT

被英文题面卡了两发。

The first k boxes,The second k boxes...意思是每连续k个分别入卡车,不是你自由能选的。

C. Yarik and Array

同样被英文题面误导了,但是做到过类似的题目,正解可以是栈或者dp。

每个数值入栈一次,如果栈顶和当前值奇偶性不同则入栈(注意负数用%2判断要取绝对值),不能入栈就先清空栈,再入栈。

用一个值sum动态维护栈的总和,如果sum<0,那么这一串区间对最终答案就是负贡献,清空栈。

subarray,指的是原序列中一串连续的子序列,当然也可以是array本身。

斜体单词也重要。

补题:D. Yarik and Musical Notes

看懂简单,但是做本蒟蒻就做不出来了  :)

化简题面就一个式子。

你需要判断对于任意的x和y,是否能使等式相等。(x和y就是题目中a序列的取值)

式子化简步骤:

第一步化简,幂的乘方法则:幂的乘方,底数不变,指数相乘。

第二步化简,取二的对数。

第三步化简,换了一下位置。

后续没有化简了,我们自行修改。

根据右式可以发现,等式若成立左右取值均为2的幂次。

显然有式子

成立,这样左式相除之后才能是2的幂次。(其中k>=0)

代入a


再次处理

a=b*2^k

k=0,即a=b

k=1,即b=1,a=2

k>=2,b再也取不到整数了。

也就是说这道题只要两个for,枚举一下原序列去配对一下就好了。

但是数据范围是2e5级别的,n^2过不了,考虑优化枚举过程。

优化

2能被配对的次数是前面1出现的次数和2出现的次数。

3能被配对的次数的前面3出现的次数。

那么用哈希表记录一下每个数出现的次数即可。

注意

n的范围是2e5,假设所有数都能被配对,答案极限会爆int范围,记得开long long。

上面b=2,a=1,a和b是任取的,所以前面的1可以对后面的2,前面的2也可以对后面的1。

多次测试记得初始化。

AC代码

#include <bits/stdc++.h>
#define int long long
using namespace std;

inline int read(){
    int x=0;char c=getchar();
    while(c<48 or c>57)c=getchar();
    while(c>=48 and c<=57)x=(x<<3)+(x<<1)+(c xor 48),c=getchar();
    return x;
}

int n,ans;
map<int,int>f;

void solve(){
    f.clear();
    ans=0;

    n=read();
    for(int i=1,t;i<=n;++i){
        t=read();
        ans+=f[t];//相同配对
        if(t==2)ans+=f[1];
        if(t==1)ans+=f[2];
        f[t]++;
    }
    cout<<ans<<endl;
}

signed main(){
    int t=read();
    while(t--)solve();
    return 0;
}

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

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

相关文章

leetcoe刷题日志-6N字形变换

将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; 之后&#xff0c;你的输出需要从左往右逐行读取&#xff0c;产生出一个新的字符串&#…

【数据结构】图的存储结构(邻接矩阵)

一.邻接矩阵 1.图的特点 任何两个顶点之间都可能存在边&#xff0c;无法通过存储位置表示这种任意的逻辑关系。 图无法采用顺序存储结构。 2.如何存储图&#xff1f; 将顶点与边分开存储。 3.邻接矩阵&#xff08;数组表示法&#xff09; 基本思想&#xff1a; 用一个一维数…

公共字段自动填充-Mybatis Plus实现

简历描述 使用ThreadLocal动态获取当前登录用户&#xff0c;从而解决MybatisPlus公共字段自动填充问题。达到简化编码的目的&#xff0c;使业务方法更加简洁。 问题分析 前面我们已经完成了后台系统的员工管理功能的开发&#xff0c;在新增员工时需要设置创建时间、创建人、…

Mol-Instructions:大模型赋能,药物研发新视野

论文标题&#xff1a;Mol-Instructions: A Large-Scale Biomolecular Instruction Dataset for Large Language Models 论文链接&#xff1a; https://arxiv.org/pdf/2306.08018.pdf Github链接&#xff1a; https://github.com/zjunlp/Mol-Instructions 模型下载&#xf…

Java 省考试院自学考试考籍管理系统

1) 项目简介 考籍管理系统是省考试院自学考试管理系统的一部分&#xff0c;包括考生考籍档案管理、考生免考管理、课程顶替、考籍转入转出管理、毕业管理和日志管理等功能模块。该项目的建设方便和加强了省考试院对自学考试考籍的一系列管理操作&#xff0c;社会效应明显。…

<MySQL> 如何合理的设计数据库中的表?数据表设计的三种关系

目录 一、表的设计 二、一对一关系 三、一对多关系 四、多对多关系 一、表的设计 数据库设计就是根据需要创建出符合需求的表。 首先根据需求找到体系中的关键实体对象&#xff0c;通常每个实体对象都会有一个表&#xff0c;表中包含了这个实体的相关属性。 再理清楚实体对…

【Linux网络】详解使用http和ftp搭建yum仓库,以及yum网络源优化

目录 一、回顾yum的原理 1.1yum简介 yum安装的底层原理&#xff1a; yum的好处&#xff1a; 二、学习yum的配置文件及命令 1、yum的配置文件 2、yum的相关命令详解 3、yum的命令相关案例 三、搭建yum仓库的方式 1、本地yum仓库建立 2、通过http搭建内网的yum仓库 3、…

Sa-Token 整合Java17和SpringBoot

目录 前言引入项目开启登录认证路由拦截鉴权解决兼容问题总结 前言 之前无意中发现Sa-Token权限认证框架&#xff0c;项目十分好用。 项目地址&#xff1a; https://github.com/dromara/sa-token 官网地址&#xff1a; https://sa-token.cc/doc.html#/start/example 我的个人…

64位ATT汇编语言使用bss段.skip指令储存字符,并使用系统调用输出字符

.global main .section .data .section .bss# 需要输出的字符数组&#xff0c;还没有初始化mystring: .skip 4 .section .text main:# 将mystring这个字符串的地址存入到rbx寄存器中leaq mystring,%rbx# 将a放入到mystring第一个字节里边movb $a,(%rbx)# 将地址往后边移动一个字…

C语言的由来与发展历程

C语言的起源可以追溯到上世纪70年代&#xff0c;由Dennis Ritchie在贝尔实验室开发出来。C语言的设计目标是提供一种简洁、高效、可移植的编程语言&#xff0c;以便于开发底层的系统软件。在那个时代&#xff0c;计算机技术正在迅速发展&#xff0c;出现了多种高级编程语言&…

Python接口自动化测试之token参数关联!

前言 在做自动化接口测试时&#xff0c;有时候会遇到token的动态关联&#xff0c;例如查询余额接口&#xff0c;需要关联登录接口的token动态值&#xff0c;如何利用python脚本进行接口token关联呢?今天我们爱学习一下吧&#xff01; 一&#xff1a;获取登录接口返回的token…

掌握深度学习利器——TensorFlow 2.x实战应用与进阶

掌握深度学习利器——TensorFlow 2.x实战应用与进阶 摘要&#xff1a;随着人工智能技术的飞速发展&#xff0c;深度学习已成为当下最热门的领域之一。作为深度学习领域的重要工具&#xff0c;TensorFlow 2.x 备受关注。本文将通过介绍TensorFlow 2.x的基本概念和特性&#xff…

面向未来的自动化:拥抱机器人即服务(RaaS)

01. RaaS是什么&#xff1f; 对于希望实现业务流程自动化的公司来说&#xff0c;机器人通常是一笔巨大的资本支出。由于机器人非常昂贵&#xff0c;公司可能需要等待数年才能看到投资回报。正是由于这一现实&#xff0c;许多较小的组织无法投资机器人。 但一些机器人公司正在采…

2023.11.18 每日一题(AI自生成应用)【C++】【Python】【Java】【Go】 动态路径分析

目录 一、编程挑战&#xff1a;动态时间序列分析 实际应用&#xff1a; 实现提示&#xff1a; 二、实现 1. C 2. Python 3. JAVA 4. Go 一、编程挑战&#xff1a;动态时间序列分析 问题描述&#xff1a; 假设你是一名软件工程师&#xff0c;需要开发一个应用来分析和预…

springboot项目中获取业务功能的导入数据模板文件

场景: 在实际业务场景中,经常会遇到某些管理功能需要数据导入共功能,但既然是导入数据,肯定会有规则限制,有规则就会有数据模板,但这个模板一般是让客户自己下载固定规则模板,而不是让客户自己随便上传模板。下面介绍直接下载模板 一、下载模板示例 1、在项目的…

最短路问题

单源最短路 Dijkstra算法 力扣 743.网络延迟时间 const int N 7777; int INF 0x3f3f3f3f; class Solution {struct edge {int v, w;};vector<edge> e[N];int d[N], vis[N]; //d数组存储最短路径长度priority_queue <pair<int, int>, vector<pair<int…

栈的实现及OJ练习(c语言)

目录 前言 栈 栈的实现&#xff08;数组栈&#xff09; 初始化栈 入栈 出栈 获取栈顶元素 获取栈中有效元素个数 检测栈是否为空 销毁栈 最终代码&#xff1a; 选择练习 栈的OJ题 前言 我们在之前已经学习了顺序表和链表的概念&#xff0c;它们有这样的优缺点&a…

周年纪念篇

一周年纪念&#xff01; 凌晨逛手机版csdn时才突然发现已经错过一周年了&#xff0c;但我当闰年来纪念一下不过分吧hhh 浅浅的整些怀念的东西吧&#xff01; 这是人生第一段代码&#xff1a;不是hello world写不起&#xff0c;而是纯爱单推人更有性价比。 有这段代码在&#x…

Zabbix Proxy分布式监控

目录 Zabbix Proxy简介 实验环境 proxy端配置 1.安装仓库 2.安装zabbix-proxy 3.创建初始数据库 4.导入初始架构和数据&#xff0c;系统将提示您输入新创建的密码 5.编辑配置文件 /etc/zabbix/zabbix_proxy.conf&#xff0c;配置完成后要重启。 agent客户端配置 zabbix…

可燃气体监测仪|燃气管网监测解决办法

可燃气体监测仪是城市生命线中&#xff0c;燃气监测运行系统的前端监测设备&#xff0c;其主要作用是对燃气管网的安全状况进行实时监测。燃气管道在使用过程中&#xff0c;由于老化、裂纹、锈蚀等问题&#xff0c;容易导致燃气出现泄漏问题&#xff0c;从而引发一系列的安全事…