首页 > 编程语言 >第十五届蓝桥杯国赛C++B组文字题解

第十五届蓝桥杯国赛C++B组文字题解

时间:2024-06-03 09:24:35浏览次数:11  
标签:字符 杯国赛 题解 然后 蓝桥 答案 字符串 考虑 翻转

A: 合法密码

暴力跑一下即可,坑点是pdf有换行,字母不算字符,最后答案是:400。

B: 选数概率

观察到第二个分数的分母很大,猜测 \((a + b + c) \times (a + b + c - 1) = 20910‬\) 发现无整数解,于是考虑到可能被约分了,将 \(20910\times2 = 41820\) 最后得到 \(a + b + c = 105\) 然后就可以借助计算机解方程了,最后解得 \(a = 55, b = 94, c = 56\)。

C: 蚂蚁开会

如果想解直线方程就想复杂了,对于一条直线的两个端点 \((x_1, y_1)\) 和 \((x_2, y_2)\) ,考虑从 \((x_1, x_2)\) 移动到 \((x_2, y_2)\) 枚举走过的整点然后存到map里面,当一个点被走过两次答案就加一。

D: 立定跳远

一眼二分答案,将使用技能转化为可以多设一个检查点,然后二分答案即可。

E: 最小字符串

先将第二个字符串排序(保证小的先插入),然后用两个指针分别指向两个字符串的头,遇到第一个字符串的字符大于等于第二个字符串的字符就将第二个字符串的字符插入到那个字符的前面,考虑插入操作会狠多,用链表模拟即可。(赛后发现甚至不用写链表,直接输出即可?)

F: 数位翻转

考虑使用动态规划,首先预处理出 \(a\) 的翻转序列 \(b\) ,定义 \(F_{i,j,0/1}\) 表示处理到第 \(i\) 个数,已翻转 \(j\) 个区间,第 \(i\) 个元素翻转还是不翻转,记得初始化 \(F_{i, 0, 0}\) ,最后答案就是 \(max_{j = 0}^{m}{F_{n,j,0/1}}\)

G: 数星星

发现 “星星” 可以看作只有一个根节点,其余作为叶子节点,然后就是一道组合计数问题,记录每个点的度数,每个点对答案的贡献是 \(\sum_{x=l-1}^{r-1} C_{du_i}^{x}\)预处理出阶乘和阶乘的逆元,然后就可以 \(O(1)\) 求组合数,考虑度数越大的点越少,度数越小的点越多,但是对求和次数不多,暴力求即可。

H: 套手镯

没想到正解,赛时想到把所有圆看成正方形,然后把正方形分别放在两种矩形的四个角尝试,最后二分加ST表去数点,太复杂,赛时没调出来。

I: 跳石头

赛时写了个暴力,开 \(n\) 个 \(set\) 然后 记忆化DFS ,应该骗了不少分。赛后听 cyw 说bitset 应该能水过去,觉得挺对的。

J: 最长回文前后缀

不知道是不是正解,但是没想到 HACK 数据,考虑双指针,如果字符相同就往里面收,如果遇到不同,那么考虑删除左边区间或者删除右边区间,开个计数器记录相同个数,遇到相同的就继续往里面收,如果又遇到不同的就清空计数器,直到指针相遇,然后取最大计数值。

总结

这次B组国赛比去年简单,但是由于赛场硬件配置太差了导致 \(H\) 题没调出来,而且每次编译代码就耗费了很长的时间,开局不给网址也浪费了很多时间,但是最后还是国一了,估分大概110分左右,也算是圆梦了OvO。明年不准备再打了,祝明年参赛的小伙伴也能轻松国一。

标签:字符,杯国赛,题解,然后,蓝桥,答案,字符串,考虑,翻转
From: https://www.cnblogs.com/XiaoMo247/p/18228036

