2019湘潭赛题解 | E题 XTCPC (三种写法)

Doris + Iceberg 实现高效数据湖分层:架构解析与最佳实践 本文深入解析了如何利用Doris与Iceberg构建高效的数据湖冷热分层架构。通过将高频访问的热数据存储在Doris中以实现毫秒级查询,同时将历史冷数据归档至低成本的Iceberg存储,该方案在保障查询性能的同时显著降低了总体拥有成本。文章详细阐述了从架构设计、自动化迁移到统一查询的最佳实践,为应对海量数据下的成本与性能平衡提供了实战指南。 阅读详情

这道题

在比赛的时候其实已经有思路了

但是在最后45分钟的时候 队友说我们就选一道题来做吧……

然后选了B题 (就是题意理解错误了的那题 so没做出来)

放一下E题题面

 

E - Hello XTCPC

You have a string of lowercase letters.You need to find as many sequence “xtCpc” as possible.But letters in the same position can only be used once。 

Input

The input file contains two lines. 

The first line is an integer nn show the length of string.(1≤n≤2×1051≤n≤2×105) 

The second line is a string of length n consisting of lowercase letters and uppercase letters. 

Output

The input file contains an integer show the maximum number of different subsequences found. 

Sample Input

10
xtCxtCpcpc

Sample Output

2

赛后 

我们三个人都想补这题

其实比赛的时候已经有思路了 

但是没有很好的实现

将 x t C p c 五个字母出现的位置保存起来

找到 x的位置 < t的位置 < C的位置 < p的位置 < c的位置

计数+1

继续找下一个存在这样关系的位置

以下是三个人的代码

我的:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <bits/stdc++.h>
using namespace std;
char s[200050];
int main()
{
    int n;
    while (~scanf("%d",&n))
    {
        int x=0,t=0,C=0,p=0,c=0;
        scanf("%s",s);
        for (int i=0; i<n; i++)
        {
            if (s[i] == 'x')
                x++;
            else if (s[i]=='t' && x)
            {
                x--;
                t++;
            }
            else if (s[i]=='C' && t)
            {
                t--;
                C++;
            }
            else if (s[i]=='p' && C)
            {
                C--;
                p++;
            }
            else if (s[i]=='c' && p)
            {
                p--;
                c++;
            }
        }
        printf("%d\n",c);
    }
    return 0;
}

起初没有想到这么简洁的思想

在看所有人的代码的时候发现的

瞬间觉得的 怎么这么简单!!

 

Alone写的:

