Codeforces Round 833 (Div. 2)

news2025/1/10 21:30:59

比赛链接:Dashboard - Codeforces Round 833 (Div. 2) - Codeforces

B. Diverse Substrings

题意:

思路:

当字符串长度 > 10 时,每个字符出现的次数至少是 2 次 ( 0 ~ 9 个出现一次,剩余字符出现 )

当字符串长度 > 20 时,每个字符出现的次数至少是 3 次

......

当字符串长度 > 100 时,每个字符出现的次数至少是 11 次

但是数字种类就只有 10 个 ( 0 ~ 9 ),所以当字符串长度 > 100时,一定是错误的

所以只用枚举长度在 100 以内的即可

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{
    int n; cin >> n;
    string s; cin >> s;
    int ans = 0;
    for( int i = 0 ; i < n ; i++)
    {
        int cnt[10] = { 0 };
        int mx = 0; int temp = 0;
        for( int j = i ; j < min( i + 101 , n ) ; j++ )
        {
            if( cnt[ s[j] - '0' ] == 0 ) temp++;
            cnt[ s[j] - '0' ]++;
            mx = max( mx , cnt[s[j] - '0']);
            if( temp >= mx )ans++;
        }
    }
    cout << ans << endl;
}
signed main()
{
    int tt; cin >> tt;
    while(tt--)solve();
    return 0;
}

C. Zero-Sum Prefixes

题意:

 

思路:(贪心)

n = 9

a =              1         0       0        1       -1         0      1       0        -1

前缀和         1         1       1        2        1         1      2        2        1

                               x        y                             z               p

   要使前缀尽量变为0 ,所以这个数就要尽量变成 [ y , z )中前缀和的众数的相反数,此时贡献最大

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{
    int n; cin >> n;
    vector<int> a(n + 1);
    for( int i = 1; i <= n; i++ ) cin >> a[i];
    vector<int> pre(n + 1);
    vector<int> b;
    for( int i = 1; i <= n; i++)
    {
        pre[i] = pre[i-1] + a[i];
        if( !a[i] ) b.push_back(i);
    }
    if( b.size() == 0 ) // 没有0的时候单独讨论一下
    {
        int ans = 0;
        for( int i = 1 ; i <= n; i++) 
        {
            if( pre[i] == 0 ) ans++;
        }
        cout << ans << endl;
        return;
    }
    int ans = 0;
    for( int i = 1 ; i < b[0] ; i++)
        if( !pre[i] )ans++; // 在第一个0之前的前缀和有多少贡献

    b.push_back( n + 1 ); // 为了下面与 b[ i + 1 ]那个方便
    for( int i = 0 ; i < b.size() - 1 ; i++)
    {
        map<int,int> mp;
        int mx = 0;
        for( int j = b[i] ; j < b[i + 1] ; j++)
        {
            mp[pre[j]]++;
            mx = max( mx , mp[pre[j]] ); // 找众数
        }
        ans += mx;
    }
    cout << ans << endl;
}
signed main()
{
    int tt; cin >> tt;
    while(tt--)solve();
    return 0;
}

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

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

相关文章

Kali Linux 下载与安装手册

目录 Kali 是什么&#xff1f; 通过Kali官方网站下载 Kali 是什么&#xff1f; Kali Linux&#xff0c;前称BackTrack&#xff0c;是一个基于Debian的Linux发行版&#xff0c;专为数字取证和渗透测试而设计。它由Offensive Security Ltd.开发和维护&#xff0c;旨在为安全专…

10.10 题目总结(累计)

