首页 > 其他分享 >CSP-S 2023 游记 & 总结 & 题解

CSP-S 2023 游记 & 总结 & 题解

时间:2023-10-23 21:23:36浏览次数:36  
标签:二分 遍历 log 题解 被种 2023 mathcal CSP

游记

到了机房发现是 Windows10,感觉不错。

比赛开始果断启动虚拟机,怎么今年PDF密码这么复杂啊,我记得去年挺简单的来着,好像是 believe2022

看了一遍题,有理由怀疑 T1 是 J 的题,但是一开始读错了,以为只能转一下,后来计算转动幅度的时候忘记对 \(10\) 取模,怒调 1h。

T2 一开始以为是容斥 DP,胡了一发上去发现不对,来来回回打了 \(7\) 版,结束后距离考试结束仅剩 \(1\) 小时。

开始浏览 T3 和 T4,感觉 T4 是二分答案后计算出每棵树最晚什么时候被种下,然后贪心的去种,二分答案 + 树剖 + 二分一次函数,感觉代码难度高于 T3,于是走上了 T3 的不归路。

赛后发现 T4 的思路稍加优化便是正解,有些痛心,但是好像赛时去打也打不完?

总结

前两题做的太慢,代码能力低下。

题解

消消乐

考虑一个 \(\mathcal{O}(n^3)\) 的暴力,首先 \(\mathcal{O}(n^2)\) 地枚举子串,使用一个栈,然后遍历这个子串,若字符与栈顶相同则弹出栈顶,否则将字符压入栈中。遍历完后子串合法当且仅当栈为空。

发现可以 \(\mathcal{O}(n)\) 地枚举起点然后计算期间栈为空的次数,这样可以做到 \(\mathcal{O}(n^2)\)。

考虑进一步优化,可以发现若从 \(l\) 开始到 \(r\) 时栈为空,若我们从 \(1\) 开始遍历字符串,那么遍历至 \(l, r\) 时的栈相同,故可以导出结论区间 \([l, r]\) 合法当且仅当这两个位置的栈相同,对栈使用 \(\tt{hash}\) 即可,复杂度 \(\mathcal{O}(n \log n)\),可以通过。

种树

首先二分答案,下面考虑如何判定。

发现可以对于每棵树计算出其最晚何时被种下才能符合要求,那么按此标准贪心即可。

发现若一个节点被种下,那么其所有祖先节点也一定被种下,故在模拟种树的过程中可以直接暴力跳到第一个种过树的祖先节点后返回,由于每个节点最多被访问 \(1\) 次,故这部分的复杂度为 \(\mathcal{O}(n)\)。

计算最晚时间时需要二分值域,故总复杂度为 \(\mathcal{O}(n \log V\left(\log V + \log n\right))\)。

标签:二分,遍历,log,题解,被种,2023,mathcal,CSP
From: https://www.cnblogs.com/User-Unauthorized/p/CSP-S_2023.html

相关文章

  • 【题解】CF1710 合集
    CF1710AColorthePicture标签:思维题\(C^-\)典型的有图有真相,嘻嘻(抽风了?显然有一个结论,我们颜色要么一行一行天,要么一列一列填。并且填进去的颜色必须不少于两行/列然后就是记一个ans和一个over表示如果每个颜色都两行/列填进去能填的最多列数,以及两行/列填进去后还能......
  • 2023.10.23——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.hplus明日计划:学习......
  • csp-s 2023游记
    T1dfs枚举。虚拟机出现鬼畜CE,临时换了dev。30min 考场100场下100实际T2先猜了性质发现假了,就直接暴力,时间复杂度在n2-n3。负坐标RE。30min 考场35场下0实际T3虽然时间空间复杂度不好计算,但一眼大模拟。研究下题意,理清下思路,代码不长也好调。顺利的路程到此结束。fc卡了,黑......
  • CSP2023 游记
    大概就写写考试相关的事情。赛前一天试机,感觉这机子有点卡,关个机就要好久,有点担心机器出问题,不过事后看起来机子还是很快的,点赞。然后考场因为神秘原因解压不开题目,于是延时20min,没影响什么心态。2:50开始,看一眼T1,然后我整个人很懵,这是个什么沟八题,咋这种题都在S组啊,没活......
  • 2023年10月23日
    数据结构代码练习,关于2020年8511.二叉树的层次遍历//数据结构typedefstructBiTree{Datatypedata;structBiTree*left,*right;/*添加代码完成哈夫曼编码intlayer,weight;*/}TreeNode,*Bitree;voidleverodertraversal(BiTreeT){ if(T==NULL) return; /*......
  • CSP-S 2023 游记
    10.20上午10点多从学校出发,先坐大巴去德州,再坐高铁去秦皇岛,跟春测一个流程。在机房把啤酒烧烤更新了,大巴上就一直打pjsk,发现我跟不上10.8速了,QAQ后来开10.5感觉还行。然后喵喵就要建QQ群,我没开消息免打扰,后果显然。大概11点多到了车站,然后就去找饭吃了。还是去吃的KFC,鸡肉堡十......
  • Educational Codeforces Round 144(CF1796 D~E) 题解
    D.MaximumSubarray题目链接十分钟秒了一道*2000,非常爽,但是个人感觉确实非常简单。下面令\(b_i=a_{i}-x\),\(b_i'=a_i+x\)。因为\(k<=20\),因此考虑一个复杂度与\(k\)相关的做法。不妨dp:设\(f_{i,j,0/1}\)表示考虑了前\(i\)个数,对\(j\)个数加上了\(x\),第\(i\)......
  • CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP CSP
    CSPCSPCSPCSPCSP 班上其他同学Csp都在一中考,只有我一个人去西师附中考,悲。 上午考-J感觉难度还行,前三道题做的比较快,最后一题题面看错了几次,导致折腾了半天,最后也A了。当时感觉AK了。结果T3的民间数据RE了(?),不过问题不大。 下午考-ST1很快就做完了;T2想了下,......
  • CSP2023游记
    Day-1在nfls打了最后一场模拟,然后被大模拟创飞了。喜提40+100+0+0/cf。Day0摆了一天,去了南京博物馆,大啊,很大啊(赞赏)。感觉比较抽象的是南京博物馆在所有的导语上标上了包括日文,英文等的四五个国家的语言,但是为啥在其它牌子上只有中文和英文了/xk。逛了一半跑路去赶火车了......
  • CF1893E题解
    分析第一眼:博弈论。第二眼:呃……贪心?实际:DP。首先想这个游戏大抵存在必胜策略,否则不会让我们求。思考先手必胜条件,就是如何让这个数组最后只剩下一个数。设数列之和为\(sum\)。发现每次操作给两个数减的数字是一样的。那么对于每次操作,\(\Deltasum\)都为两者之间更少的......