![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
文章平均质量分 80
beauty010
这个作者很懒,什么都没留下…
展开
-
[CSP-J 2022] 解密题解
[CSP-J 2022] 解密题解原创 2022-11-19 16:27:17 · 380 阅读 · 1 评论 -
线段树练习- 你能回答这些问题吗?
题目链接题目来源:《算法竞赛进阶指南》题目难度:题目描述给定长度为NNN的序列AAA和MMM条指令,指令类型有两种:1 x y : 查询区间[x,y][x,y][x,y]的最大连续子序列和2 x y:修改A[x]A[x]A[x] 为yyy题目解析对于区间[x,y][x,y][x,y]最大连续子序列和有两种情况:左/右子问题的解跨左右子问题具体参考参考最大子序列和问题中的分治解法。因此...原创 2022-05-23 12:30:25 · 157 阅读 · 0 评论 -
[NOIP2018 普及组] 摆渡车题解
题目链接题意给出n名同学到达车站的时间,只有一辆摆渡车,来回需要mmm分钟,求将所有同学摆渡到终点,所有同学的最少等车时间之和。抽象一下题意:数轴:时间轴点权值:此时刻等车的人数区间右端点:发车时刻区间内每个点到区间右端点的加权距离和:等车时间和问题变成,将要数轴划分若干成左开右闭的区间,区间长度 ≥m\geq m≥m,每个区间的值定义为区间内每个点到区间右端点的加权距离和,求所有区间值和的最小值。根据题意,易得区间长度≥m\geq m≥m进一步分析,区间长度 <2m<原创 2021-09-25 17:40:27 · 805 阅读 · 0 评论 -
P5662 [CSP-J2019] 纪念品题解
题目链接题意已知TTT天NNN种纪念品每天的价格,最初有MMM个金币,求经过N天的交易后,最多有多少个金币?每天可以交易无限次,每种物品可以买卖无限个,只要金币足够。每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪念品也可以当日卖出换回金币。题目分析这是一个完全背包问题。由于每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪念品也可以当日卖出换回金币,因此不必考虑当天结束后,手里有多少金币和多少物品,统一用金币数量来衡量,那物品的价值价值由什么决定?答案是明天的价格。那么,原创 2021-08-21 19:16:44 · 262 阅读 · 0 评论 -
[NOIP2006 提高组] 金明的预算方案解析
题目链接题意金明有n元钱,最多允许购买m件物品。物品分为两类:主件和附件。规定:每个主件有0、1或2个附件,每个附件只对应一个主件,附件没有自己的附件。给出每件物品的价格,重要度,和从属关系,求出所选物品的价格与重要度乘积最大值。题目分析这是一道有依赖的背包问题。仅考虑一个主件和它的附件集合,可选的策略最多有以下五种:不选仅选主件 — 物品1选主件+附件1 — 物品2选主件+附件2 — 物品3选主件+附件1+附加2 — 物品4问题转化成了分组背包,每组中最多有4种物品,组内的物原创 2021-07-30 21:16:17 · 118 阅读 · 0 评论 -
[USACO2.2]集合 Subset Sums解析
题目链接题意给出 1∼n 的连续整数集合,求划分成两个和相等的子集合的方案数,如果不能划分,则输出0。题目分析【01背包问题】定义dp[i][j]状态为:前 i 个数字,和为 j 的方案数。状态转移:j < i (不能选第i个) :dp[i][j]...原创 2021-08-03 18:08:36 · 473 阅读 · 0 评论 -
[NOIP2014 提高组] 飞扬的小鸟 题解
题目链接题意一个宽n高m的方格图,k组管道(图红色处),一只小鸟从左面任意高度起飞(包括0和m),高度为0或者碰到管道游戏结束。点击一次屏幕高度上升xix_ixi, 不点则下降yiy_iyi,可点击多次屏幕,效果累加。求飞到右边界(任意非0位置)的最少点击屏幕次数。题目分析这是一道01背包和完全背包的组合题。有两种情况:不点屏幕 — 01背包问题点击k下屏幕 ---- (必选物品的)完全背包问题【注意】:顶部位置需根据题意特殊处理。对于dp[i][m], 哪些状态会影响它?原创 2021-08-19 19:55:08 · 191 阅读 · 0 评论 -
[NOIP2018提高组] 货币系统 题解
题目链接题目模型给出具有n个数字的集合,求最多能删除多少个数,使得删除后的集合和原集合等价,等价的定义为:对于任意非负整数,原集合能表示则新集合也能表示出。每个数字可以使用无数次。思路进一步分析,哪些数字是能删除的?如果这个数字能够通过原集合中的其它数字组合出,则这个数字可以删除。这其实是一个完全背包问题。将集合内的数字升序排序,推一遍完全背包,在推的过程中,判断a[i]是否能被前i个数组合出来。(组合方式是求和,且已升序排序,推到这里组合不出来,后面也不会组合出来了)。定义状态dp[i][原创 2021-08-20 15:51:16 · 115 阅读 · 0 评论 -
[NOIP2000 提高组] 方格取数题解 -多线程动态规划
题目题意给出一个N*N的数字方阵,从左上角走到右下角,每次只能向右或者向下走,走过的方格数字变为0。走两次,求两条路径的最大和。题目分析典型的动态规划题目。如果走一次,定义dp[i][j]dp[i][j]dp[i][j]为走到iii行jjj列的路径最大和,由于只能向右或者向下走,则转移方程为:dp[i][j]=max(dp[i−1][j],dp[i][j−1])+a[i][j]dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + a[i][j]dp[i][j]=max(原创 2021-09-06 21:32:54 · 248 阅读 · 0 评论