随笔分类 - 题目讲解
摘要:题目链接 主要算法 分治(最大值分治),st表 思路 1.因为我们考虑最主要的限制条件是最大值和排列,所以如果我们知道最大值就知道答案的长度。所以考虑按最大值分治,统计左边对右边的贡献。 2.接下来就是如何快速考虑一个区间是否合法,一个显然的是没有相同数,所以可以记前一个数的位置的最大值,如果小于左
阅读全文
摘要:题目链接 主要算法: 线段树(虚假的),奇技淫巧(真正的) 思路: 1.初步:考虑如何保证一个区间坐好后是一个矩形,有一个思路从另一个题中启示我们维护 ,但是这样无法保证在中间挖一个空的情况(有一个别的题解,可以染色后维护四个角和一个判框的东西),但我
阅读全文
摘要:简要题意 给你一副手牌,求最少的次数出完所有手牌。(按照它给出的规定出) 题目 分析 因为求最小次数直接贪心很明显是错的,但又直接写不出 的式子,所以我们只能够爆搜所有情况,但这样明显会超时,只有剪枝,我们记录了各个数码的个数,但其实除了顺子以外,其他的出牌并不关心数码的大小,只关心个
阅读全文
摘要:题目链接 简要题意 给定一个有 个结点的树,树有点权且点权为正整数。现选取 条从根结点出发到叶子结点的简单路径,求这些路径的并集上所有结点的点权之和的最大值。 主要算法 贪心,树链剖分,(线段树合并) 思路 一个显然的贪心,每次选一点点权和最大的链,再讲这条链清为0。正确性我
阅读全文
摘要:题目链接 简要题意: 给定一个长度为 的数组 ,你需要完成以下 次操作。 1 l r x 将 异或上 。 2 l r 求: \[(\sum_{i=l}^r\bigcup_{j=l}^i A_j) \bmod 2^{
阅读全文
摘要:方法一: 简单贪心题。 如果每个数相等时的数为sum,考虑一个数不等于sum,最好的情况通过一次转移使它变为sum。 所以按顺序处理,当前数少从后面拿,当前数多向后面扔,中间记录次数即可。 考虑正确性,有人会觉得,如果后面的数不够拿成为了负数,需要从更后面拿,就不止一次转移了。 其实,如果遇到上述情
阅读全文
摘要:数据范围一眼数位dp。 关键条件为如果一个数字串的一个长度大于 11 的子串也为回文串的话,那么我们也定义这个数字串为回文串。 仔细思考发现一旦两个连续的数相同(偶回文)或两个数隔一个数相同(奇回文)都是回文,所以要保证连续三个数不相同,记录前两位即可。 注意事项: 1.前导零不应为0,防止前导零影
阅读全文
摘要:高斯消元例题 题目要求的是球心的 n 维坐标,给了n+1个点的坐标,用二维的圆来思考,n+1个点到圆心的距离相等,可以列出n+1个等式 √∑(ai,j-bj)2=r(r为半径) 两边同时平方得到∑(ai,j-bj)2=r2 因为ai,j已知,所以有n+1个二次方程来解n维坐标和r。 考虑学过的算法并
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P4555 题解: 要找一个由两个回文组成字符串,一定有一个分割的位置,将两个回文串分开,设分割x,x+1,可能成为最后答案的值一定是左边的最长回文串和右边的最长的回文串长度之和。 回文中心一个<x,一个>x+1且一定包含x
阅读全文
摘要:题目链接:Legacy - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题解: 考虑题目中一个点向区间连边,如真的对区间中的每一点分别连边后跑最短路,时间空间都要炸。 因为是一个点向区间连边,考虑线段树。 1到n构造两颗区间线段数 观察上图(从网上搬的) 两颗线段树,一颗入树父亲向
阅读全文
摘要:题目链接:P3355 骑士共存问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题解: 棋盘问题考虑黑白染色成为二分图后做。 观察马的性质,可知一个点只能到一个异色点,所以,构造方案可以先将所有同色点放上马,再考虑有那些异色点不可以放置。 方法一: 网络流,时间复杂度为O(|E
阅读全文
摘要:题目链接:P2045 方格取数加强版 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目: 出一个 n*n 的矩阵,每一格有一个非负整数 A{i,j}且A{i,j} <=10^3 现在从 (1,1) 出发,可以往右或者往下走,最后到达 (n,n),每达到一格,把该格子的数取出来,
阅读全文
摘要:难度:困难 主要算法:贪心 题目链接:https://www.luogu.com.cn/problem/P6631 解题思路 简化问题:定义直线为覆盖ai,ai+1,ai+2 的操作,跳线为覆盖ai,ai+2,ai+4的操作。题意简化为使用一些直线和一些跳线使每个位置被覆盖正好ai次。 小范围思考:
阅读全文
摘要:前置知识 meet in middle (折半搜索) 会的大佬请跳过 不会的请自己前往oi wiki或CSDN(百度吧,少年) 解题思路 纯暴力 看完题目考虑将每一种情况计算出来,排序后找不超过T的最大值 因为每个数有(选/不选)两种情况 所以总共2^n种结果 显而易见,时间复杂度 O(2^n) n
阅读全文