随笔分类 - 洛谷官方题单
摘要:原题链接:https://www.luogu.com.cn/problem/P1884 题意解读:给定n个矩形的平面直角坐标系下左上角、右下角的坐标,计算这n个矩形能覆盖的的格子数。 解题思路: 直观上来看,此题是一个差分应用,针对二维差分数组,将n个矩形区域内每个格子的值加1,然后统计有多少个不为
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1955 解题思路:本题的考察点有两个:并查集、离散化 具体内容参考之前的题解:https://www.cnblogs.com/jcwy/p/18096711
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1496 题意解读:给定n个区间[a,b),计算所有区间覆盖的总长度。 解题思路: 方法1、离散化 先思考一种比较直观的思路: 既然要计算多个区间覆盖的总长度,可以枚举每一个区间[a,b),通过一个桶数组来标记区间中所有的
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3397 题意解读:给定一个n*n的矩阵,每个元素初始值为0,再将m个子矩阵中的元素都增加1,统计每个元素最终的值。 解题思路: 1、暴力法 枚举每一个子矩阵,将对应元素值加1,时间复杂度为1000^3,不可行。 2、二维
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2367 题意解读:对于数组s[],给指定q个区间[x, y]里每个数增加z,计算操作之后最小的数。 解题思路: 1、暴力做法 对于每一个区间[x, y],枚举给每一个数增加z,然后遍历查找最小值,总体时间复杂度为O(N^
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1314 题意解读:计算m个检验值之和,计算与s差值绝对值的最小值。 解题思路: 1、首先要搞懂检验值是如何计算的 如上图,对于每一个区间的检验值yi,表示为:yi = "该区间重量>=W的矿石个数" ✖️ "该区间>=W
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1719 题意解读:在n*n的矩阵中,找到和最大的子矩阵,求最大的子矩阵和。 解题思路: 1、暴力解法 第一步、枚举所有的子矩阵 可以通过枚举子矩阵的左上角(x1,y1)、右下角(x2,y2)来枚举所有子矩阵: for(i
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P8218 题意解读:对于数组a[N],给定m个区间l~r,求每个区间所有元素之和。 解题思路: 先思考暴力做法: 对于每一个区间[l, r],累加a[l] ~ a[r]所有元素,时间复杂度最坏为10^5 * 10^4,不可
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1220 题意解读:按坐标顺序排列1~n个路灯,每个路灯有不同的功耗,老张从位置c开始关灯,第一时间关掉c位置的灯,每次关掉一个灯之后,可以往右走、也可以往左走关下一个灯,老张速度是1m/s,求所有灯都关掉所消耗的最少功耗
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4342 题意解读:环中节点表示数字,边表示运算符,可以任意断一条边,其余节点两两按边的符号计算,求结果的最大值,以及最大值是断开那些边可以得到。 解题思路: 题意中有几个个关键信息: 环形,节点数为n,边数为n 任意断一
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1070 题意解读:1~n个环形机器人工厂,相邻工厂之间的道路是1~n,每个时刻可以从任意工厂购买机器人,走不超过p时间,不同工厂购买机器人花费不同的金币,不同时刻走到不同道路也能得到不同的金币,问一共m时间,最多可以得到
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1063 题意解读:本质上是一个环形石子合并问题,计算合并产生的最大能量。 解题思路: 对于环形DP问题,可以把环拆开,并复制2倍长度,然后用1~n的区间长度去枚举 1、状态表示 设struct node {int hea
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4290 题意解读:W、I、N、G中一个字母可以替换为多种两个字母,给定目标串,求能从W、I、N、G中哪些单个字母变形得到。 解题思路: 1、状态表示: 设W、I、N、G为1、2、3、4,函数int getnum(char
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4170 题意解读:长度为n的字符串,每次可以将连续一段填为同一个字符,求要填成目标串的最少填涂次数。 解题思路: 1、状态表示: 设s表示目标字符串,dp[i][j]表示将i~j涂成目标"颜色"的最少次数 2、状态转移
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1140 题意解读:两个只包含A、C、G、T4个字符的序列,根据已经定义好的字符-字符的相似度,计算两个序列最大的相似度,两个序列必须每个字符都配对,如果字符不够,可以插入'-'代替。 解题思路: 本题要解决几个问题: 1
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1880 题意解读:计算n堆石子合并的最小、最大得分,只不过这n堆石子是环形的,也就是首、尾也相邻,是区间DP的升级版-环形DP问题。 解题思路: 如果是常规区间DP的方法: 对于n堆石子,考察区间的长度范围是1 ~ n
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3205 题意解读:给定理想队形,计算初始队形的方案数。 解题思路: 对于给定理想队形,最后一个人插入有两种可能:从左边插入、从右边插入 从左边插入,则意味着前一个数比当前数大,前一个数有可能在左边也有可能在右边 从右边插
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/CF607B 题意解读:从一组整数中取连续的回文子串,求最少几次可以取完。 解题思路: 状态表示:设dp[i][j]表示取i~j之间的回文子串所需的最少次数,a[i]表示第i个数 状态转移: 如果a[i] == a[j],d
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1775 题意解读:计算合并石子的最小代价,区间DP。 解题思路: 状态表示:dp[i][j]表示将第i~j堆石子合并的最小代价,m[i]表示第i堆石子质量,s[i]表示前i堆石子质量前缀和 状态转移:考虑最后一次合并,设
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3147 题意解读:将一组数据两两相邻且相同的合并,合并成一个数值+1的数,求合并后的最大值。 解题思路: 考虑合并后的最大数i,其最后一次必然是由两个i-1合并而来的 设dp[i][j]表示以j为左端点,合并最大值为i时
阅读全文
浙公网安备 33010602011771号