首页 > 其他分享 >div4 题目

div4 题目

时间:2023-12-26 13:24:57浏览次数:36  
标签:curr int Codeforces cin lens ++ 题目 div4

.Dashboard - Codeforces Round 898 (Div. 4) - Codeforces

1.Problem - G - Codeforces这一题我们首先进行分类讨论,因为情况很多

第一种情况当首尾存在一个B的情况时,我们可以吃掉所有的A,这个时候只需要计算出A的数量就可以

第二种情况是当首尾都是A,但是中间有连续的B的时候,这个时候我们也可以分别向左向右吃掉所有的A,次数为A的个数

第三种情况是首尾都是A,且中间没有连续的b,即只有一个单独B,这个时候要贪心选择A多的那一边吃完

 1 signed main() {
 2   cin >> _;
 3   //_ = 1;
 4   while (_--) {
 5     string s;
 6     cin >> s;
 7     // cin >> n;
 8     int n = s.length(), cnt = 0;
 9     
10     bool all = (s[0] == 'B' || s[n - 1] == 'B');
11 
12     for (int i = 0; i < n - 1; i++) {
13       if (s[i] == s[i + 1] && s[i] == 'B') all = true;
14     }
15     
16     vector<int> lens;
17     int curr = 0;
18     for (int i = 0; i < n; i++) {
19       if (s[i] == 'A')
20         curr++;
21       else {
22         if (curr != 0) lens.push_back(curr);
23         curr = 0;
24       }
25     }
26 
27     if (curr != 0) lens.push_back(curr);
28     sort(lens.begin(), lens.end());
29 
30     if (lens.empty()) {
31       cout << 0 << endl;
32       continue;
33     }
34 
35     int tot = 0;
36     if (all) tot += lens[0]; //这种情况不存在连续B且两端没B
37     //此时我们只能选择A多的那一段贪心吃掉
38     for (int i = 1; i < lens.size(); i++) {
39       tot += lens[i];
40     }
41     cout << tot << endl;
42   }
Code

 

标签:curr,int,Codeforces,cin,lens,++,题目,div4
From: https://www.cnblogs.com/rw666/p/17927919.html

相关文章

  • 加入英语题目生成 备注下
    importstringimportrefrompypinyinimportpinyin,lazy_pinyin,Stylefromnltk.corpusimportwordnetaswndefget_all_char_pinyin():path='/www/wwwroot/wonder/wonderful/output2.txt'pinyin_dict={}withopen('/www/wwwr......
  • 算法题:剑指 Offer 07. 重建二叉树(题目+思路+代码+注释)时空时间优先选O(N) O(N) 2ms击
    题目剑指Offer07.重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例1:Input:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例2:Input:......
  • python的任何题目开头加上一句class的语句就是面向对象程序设计吗
    Python的任何题目开头加上一句class的语句并不意味着是面向对象程序设计(Object-OrientedProgramming,OOP)。面向对象程序设计是一种编程范式,它将程序组织为对象的集合,每个对象都有自己的状态和行为,并且可以与其他对象进行交互。在Python中,使用class关键字可以定义类,类是对象的蓝图,描......
  • 【软考】-- 信息系统项目管理师(高级)历年论文题目
    考试年度试题一试题二2023年下11.05资源管理2023年下11.04合同管理2023年下10.29工作绩效域2023年下10.28干系人管理2023年上风险管理2022年下质量管理2022年上干系人管理2021年上范围管理合同管理2020年下成本管理采购管理2019年下整体管理沟通管理2019年上风险管理与安全管理人力......
  • C题目分析:PTA二维数组中每行最大值和每行和
    *首先记住以下:算法框架从内到外。明确改变的条件。明确如何改变。明确导向结果。一。分析流程:输入——组成数组——输出数组和最大值二。细化:S1输入的格式:一行输入,中间空格,最后一格无空格。S2组成数组:运用二维数组,其中前四个数中间有三个空格,且第一个数前有三个空格,第四和五个数中......
  • 前段时间面试Java碰到的一道有意思的题目
    看题前一段时间面试碰见一道题目,感觉挺有意思,特意记录了下来。大概内容就是有一个全局变量i,然后在main方法中有两个嵌套for循环,分别循环100次,然后循环中,开启新线程对变量i执行i++的操作。我对其简单做了一下修改。一起来看下这道题目,不运行,用肉眼的看的话,你觉得是多少?给你1min思......
  • 常见CUDA题目总结
    Foraneffectivethread-levelcoarseningacrossx-axisfora2Dkernelwithlaunchparameters<<<(16,16,1),(64,16,1)>>>,coarseningfactor4andtargetplatformwithwarpsize8,whatwillbetheminimumandmaximumboundforstri......
  • 【笔记】2023.12.19:题目选讲
    笔记2023.12.19:题目选讲不会的题目没在这里展现。一共14道题。gym103371IOrganizingColoredSheets猜结论:两个同一行的sharp的间隙的\(\min\)是\(W\)上界,同一列的sharp的间隙的\(\min\)是\(H\)上界,然后相乘。这是假的,是答案上界,过不去样例二。每个\(H\)对......
  • 计算机网络第四章部分题目解析,202页
    网络层向上提供的服务有哪两种?试比较其优缺点面向连接的服务(Connection-OrientedService):优点:可靠性高:通过建立连接、传输数据、最后释放连接的过程,可以保证数据的可靠性。有序性:数据传输是有序的,不会乱序到达。流量控制:可以通过连接的建立和释放来控制流量,防止网络拥......
  • Java-递归经典题目-汉诺塔
    一、问题TowerofHanoi,是一个源于印度的古老传说:大梵天创建世界时做了三根金刚石柱,在一根柱子从上往下按大小顺序摞着64片黄金圆盘,大梵天命令婆罗门把圆盘重新摆放在另一根柱子上,并且规定:一次只能移动一个圆盘小圆盘上不能放大圆盘请使用程序代码模拟圆盘的移动过程,并估算出时间......