随笔分类 -  题解

上一页 1 2 3 4 5 6 ··· 11 下一页
摘要:思路 考虑从大到小给每一个 \(b_i\) 匹配一个 \(a_j\),那么如果对于 \(b_i\),\(a_j\) 不能匹配,那么对于后续更小的 \(b_i\),\(a_j\) 同样无法匹配,所以可以直接忽略,跳到下一个,一直匹配,直到无法匹配为止,那么无法匹配的 \(b_i\) 的数量就是需要的操 阅读全文
posted @ 2023-10-23 14:05 One_JuRuo 阅读(30) 评论(0) 推荐(0)
摘要:思路 考虑从大到小给每一个 \(b_i\) 匹配一个 \(a_j\),那么如果对于 \(b_i\),\(a_j\) 不能匹配,那么对于后续更小的 \(b_i\),\(a_j\) 同样无法匹配,所以可以直接忽略,跳到下一个,一直匹配,直到无法匹配为止,那么无法匹配的 \(b_i\) 的数量就是需要的操 阅读全文
posted @ 2023-10-23 14:05 One_JuRuo 阅读(30) 评论(0) 推荐(0)
摘要:思路 最开始都错题了,以为是不能通过另一种子串的选择方法得到这个子串就算做独特字串,实际上,是需要不能通过选择子序列的方式得到这个子串才满足条件,导致赛时没做出来(悲)。 实际上,如果一个子串满足条件,那么一个必要条件就是子串左侧没有与该子串左端一样的数字并且子串右侧也没有与该子串右端一样的数字。 阅读全文
posted @ 2023-10-23 14:05 One_JuRuo 阅读(33) 评论(0) 推荐(0)
摘要:思路 最开始都错题了,以为是不能通过另一种子串的选择方法得到这个子串就算做独特字串,实际上,是需要不能通过选择子序列的方式得到这个子串才满足条件,导致赛时没做出来(悲)。 实际上,如果一个子串满足条件,那么一个必要条件就是子串左侧没有与该子串左端一样的数字并且子串右侧也没有与该子串右端一样的数字。 阅读全文
posted @ 2023-10-23 14:05 One_JuRuo 阅读(33) 评论(0) 推荐(0)
摘要:思路 最开始晃眼一看,感觉很难,仔细一读题,哦,原来 \(k\in [2,5]\) 啊。 首先如果 \(k\) 是质数,也就是 \(k\) 不等于 \(4\) 的情况,必须要有一个数是 \(k\) 的倍数,那么计算每个数需要的操作数,取最小即可。 如果 \(k\) 不是质数,也就是 \(k\) 等于 阅读全文
posted @ 2023-10-23 14:05 One_JuRuo 阅读(20) 评论(0) 推荐(0)
摘要:思路 最开始晃眼一看,感觉很难,仔细一读题,哦,原来 \(k\in [2,5]\) 啊。 首先如果 \(k\) 是质数,也就是 \(k\) 不等于 \(4\) 的情况,必须要有一个数是 \(k\) 的倍数,那么计算每个数需要的操作数,取最小即可。 如果 \(k\) 不是质数,也就是 \(k\) 等于 阅读全文
posted @ 2023-10-23 14:05 One_JuRuo 阅读(20) 评论(0) 推荐(0)
摘要:思路 性质题,因为可以随便排序,所以只需要考虑数量满不满足条件即可。 一个回文串,应该满足所有的字符的数量都是偶数或者其中一个字符的数量是奇数。 所以可以直接扫一遍字符串,统计每个字符的数量,然后再统计数量是奇数的个数,如果这个个数大于 \(k+1\) 就无解,否则有解。 AC code #incl 阅读全文
posted @ 2023-10-23 14:04 One_JuRuo 阅读(17) 评论(0) 推荐(0)
摘要:思路 性质题,因为可以随便排序,所以只需要考虑数量满不满足条件即可。 一个回文串,应该满足所有的字符的数量都是偶数或者其中一个字符的数量是奇数。 所以可以直接扫一遍字符串,统计每个字符的数量,然后再统计数量是奇数的个数,如果这个个数大于 \(k+1\) 就无解,否则有解。 AC code #incl 阅读全文
posted @ 2023-10-23 14:04 One_JuRuo 阅读(17) 评论(0) 推荐(0)
摘要:思路 Step1. 贪心 拿到题后,第一时间想到贪心,如果这个区间加上会使答案变小或不变就不加。 但是很显然,这个贪心是错误的。 如果答案的最大值在区间 B,但是先加了区间 A,导致加区间 B 使答案不变,那么这样就会使答案变劣。 所以贪心是错误的。 Step2. 枚举 接着,想到了可以枚举最小值, 阅读全文
posted @ 2023-10-23 14:04 One_JuRuo 阅读(17) 评论(0) 推荐(0)
摘要:思路 Step1. 贪心 拿到题后,第一时间想到贪心,如果这个区间加上会使答案变小或不变就不加。 但是很显然,这个贪心是错误的。 如果答案的最大值在区间 B,但是先加了区间 A,导致加区间 B 使答案不变,那么这样就会使答案变劣。 所以贪心是错误的。 Step2. 枚举 接着,想到了可以枚举最小值, 阅读全文
posted @ 2023-10-23 14:04 One_JuRuo 阅读(17) 评论(0) 推荐(0)
摘要:思路 一个比较明显的结论是,不同的数字个数只可能是 \(1,2,3\)。 可以随手写一个暴力的输出程序,假定 \(n\) 和 \(m\),把所有可能的序列都输出来,就可以发现这个规律。 也可以感性思考一下。 如果第 \(n+1\) 位是 \(0\),那么整个序列都会是 \(0\),个数也就是 \(1 阅读全文
posted @ 2023-10-09 22:54 One_JuRuo 阅读(60) 评论(0) 推荐(0)
摘要:思路 一个比较明显的结论是,不同的数字个数只可能是 \(1,2,3\)。 可以随手写一个暴力的输出程序,假定 \(n\) 和 \(m\),把所有可能的序列都输出来,就可以发现这个规律。 也可以感性思考一下。 如果第 \(n+1\) 位是 \(0\),那么整个序列都会是 \(0\),个数也就是 \(1 阅读全文
posted @ 2023-10-09 22:54 One_JuRuo 阅读(60) 评论(0) 推荐(0)
摘要:思路 要求从一个点开始最远可以选择那个点使得两点之间的数字的与大于等于 \(k\),最开始想到的是提前预处理出每个点往后若干位的与,因为与只可能变小不可能变大,所以可以二分找到最远的位置,但是这样无论时间还是空间都会爆掉,所以我们考虑优化一下这个办法。 既然不能把每个点的后面的位置的与全部算出来,那 阅读全文
posted @ 2023-10-06 18:59 One_JuRuo 阅读(12) 评论(0) 推荐(0)
摘要:思路 要求从一个点开始最远可以选择那个点使得两点之间的数字的与大于等于 \(k\),最开始想到的是提前预处理出每个点往后若干位的与,因为与只可能变小不可能变大,所以可以二分找到最远的位置,但是这样无论时间还是空间都会爆掉,所以我们考虑优化一下这个办法。 既然不能把每个点的后面的位置的与全部算出来,那 阅读全文
posted @ 2023-10-06 18:59 One_JuRuo 阅读(12) 评论(0) 推荐(0)
摘要:思路 要求最长长度,想到可以二分答案。 那么现在需要考虑如何快速验证答案是否正确。 可以 \(O(n)\) 枚举区间左端点,因为有了长度,所以可以直接获得右端点的值,直接验证右端点是否合法。 因为要求区间的每个数都是右边的数的倍数,所以可以提前预处理每个点最远的满足这个条件的右端点,直接判断合不合法 阅读全文
posted @ 2023-10-01 10:20 One_JuRuo 阅读(39) 评论(0) 推荐(0)
摘要:思路 要求最长长度,想到可以二分答案。 那么现在需要考虑如何快速验证答案是否正确。 可以 \(O(n)\) 枚举区间左端点,因为有了长度,所以可以直接获得右端点的值,直接验证右端点是否合法。 因为要求区间的每个数都是右边的数的倍数,所以可以提前预处理每个点最远的满足这个条件的右端点,直接判断合不合法 阅读全文
posted @ 2023-10-01 10:20 One_JuRuo 阅读(39) 评论(0) 推荐(0)
摘要:思路 看到 \(n\) 的范围只有 \(5000\),并且 \(\sum n\) 的范围也是 \(5000\),所以可以考虑 \(n^2\) 的做法。 每次操作肯定都是一次性删完某个数字,如果删除某个数字删一半又去删别的数字,答案肯定会变大。 所以我们可以考虑统计所有数字的数量,记为 \(num_i 阅读全文
posted @ 2023-10-01 10:19 One_JuRuo 阅读(28) 评论(0) 推荐(0)
摘要:思路 看到 \(n\) 的范围只有 \(5000\),并且 \(\sum n\) 的范围也是 \(5000\),所以可以考虑 \(n^2\) 的做法。 每次操作肯定都是一次性删完某个数字,如果删除某个数字删一半又去删别的数字,答案肯定会变大。 所以我们可以考虑统计所有数字的数量,记为 \(num_i 阅读全文
posted @ 2023-10-01 10:19 One_JuRuo 阅读(28) 评论(0) 推荐(0)
摘要:思路 首先我们可以考虑把能分的都先分了,再选择去切剩下的苹果。 那么我们只需要考虑苹果数量少于人数的情况,每个人能分的苹果都必然少于目前的单个苹果,所以每个苹果都必须切一刀,那么答案数就会增加当前的数量,再把能分的都分了,重复这一过程,直到分完为止。这样去切一定是最优的。 那么,什么时候无解呢? 因 阅读全文
posted @ 2023-10-01 10:19 One_JuRuo 阅读(66) 评论(0) 推荐(0)
摘要:思路 首先我们可以考虑把能分的都先分了,再选择去切剩下的苹果。 那么我们只需要考虑苹果数量少于人数的情况,每个人能分的苹果都必然少于目前的单个苹果,所以每个苹果都必须切一刀,那么答案数就会增加当前的数量,再把能分的都分了,重复这一过程,直到分完为止。这样去切一定是最优的。 那么,什么时候无解呢? 因 阅读全文
posted @ 2023-10-01 10:19 One_JuRuo 阅读(66) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 11 下一页