2024第十五届蓝桥杯java b组复盘和吐槽

java b组

复盘后的吐槽:

今天不吐槽,怕明天就忘了

忍一时越想越气

蓝桥杯,你让我感到陌生呀,我这种菜鸡真的会被创死!

真的崩不住了,尽管我赛时,状态特别差,脑子转不了一点,但是今天回去,复盘了下题,真的太离谱了,我感觉这题出的也太难了吧。现在满打满算估计只有30分。心态真的爆炸了,必须狠狠吐槽一下。

  • 哇靠,虽然我只打过ccpc省赛(河北省的,可能算是弱省吧)(学校网络赛啥的,拿不到名额),单挑大概有银牌的水平。但是我也在cf上打过一些xcpc的题呀,我基本也能开出四五道正解呀。但是这次蓝桥杯我能算是正解的题,只有两题呀。哇靠,但是你要知道xcpc是能带资料并且有队友并且还是五个小时的呀并且我还能知道对错,你让我拿头给做呀。
  • 然后这个是javab组吧,打竞赛的应该没有多少吧。关键的连暴力都不好做呀!你出这种题,哪来的区分度呀?
  • 接着就是通病大部分样例,只给个小样例,给的基本上都是一些显而易见的样例,丝毫不带特殊情况的,这点我还真拿你没招,这个我认了

呜呜我只是个菜鸡,但你不要特意拿个镜子,怼在我面前呀。

填空题的第一道和编程的第一道符合正常难度,就不说了,给你们看看其他题的难度

下面这些解法都不一定对

D题,多叉树那题

比赛时,我就感觉不对劲,这到底是什么题呀这是,这才编程第二题呀,而且你只是一道十分的题呀,我就算写暴力可能都写特别久,只能跳过了

现在想了个可能的正解:(线性筛+质因数分解+哈希映射)

先找到平方数的规律,然后想到优化的方法,可能都要特别久

思路大概是这样:(不确定对不对)

1.看当前根下面所有的儿子

2.把这些儿子们都放入序列中,对这些儿子进行质因数分解,然后只留下质因数为奇数的数(当然那些没有奇数个数的质因数也是要存的),把这些质因数拼接一下成为一个字符串,记录下当前字符串出现个数。【键值对(字符串,出现个数)】。比如12=2^2*3 这里只留下3,12->“1|3|”;又比如16=2^4->“1|”

3.接下就是所有出现的字符串和,ans+=hash[映射的字符串]-1;、

但是这样依然过不了,一共有 1 e 5 1e5 1e5个数,最大的数为 1 e 9 1e9 1e9,时间复杂度为 1 e 5 ∗ 1 e 4.5 1e5*1e4.5 1e51e4.5

还需要优化:就是分解质因数时,只遍历质数(线性筛得到质数的集合),这样应该就能过了

E题,数据库,卡特兰数超级升级版

大哥呀,这是编程第3题呀,真的一点活路都不给吗?

卡特兰树只有01串,但是这道题,不仅仅是01,有多个id

当时学会卡特兰数,我就花了半天的时间,那还是在别人讲的情况,好吧我承认是我笨,是我菜,但是你不要过来呀,我真的不想打宿傩呀!

到最后感觉不可行,直接推翻重来,浪费我半个小时

比赛时的思路:(卡特兰数的解法+组合+线性dp)

需要借助一点卡特兰数推理过程,先转化为图,删除当成向上走,增加向右走,条件不能超过 x = y x=y x=y

然后用线性dp+组合来推,需要注意特别多的小细节(考呀,反正也推了半天)

但是这样特别容易爆时间复杂度,估计拿不全

我估计正解估计使用数学+组合数来推,反正我感觉也不好做

F题:组合

hh,估计纯贪心都过不了,巧了么,我他丫就是纯贪心

比赛时,状态太差了,没有把贪心做法hack掉

反正管你是正向贪还是逆向贪,反正纯贪心,基本都是错的

我是从后往前贪:

先从小到大排序
然后先让大的往前匹配,用双指针找到小的最大的能匹配的

反例:1 1 1 2 4

好的,分又没了

然后从前往后贪:

1 2 3 4也不行

下面这个其实是反悔贪心,也不一定对

这里是基于一个猜想,如果这个猜想错,下面就不用看了

猜想:最多的那种区间组合的左端点,是按原序列的升序序列[1,k]排的

例如1 2 3 5 ……

能变成这样:[1,r1],[2,r2],[3,r3],[5,r4]……

算法:(反悔贪心+树状数组+差分+双指针)

步骤:
从前往后看每个数
对于当前点i
1.先看看还能不能把自己当做右端点的转给i+1承当,不行则结束,不在看后面的数了(树状数组求当前有几对sum[n])
2.可以的话,用双指针找下个能作为右端点的最小值,越界了也结束,在这个位置上,做差分+1(表示从这个数开始的区间,后面都能做右端点)

目前试了这几个样例,没啥问题:

1 1 1 2 3 4
1 1 1 1 2 2
1 2 3 4 5
5 6 8 9
5 7 14

剩下的题就没仔细推了,但是看着就特别难

比赛当天写的

下面是没复盘的回答
有无java b组的同学,感觉真的巨难,不知道是不是我太菜了,有无大佬说说?

第一题,填空题好像是1024204打头
第二题,不想做没开
第三题:每日区间:感觉就是贪心,让每个右端点最小(不确定对不对),存下所有右端点,然后用二分找

靠比赛的时候脑抽了,忘记边界问题,调了一个小时
第三题:数据库:原本想着卡特兰数,但是不行,又浪费了非常多的时间,最后只能用线性dp来做,但是估计拿不全
感觉挺难的
首先要转为图,增加往右走,减少往上走,然后还设计到一堆排列组合
第四题:分组:感觉像贪心+双指针(不确定对不对,但是自己造的样例没啥问题)
先从小到大排序
然后先让大的往前匹配,用双指针找到小的最大的能匹配的

满打满算最多就5+10+15+15=45,但是实际肯定远低于这个
今天状态是真的差,脑子是一点都转不动;然后这些题,也是真的连暴力都巨麻烦
我评价是大寄特寄,呜呜,真难受呀

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
蓝桥杯2023年BC++省赛的题目包括了2个填空题和8个编程题。根据参赛者的博客\[1\],本届蓝桥杯的难度相较于上届有所增加,编程题的难度较大,而思维题的数量较少。参赛者在博客中提到了其中一个题目,即试题A:日期统计\[2\]。在博客中还提到了一种解题方法,即暴力枚举\[3\]。暴力枚举的代码如下: ```cpp #include <iostream> #include <cmath> #include <algorithm> using namespace std; const int total = 23333333; const double H = 11625907.5798; int main() { for (int i = 0; i < total / 2; i++) { double ans = 0; ans -= 1.0 * i * i / total * log2(1.0 * i / total); ans -= 1.0 * (total - i) * (total - i) / total * log2(1.0 * (total - i) / total); if (abs(ans - H) < 1e-4) { cout << i << endl; return 0; } } return 0; } ``` 以上是关于蓝桥杯2023年BC++省赛的一些信息。希望对你有所帮助! #### 引用[.reference_title] - *1* *3* [2023年第十四届蓝桥杯C++B复盘](https://blog.csdn.net/m0_46326495/article/details/130043563)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [2023第十四届蓝桥杯C++B题目回顾与参赛感想](https://blog.csdn.net/BinBinCome/article/details/130048888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值