CF1023题解

CF1023A

一眼秒之题

因为整个s串至多有1个*号,所以可以把s串分为两个部分分别与t串的前后进行匹配,看看前后能不能适配即可

注意特判没有*的情况

CF1023B

一眼秒之题+1

简单的,就是一个数k拆成两个数之和,这两个数的值域为(1,n),分讨k为奇偶,然后简单转化即可

CF1023C

小清新一眼秒之题+1

左括号数在任何时候都不能少于右括号之数,在满足这个条件之下,贪心的能多选就多选就行

CF1023D

主要考察考虑的全面性

两种不可行情况:
1.无0,合法序列中也没有q
2.小的数被大的数夹在中间

三种填数方法:
1.优先填没有在序列中出现的数(从大到小填)
2.设x为此位置左右都出现过的数,再在空位上填 max{x}
3.最后都填1,因为1覆盖所有区间一定合法

如何找到 max{x},我们维护一个堆或set,然后一个元素第一次出现的时候加入进去,最后一次出现再给删除就行

posted @   daydreamer_zcxnb  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示