1616. 分割两个字符串得到回文串;1717. 删除子字符串的最大得分;1605. 给定行和列的和求可行矩阵

1616. 分割两个字符串得到回文串

核心思想:思维题。如果直接枚举分割点明显超时了。那么有没有方法可以判断(a,b)两个字符串能否成功形成回文串呢,结果就是从a的前面枚举,b的后面枚举,直到不相同的时候,a,b剩余的公共部分为s[l:r]这部分,只要a,b字符串有一串s[l:r]这部分满足回文即可,因为你可以取a的前部分和b的后部分加上满足回文的这部分组成回文串,相当于一次切割。相当有技巧,其实看到题解可能很简单,但事实上不好想。

1717. 删除子字符串的最大得分

核心思想:一个结论,分出来的字串比如aabbaa不论你删除ab,还是ba,还是ab,ba混合删除,你的最大删除次数是不变的都是两次。所以我们优先删除分数多的,然后在删除分数少的,这部分使用栈来模拟,可以看一下代码注释。

1605. 给定行和列的和求可行矩阵

核心思想:一行一行填,填完后更新行和和列和,每个格子可取的值为行和和列和的最小值,借用一下灵神的图,旁边的数字就是行和,和列和,想当于一个模拟过程,蓝色问号就是待填写数字,旁边的黑色数字就是行和和列和,问号填两个值的小值,然后更新即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值