1.完成所有任务需要的最少轮数(思路) 思路:将数组的数依次放到map里面,如果有相同则在原有的基础上加一,然后全部放完之后,就遍历map,然后计算总次数,然后有一次的的则直接返回. AC: class Solution {public int minimumRounds(int[] tasks) {HashMap<Integer, Integer>…

【C++】--类和对象(3)

&#x1f911;个人主页: 起名字真南 &#x1f911;个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 深入构造函数2 类型转换3 static成员4 友元函数5 内部类6 匿名对象 1 深入构造函数 之前我们实现构造函数的时候&#xff0c;初始化成员变量都是在函数体内赋值&#xff0c…

linux-冯诺伊曼体系结构以及操作系统

冯诺依曼体系结构 我们不畅见到计算机&#xff0c;如笔记本&#xff0c;不常见的如服务器&#xff0c;大部分都遵循着冯诺伊曼体系结构 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是由一个个硬件组件组成。 输入单元&#xff1a;包括键盘 , 鼠标&#xff0c;扫描…

鸿蒙开发之ArkUI 界面篇 二十四 计数器案例

计数器案例&#xff0c;点击’-‘按钮&#xff0c;数字减少1&#xff0c;点击啊‘’按钮&#xff0c;数字加一 分析&#xff1a;这里需要三个组件&#xff0c;外层容器是Row&#xff0c;从左往右的组件分别是ButtonTextButton&#xff0c;涉及到修改更新界面&#xff0c;变量需…

Java语言教程:打造你的第一款五子棋游戏 JAVA学习攻略心得总结

目录 Java语言教程&#xff1a;打造你的第一款五子棋游戏 游戏简介 游戏代码 自学Java攻略及功能 1. Java基础知识 2. 面向对象编程&#xff08;OOP&#xff09; Java简介 游戏简介 五子棋&#xff0c;又称连珠&#xff0c;是一种两人对弈的棋类游戏。五子棋的规则简单易…

红帽7—Mysql路由部署

MySQL Router 是一个对应用程序透明的InnoDB Cluster连接路由服务&#xff0c;提供负载均衡、应用连接故障转移和客户端路 由。 利用路由器的连接路由特性&#xff0c;用户可以编写应用程序来连接到路由器&#xff0c;并令路由器使用相应的路由策略 来处理连接&#xff0c;使其…

添加菜品到购物车

分析 数据库设计 代码开发 三个步骤&#xff1a; 判断当前商品是否已经在购物车中如果在购物车中&#xff0c;更新购物车中商品数量如果不在购物车中&#xff0c;添加到购物车 controller层 /*** 添加购物车** return*/PostMapping("/add")ApiOperation("添加购…

MediaTek携手“天玑芯世界探索官”辛芷蕾,开启科技新世界

2024年10月9日&#xff0c;MediaTek举办 2024天玑旗舰芯片新品发布会&#xff0c;正式发布旗舰 5G 智能体 AI 芯片天玑 9400。发布会上&#xff0c;MediaTek回顾了天玑品牌5周年的辉煌历程&#xff0c;展望了AI技术将推动人类进入一个充满人文关怀和情感交流的智慧科技新世界&a…

智能优化算法-引力搜索优化算法(GSA)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 引力搜索优化算法 (Gravitational Search Algorithm, GSA) 是一种基于牛顿万有引力定律的元启发式优化算法&#xff0c;由Rashedi等人于2009年提出。GSA通过模拟天体之间的引力作用来搜索最优解&#xff0c;适用…

.NET周刊【9月第4期 2024-09-22】

国内文章 .NET常见的几种项目架构模式&#xff0c;你知道几种&#xff1f;&#xff08;附带使用情况投票&#xff09; https://www.cnblogs.com/Can-daydayup/p/18421685 文章介绍了软件项目的几种架构模式&#xff0c;包括三层架构、MVC、DDD、整洁架构和CQRS。这些模式通过…

算法:双指针系列(二)——对撞指针

双指针系列&#xff08;二&#xff09;——对撞指针 &#xff08;一&#xff09;盛水最多的容器&#xff08;一&#xff09;题目分析&#xff08;二&#xff09;代码展示 二、有效的三角形个数&#xff08;一&#xff09;题目分析&#xff08;二&#xff09;代码展示 三、查找总…

Scalable TCP 如何优化长肥管道

来看一个极简的拥塞控制实现 net/ipv4/tcp_scalable.c&#xff0c;去掉注释不到 50 行代码。它的介绍在 Scalable TCP-improving performance in highspeed networks。由于太简单&#xff0c;估计没什么人会在意。 本文说一下它背后的道理。 无论 bic/cubic&#xff0c;westw…

从0开始linux(10)——进程(2)进程属性

欢迎来到博主的专栏&#xff1a;从0开始linux 博主ID&#xff1a;代码小豪 文章目录 进程与操作系统并发与并行进程的状态 linux的进程状态 进程与操作系统 进程的状态可分为3种&#xff0c;分别是新建态&#xff0c;运行态&#xff0c;终止态&#xff0c;就绪态与阻塞态。状态…

【深度学习总结】热力图-Grad-CAM使用

Grad-CAM使用 介绍 Grad-CAM&#xff0c;全称为Gradient-weighted Class Activation Mapping&#xff0c;是一种用于深度学习模型可视化的技术&#xff0c;特别是在卷积神经网络&#xff08;CNN&#xff09;中。它通过生成热力图来展示模型在做出决策时关注的区域&#xff0c…

反应香精市场报告:预计2030年全球市场规模将达到264.3亿美元

“反应香精”通常是指通过在食品或饮料加工过程中发生的物理、化学或酶反应而产生的风味剂。可以有意添加这些香料以增强最终产品的味道、香气或其他感官方面。它们通常用于食品和饮料行业&#xff0c;以保持一致性、提高适口性或创造独特的风味特征。生产工艺香料的方法有多种…

[论文阅读] DVQA: Understanding Data Visualizations via Question Answering

原文链接&#xff1a;http://arxiv.org/abs/1801.08163 启发&#xff1a;没太读懂这篇论文&#xff0c;暂时能理解的就是本文提出了一个专门针对条形图问答的数据集DVQA以及一个端到端模型SANDY&#xff0c;模型有两个版本&#xff0c;Oracle和OCR。主要解决的问题是固定词表无…

树莓派3b安装ubuntu18.04服务器系统server配置网线连接

下载ubuntu镜像网址 img镜像&#xff0c;即树莓派官方烧录器使用的镜像网址 ubuntu18.04-server&#xff1a;ARM/RaspberryPi - Ubuntu Wiki 其他版本&#xff1a;Index of /ubuntu/releases 下载后解压即可。 发现使用官方烧录器烧录配置时配置wifi无论如何都不能使用&am…

AI的历史、现状与理论基础

在本篇文章中&#xff0c;我们将深入探讨人工智能&#xff08;AI&#xff09;的起源、现状以及理论基础&#xff0c;为读者提供一个全面的理解框架。 I. 引言 人工智能&#xff08;AI&#xff09;作为一门跨学科的研究领域&#xff0c;其目标是模拟、延伸和扩展人的智能。本文…

是德(KEYSIGHT) N9040A、N9040B 信号分析仪

Keysight N9040B 的特性和规格包括&#xff1a; 功能性 3 Hz 至 8.4、13.6 或 26.5 GHz&#xff1b;使用是德科技智能混频器将频率扩展至 110 GHz&#xff0c;使用其他供应商的混频器将频率扩展至 THz10 MHz&#xff08;标准&#xff09;、25、40、255 或 510 MHz 分析带宽全…