相关文章

  • [SDOI2008] Sue 的小球 题解
    题目描述首先将彩蛋按照横坐标从小到大排序,依次标号为\(1\simn\)。显然,\(Sue\)走过一段时间后,走过的点一定属于一段连续区间。所以本题采用区间\(dp\)。不妨先做一个简单转化,由于每个彩蛋初始高度确定,若想让总分最高,就要使扣分最少。所以下面的\(dp\)从扣分最少入手。设......
  • DVWA靶场---csrf遇到的问题解决方法
    1.解决low等级不携带cookie访问诈骗网站:设置---隐私与安全---浏览器隐私---增强型跟踪保护---自定义---cookie---跨站跟踪型cookie。2.解决medium等级referer显示不完整解决方法:在服务器的html上加一段:<metaname="referrer"content="no-referrer-when-downgrade">当从......
  • 力扣2891每日一题题解
    题目:给你一个仅由小写英文字母组成的字符串 s 。如果一个字符串仅由单一字符组成,那么它被称为 特殊 字符串。例如,字符串 "abc" 不是特殊字符串,而字符串 "ddd"、"zz" 和 "f" 是特殊字符串。返回在 s 中出现 至少三次 的 最长特殊子字符串 的长度,如果不存在出......
  • 第十五届蓝桥杯大赛软件赛国赛 C/C++ 大学 A 组 游记
    Preface前情提要:去年圈钱杯国赛游记,本来还想着今年报JAVA/PY的,结果语法一个学不懂还是去CPP组开卷了省赛很简单但因为最后一题看漏条件了还是遗憾离场,但也给了我一种今年篮球杯水的一批的刻板印象然后国赛被一堆数学题直接创飞了,但好在前面几个题还能胡几个做法出来,但FWT和神秘......
  • P7311 [COCI2018-2019#2] Maja题解
    [COCI2018-2019#2]Maja题目描述蜜蜂Maja在一个神奇的牧场里为花朵传粉。牧场可用一个\(N\timesM\)的矩阵表示。在第\(i\)行第\(j\)列有\(C_{i,j}\)朵未传粉的花。Maja从位于第\(A\)行第\(B\)列的蜂巢出发,并前往牧场的一些区域后返回。Maja可以在\(1\)步内......
  • rt-thread 系统pm组件在4.1.1版本的无法正常唤醒的问题解决方法
    在老的rt-thread版本系统pm组件调试ok,后来使用4.1.1版本时发现进入低功耗后无法正常唤醒,问题解决路径如下硬件信息:cpu STM32L431CCT6新建系统打开pm组件后也没有drv_pm.c和drv_lptim.c自动添加,需要到系统目下找到并复制到driver目录下C:\RT-ThreadStudio\repo\Extract\R......
  • [题解]UVA11235 Frequent values
    https://www.luogu.com.cn/problem/UVA11235没看到多测调了半天每组数据给定\(n,q\)。接下来给出一个长度为\(n\)的不降序列\(A\)。接下来\(q\)次询问,每次询问给定\(l,r\),求\(A_{l\simr}\)中出现最多的那个数出现了多少次。\(1\len,q\le10^5\)。序列不降,意味着一个数在序......
  • CF1228E Another Filling the Grid 题解
    tag:容斥原题+组合数设F[i]F[i]F[i]表示至少......
  • [leetcode 第 400 场周赛]题解
    第一题:classSolution{publicintminimumChairs(Strings){intx=0;intans=0;for(inti=0;i<s.length();i++){if(s.charAt(i)=='E'){x--;if(x<0){ans++;x=0;......
  • [题解]P4381 [IOI2008] Island
    P4381[IOI2008]Island题意:给定一个基环树森林,求每个基环树的直径之和。我们发现,一棵基环树的直径只有下面两种情况:环上的某一点作为根的子树的直径。环上有两点,每个点引出一条链,然后再将这两点相连。对于第一种情况,我们仅需用树形dp的方法求出每个子树的直径(见OIWiki-......