随笔分类 - 题解
摘要:[ABC017D] サプリメント 题解
阅读全文
摘要:题目传送门~ 题目分析 首先得出两个串加在一起构成回文的要求:最多只有 个字母总共有奇数个。 想也很好想,同个字母两两对应,对应不了的那个放中间就行。 然后我们发现每个字符串只需要存储每个字母的数量的奇偶性 两个量,很容易想到用一个 位二进制来存字符串。 满足要求的对数
阅读全文
摘要:原题链接 在反复拜读题解对于 DP 式子的解释后终于搞懂了,于是来交一发题解,总结一下心得。因此本篇题解主要针对 DP 式的解释。 题目分析 首先,很明显可以设出一个 的状态表示选择 个数和为 。 状态转移如下: 若第 个数取 ,则有 $dp_{n,
阅读全文
摘要:题目传送门~ 题目分析 主要思路:枚举每个 ,求出对应最佳情况的 和 ,取最大值。 当 , 固定时,显然 为定值。此时 应取最大值,即 取最小值, 应取最小值为 。 当 , 固定时,$\f
阅读全文
摘要:题目传送门~ 题目分析 题目要求出不小于 位的正整数 最小的等差数。 首先考虑 位等差数能否成功。枚举第一位和公差 ,从而求出每一位的数字,再判断这个数是否大于等于 ,因为是从小到大枚举第一位,所以最先得到的等差数一定是最小的,直接输出即可。 若找不到成功的 $k
阅读全文
摘要:题目传送门~ 题目分析 我们发现“从左到右颜色的编号是单调不下降的”,可以联想到经典 DP 问题:最长单调不下降子序列。因此这一题可以参考最长不降序列的写法。 注:本人思路并非最好,但个人认为较好理解。 设计状态转移方程: 表示前 个选择 种颜色获得的最大价值。
阅读全文
摘要:题目传送门~ 题目大意 求从 个数中取 个数做与运算的最大值。 题目分析 阅读题面,可以知道本题与二进制运算有关,又根据题意,需要求出 个数做与运算的最大值,可以想到贪心的思路:从大到小枚举二进制位,若有大于等于 个数在当前二进制位上为 ,则将当前二进制位对应的
阅读全文
摘要:原题链接 题目分析 本题是一道比较简单的模拟题,根据题意直接模拟即可。 读入数据可以用桶存储牌的数量自动排序。 有几点需要注意一下: 判断“两个人都无法打出牌时”需要注意是连续两人无法打出牌。 在每次进行下一个回合前都需要注意初始化。 具体见代码。 #include<bits/stdc++.h> u
阅读全文
摘要:原题链接 题目大意 给定三个字符串,求三个字符串的最长公共子序列。 题目分析 根据题目,我们发现,这是经典的动态规划题目最长公共子序列 LCS,只不过从二维升到了三维。若还不熟悉 LCS 的题目,可以看看这道题:LCS。 开始分析:首先,本题可以模仿二维最长公共子序列的状态,设计出一个三维的状态 $
阅读全文