2002. 两个回文子序列长度的最大乘积;2212. 射箭比赛中的最大得分;924. 尽量减少恶意软件的传播

2002. 两个回文子序列长度的最大乘积

核心思想:求x的回文子序列的最大长度+二进制数枚举。用一个二进制数来表示对字符的选择。

2002. 两个回文子序列长度的最大乘积;2212. 射箭比赛中的最大得分;924. 尽量减少恶意软件的传播_第1张图片

2212. 射箭比赛中的最大得分

核心思想:二进制数表示状态,1表示bob胜利的区域,那么它的射箭数至少为alice[i]+1,然后我们枚举每个状态,用active记录下满足要求且分数最大的状态,最后枚举每一位统计结果即可。

2002. 两个回文子序列长度的最大乘积;2212. 射箭比赛中的最大得分;924. 尽量减少恶意软件的传播_第2张图片

924. 尽量减少恶意软件的传播

核心思想:对所有节点进行颜色块划分;看initial的颜色块划分是怎样的,对于initial来说,如果有两个节点的颜色块是一样的,那么删除其中一个节点毫无意义,所以我们只能找其中属于单独颜色的一个,并且是单独颜色所占颜色块最大的,如果都没有那么就返回最小的即可。

2002. 两个回文子序列长度的最大乘积;2212. 射箭比赛中的最大得分;924. 尽量减少恶意软件的传播_第3张图片

你可能感兴趣的:(python,算法)