Codeforces Round #833 (Div. 2)A — C

news/2024/12/29 16:10:41/

Codeforces Round #833 (Div. 2)

A. The Ultimate Square

题目分析

除以二向上取整即为答案

code
#include<bits/stdc++.h>using namespace std;int n, m, k, t;void solve()
{cin >> n;cout << (n + 1) / 2 << "\n";
}int main()
{cin >> t;while(t --) solve();return 0;
}

B. Diverse Substrings

题目大意

非空数字字符串中每个字符的出现次数不超过其中不同字符的数量,则该字符串是多样化的。求一个字符串多样化子串的个数。

题目分析

一共有十种字符,所以满足条件的字串最长长度为100,,所以只需要遍历长度为100以内的子串即可,结合数据范围我们可以直接采取暴力解法,判断每一个子串是否满足条件。

code
#include<bits/stdc++.h>using namespace std;int n, m, k, t;
string s;
map<char, int>q;void solve()
{long long ans = 0;cin >> n >> s;for(int i = 0; i < n; i ++){q.clear();int cnt = 0;int maxn = 0;for(int j = i; j < min(i + 100, n); j ++){if(!q[s[j]]) cnt ++;q[s[j]] ++;maxn = max(maxn, q[s[j]]);if(maxn <= cnt) ans ++;}}cout << ans << "\n";
}int main()
{cin >> t;while(t --) solve();return 0;
}

C. Zero-Sum Prefixes

题目大意

数组的评分定义为从前缀和为零的,索引 i (1≤i≤n)的个数。每个可以多次执行以下操作:选择一个a[i]=0的索引 i ;然后a[i]替换为任意整数。

通过执行一系列这样的操作,数组的最大可能得分是多少?

题目分析

以下提到的前缀和均为从第一个数开始累计的和

改变某一个位置的数,只会影响此位置以及之后位置的前缀和,假定两个符合a[i]=0的下标为ij(i < j, 且之间没有其他符合a[]=0的点),使得区间[i, j)内更多前缀和为零即可此段能够得到的最大得分,若有多个0则每段都满足即可

需要注意的是,区间[i, j)右边为开区间,因此我们需要额外设定第n+1个点为0才能做到全部考虑到每个位置

使得区间[i, j)内更多前缀和为零,可以找到此区间内出现次数最多的前缀数值x,此时x的数量即为此段可提供的最大得分(令a[i] = -x)

code
#include<bits/stdc++.h>using namespace std;const int N = 2e5 + 10;
typedef long long ll;int n, m, k, t;
ll a[N];
ll b[N];void solve()
{vector<int>v;cin >> n;for(int i = 1; i <= n; i ++) {cin >> a[i];if(a[i] == 0) v.push_back(i);a[i] = a[i] + a[i - 1];}v.push_back(n + 1);ll ans = 0;for(int i = 1; i < v[0]; i ++)if(a[i] == 0) ans ++;for(int i = 0; i < v.size() - 1; i ++){map<ll, int>q;int maxn = 0;for(int j = v[i]; j < v[i + 1]; j ++){q[a[j]] ++;maxn = max(maxn, q[a[j]]);}ans += maxn;}cout << ans << "\n";
}int main()
{cin >> t;while(t --) solve();return 0;
}

http://www.ppmy.cn/news/1246.html

相关文章

[附源码]Python计算机毕业设计Django交通事故档案管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【网络编程】第三章 网络套接字(TCP协议程序+多进程+多线程+线程池)

&#x1f3c6;个人主页&#xff1a;企鹅不叫的博客 ​ &#x1f308;专栏 C语言初阶和进阶C项目Leetcode刷题初阶数据结构与算法C初阶和进阶《深入理解计算机操作系统》《高质量C/C编程》Linux ⭐️ 博主码云gitee链接&#xff1a;代码仓库地址 ⚡若有帮助可以【关注点赞收藏】…

react路由v6版本NavLink的两个小坑及解决

本人新人&#xff0c;是按照文档进行学习的&#xff0c;今遇到两个小坑&#xff0c;现记录如下&#xff1a; 第一点&#xff0c;当前版本的NavLink的style或者className当中的isActive&#xff0c;不需要你对isActive进行任何操作&#xff0c;基本上照官网抄就可以了&#xff…

【电商项目实战】上传头像(详细篇)

&#x1f341;博客主页&#xff1a;&#x1f449;不会压弯的小飞侠 ✨欢迎关注&#xff1a;&#x1f449;点赞&#x1f44d;收藏⭐留言✒ ✨系列专栏&#xff1a;&#x1f449;SpringBoot电商项目实战 ✨学习社区&#xff1a; &#x1f449;不会压弯的小飞侠 ✨知足上进&#x…

nginx配置文件 location语法

1&#xff1a;nginx官方文档给出location语法如下&#xff1a; location [|~|~*|^~] uri { ....... }2&#xff1a;路径匹配 开头表示精确匹配。如 A 中只匹配根目录结尾的请求&#xff0c;后面不能带任何字符串&#xff1b;^~ 开头表示uri以某个常规字符串开头&#xff0c;不是…

ts和es6到底有哪些不同

区别&#xff1a;1、TS是一种免费的开源编程语言&#xff0c;由微软开发和维护&#xff1b;而ES6是ECMA国际标准化的脚本语言规范。 2、TS支持所有原始数据类型&#xff0c;ES6不支持。 3、TS有3个作用域&#xff0c;ES6有2个。 4、TS模块分内部和外部模块&#xff0c;ES6模…

Android Camera性能分析 - 第27讲 Request Latency

​ 本讲是Android Camera性能分析专题的第27讲 ​&#xff0c;我们介绍CameraServer Request Latency&#xff0c;包括如下内容&#xff1a; Request Latency是什么Request Latency配置Request Latency实战 视频在线观看&#xff1a; 极客笔记&#xff1a;极客笔记在线课程加…

单链表初阶的两道基础题

初阶链表刷题翻转单链表&#xff08;链接在末尾&#xff09;链表的倒数第K个结点&#xff08;链接在末尾&#xff09;普通解法进阶解法注意&#xff01;&#xff01;&#xff01;学习的是解题的思维&#xff01; 翻转单链表&#xff08;链接在末尾&#xff09; 解题思路 如果给…