#include <iostream>
#include <bits/stdc++.h>
#include <cstdio>
#include <cstring>
using namespace std;
queue <int> x,t,C,p,c;
int main()
{
    //freopen("in.txt","r",stdin);
    int n;
    while(~scanf("%d",&n))
    {
        getchar();
        while(!x.empty())
            x.pop();
        while(!c.empty())
            c.pop();
        while(!t.empty())
            t.pop();
        while(!p.empty())
            p.pop();
        while(!C.empty())
            C.pop();

        char s;
        for(int i=1; i<=n; i++)
        {
            scanf("%c",&s);
            // printf("%c**\n",s);
            if(s=='x')
                x.push(i);
            else if(s=='t')
                t.push(i);
            else if(s=='C')
                C.push(i);
            else if(s=='p')
                p.push(i);
            else if(s=='c')
                c.push(i);
        }

        int ans=0,sign=0;

        while(!x.empty())
        {
            int now1=x.front();
            while(!t.empty())
            {
               // cout << t.front() << " "<< now1<< endl;
                if(t.front()<=now1)
                    t.pop();
                else
                {
                    int now2=t.front();
                    while(!C.empty())
                    {
                        //cout << C.front() << " " << now2 <<endl;
                        if(C.front()<=now2)
                            C.pop();
                        else
                        {
                            int now3=C.front();
                            while(!p.empty())
                            {
                              //  cout << p.front() << " " << now3 << endl;
                                if(p.front()<=now3)
                                    p.pop();
                                else
                                {
                                    int now4=p.front();
                                    while(!c.empty())
                                    {
                                        //cout << c.front() << " "<< now4 <<endl;
                                        if(c.front()<=now4)
                                            c.pop();
                                        else
                                        {
                                            sign=1;
                                            ans+=1;
                                            c.pop();
                                            x.pop();
                                            t.pop();
                                            C.pop();
                                            p.pop();
                                            break;
                                        }
                                    }
                                    break;
                                }
                            }
                            break;
                        }
//                        break;
                    }
                    break;
                }
//                break;
            }
            if(sign!=1)
                break;
            if(sign)
            {
                sign=0;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}

一看就觉得好吓人

但 我还是把她的代码改好了

(原来的代码是错的 她多写了一个; 还多写了两个break 导致WA了7/8遍 心态都崩了 我就说 你别写了 换个题目做……)

 

大白也WA了三四次…… 

我还没改完 等待ing

 

GD32 TIMER0 PWM输出死活没波形?别忘了这个关键配置(附完整代码) 本文详细解析了GD32 TIMER0 PWM输出无波形的常见问题,特别强调了高级定时器特有的主输出使能配置。通过完整的代码示例和调试技巧,帮助开发者快速解决PWM输出问题,适用于无刷电机控制等嵌入式应用场景。 阅读详情

相关推荐

【网络安全】Centos7安装杀毒软件----ClamAV

Clam AntiVirus是一个Linux系统上使用的反病毒软件包。主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。

你在看屏幕的同时,屏幕也在注视着你 8828

Welcome to XTCPC

Problem Description Welcome to XTCPC! XTCPC start today, you are going to choose a slogan to celebrate it, many people give you some candidate string about the slogan, but the slogan itself must ha

笑看风云起的专栏 825

2021秋-北邮计算机导论期末考试(BUPT)

2021秋-北邮计算机导论期末考试(BUPT) 难度较低适合新手练习

weixin_73985779的博客 1498

You have a string of lowercase letters

HDU6536 Hello XTCPC HDU6536链接 这道题我相信大家首先明白的就是他是可以不连续的,这个从样例中就可以观察出,然后这题需要注意的就是它是不能换顺序的,要按照x,t,C,p,c的顺序找下去的。一开始写的时候采用的是一暴力标记,找到一个以后就标记下标然后从头再找,当然最终的结果就是超时。但是我们又很清楚一定要过一遍这个数组,所以就想如何走一遍就能找完。 那我们就开一个长度大于...

qq_45863710的博客 877

【电商风控】电商风控标注是什么

本篇文章给大家谈谈。

866

HFSS 3D Layout一键导入PCB,高效搞定微带线损耗仿真

在高速PCB设计中,信号完整性与电磁仿真是确保链路质量的关键环节。传统的HFSS手动建模流程繁琐且极易出错,尤其面对微带线、带状线等高频结构时,叠层参数、铜箔粗糙度等细节难以精准还原,导致仿真结果与实测偏差较大。HFSS 3D Layout模块提供了从EDA工具直接导入PCB文件的能力,完整保留走线、过孔、叠层及材料属性,结合精确的介质损耗模型与端口设置,大幅缩短建模时间并提升仿真精度。该技术广泛应用于DDR、SerDes等高速数字链路的设计验证,以及SI/PI工程师对PCB损耗性能的快速评估。本文从导入操

weixin_29191081的博客 254

2019湘潭赛后补题 E题 XTCPC

2019湘潭赛后补题 E题 XTCPC You have a string of lowercase letters.You need to find as many sequence “xtCpc” as possible.But letters in the same position can only be used once。 Input The input file contains two lines. The first line is an integer n show the lengt

grace_dragon的博客 229

[LVGL]:MACOS下使用LVGL模拟器

[LVGL]:MACOS下使用LVGL模拟器

LINKKEEE的博客 2456

7月9日训练

2019CCPC湖南全国邀请赛(广东省赛、江苏省赛) E.Hello XTCPC Problem Description You have a string of lowercase letters.You need to find as many sequence “xtCpc” as possible.But letters in the same position can only be used once。 Input The input file contains two lines. The f

qq_22534363的博客 326

保姆级教程:用Code Blocks搞定中科蓝讯AB5768E蓝牙音响SDK开发环境(附资源包)

本文提供了一份详细的Code Blocks配置指南,帮助开发者快速搭建中科蓝讯AB5768E蓝牙音响SDK开发环境。从工具链安装、环境配置到工程导入和调试技巧,涵盖全流程避坑要点,特别适合K12开发板初学者。附资源包下载,助您高效完成蓝牙音响开发。

weixin_28692817的博客 448

激光雷达点云可视化:Open3D与PCL实战

激光雷达点云可视化:Open3D与PCL实战 ,人工智能,计算机视觉,大模型,AI,该文围绕激光雷达点云可视化,介绍了Open3D与PCL的实战应用。先阐述点云基础概念、特点及可视化意义,接着讲解Open3D的简介、环境配置,以及其在点云读取、显示、颜色设置、下采样和滤波等方面的实战操作,还介绍了PCL的基础、环境配置及相关实战,包括点云读取、显示、颜色设置、下采样和滤波,同时对比了两者的易用性、功能覆盖、性能和适用场景,给出综合实战案例与常见问题解决方法,为点云可视化处理提供了全面指导。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

E - Hello XTCPC

E - Hello XTCPC You have a string of lowercase letters.You need to find as many sequence “xtCpc” as possible.But letters in the same position can only be used once。 Input The input file contains two lines. The first line is an integer n show the length of

weixin_52855047的博客 236

Swin Transformer 类可视化(grad CAM)

完整代码 from pytorch_grad_cam import GradCAM, ScoreCAM, GradCAMPlusPlus, AblationCAM, XGradCAM, EigenCAM from pytorch_grad_cam.utils.image import show_cam_on_image from torchvision.models import resnet50 import glob from demo import parse_option from models i

G果的博客 6639

2019CCPC湘潭全国邀请赛题解

目录 【正赛情况】​ 【A. Chessboard】 【B. Build Tree】 【C. Chika and Friendly Pairs】 【D. Chika and Solid Geometry】 【E.Hello XTCPC】 【F. Neko and function】 【G. Neko and quadrilateral】 【H. Nek...

菜鸡成长史 2401

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

2019CCPC湘潭全国邀请赛 Hello XTCPC(贪心 or 思维 三种解法)

【题面】 Hello XTCPC 【题解】 题意:给定一个字符串,每个字符只能使用一次,输出最多能拼成的“xtCpc”。 思路: 记得多组输入!!! 法一:保证前一个字符的出现次数大于现在字符即可。 法二:每个位置保存下一个'x','t','C','p','c'的位置,从每一个x开始往后查询没有使用过的't','C','p','c',记录次数。 法三:用队列存储“xtCpc”五个字...

菜鸡成长史 764

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

21湘潭邀请赛总结

21湘潭邀请赛总结 湘潭邀请赛结束了,拿了个银牌回家,总的来说好像也不算抱憾而归? 4号晚上和队友绿皮火车出发,说实话我一开始是没想到大伙都同意要en坐过去的,毕竟真的要坐11个小时左右,但是车费会省出来五百+,还是都很艰苦朴素的^ ^ 。 5号中午到了以后直奔宾馆,我是真要泪目了这宾馆也太拉了吧2333,环境差就算了,什么物品还都不给也太草了,哼空调遥控器都得自己要。 5号下午热身赛,比赛之前去借了本字典,这玩意太重了压根没想带去,费了老半天混进xtu二手群租了本 ,我也太牛了。 xy老师在群里说热身赛是

sim_plicity的博客 489

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

20190512 XTCPC游记

本来我的态度是不打自费的省赛邀请赛之类的,我是真穷QAQ,而且当时就我和twilight7两个人,也不知道第三个人找谁比较合适。。。 但是最后还是真香了,在西电第一数据结构王wang9897的劝说下,加上本来已经退役去头条实习的Greenty_Q也有兴趣去玩,我、twilight7和Greenty_Q就组了个临时队报名了。 我们的队名是我全都要,英文名I have nothing,可以说很真实...

qq_38515845的博客 330

XTU 1207 Welcome to XTCPC (模拟)

Welcome to XTCPC Accepted : 190   Submit : 381 Time Limit : 1000 MS   Memory Limit : 65536 KB Problem Description Welcome to XTCPC!XTCPC start today, you are going to cho

sxk 905

2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛 E

Welcome to XTCPC Accepted : 155   Submit : 292 Time Limit : 1000 MS   Memory Limit : 65536 KB  Problem Description Welcome to XTCPC! XTCPC start today, you are go

KongWX 1788

19年 湘潭邀请赛

Build Tree hdu6533 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> using namespace std; const int maxn=2e5+10; typedef long long ll; ll d[maxn],a[maxn]; int main() { int k,m,n,N; ll p; while(~scanf("%d%d%

cosx_的博客 87

2019ccpc湖南全国邀请赛后记

赛前 1.因为去年和湘潭大学的,我们教练会写签到题队撞了好多个赛区,所以这次比赛的队名被我灵机一动改为了听说你们教练会写签到题。 2.由于去年就在这个比赛上拿过金,今年的压力反而更大了(拿不到金就是菜) 3.和去年一样逛了步步高广场,让人迷路的地下商业街,感觉湘潭没有什么变化,尤其是菜还是一如既往的辣. DAY1 热身赛看了A题发现是无脑模拟,敲完还蹭了一个一血就很快乐,D发现是无脑最短...

weixin_30246221的博客 208

HDU6536 Hello XTCPC(2019JSCPC E题)

Hello XTCPC Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 981Accepted Submission(s): 271 Problem Description You have a string of lowe...

CharllotteQZY的博客 694

E - Hello XTCPC (HDU - 6536 )

You have a string of lowercase letters.You need to find as many sequence “xtCpc” as possible.But letters in the same position can only be used once。 Input The input file contains two lines. The fi...

qq_44134712的博客 725

Hello XTCPC

http://acm.hdu.edu.cn/showproblem.php?pid=6536 题意:不重复元素,求子串为xtCpc的数量最大 题解:这是一道很简单的贪心题目,因为xtCpc这5个字母各不相同,所以直接采取贪心的策略,对于所有的“x”,“t”,“C”,”p”,”c”按照字母不同分别建立一个队列,每次贪心的从队列中找到最前面的没有使用过的字母,直到有一个队列为空。 C++版本一 ...

无限迭代中...... 691

E - Hello XTCPC HDU - 6536

题目链接 题意:就是找到xtCpc的含有最多的且不重复。 下面是AC代码: #include <iostream> #include <algorithm> #include<cstring> #include<cstdio> using namespace std; int main() { int n; while(cin>>n) { int s1=0,s2=0,s3=0,s4=0,s5=0; string s;

qq_54783066的博客 225

D - Hello XTCPC

添加链接描述@TOC 把x,t,C,p,c的出现次数记录下来,前提是每个字母出现的的次数小于前面的时候,才加一,以此来保证序列的顺序 #include<stdio.h> #include<string.h> char s[200010]; int b[200010]; int main() { int i,n,a1,a2,a3,a4,a5,len,count; while...

weixin_44145887的博客 282
上一篇: 2018CCPC女生赛重现 | 总结+部分题解
下一篇: 2019CCPC湘潭邀请赛 | 题目 + 题解
OneLine_
博客等级 码龄9年 48粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值