04 2022 档案
摘要:题目链接 https://www.acwing.com/problem/content/4403/ 题目思路 约瑟夫环问题(详情百度) 因为数据范围小,所以可以使用队列来实现数数和淘汰操作,每次数数操作由出队再入队实现,而淘汰则是只出队. 题目代码 #include <iostream> #incl
阅读全文
摘要:题目链接 https://www.acwing.com/problem/content/900/ 题目思路 这道题我们可以从最底层考虑,若要使当前路径之和最大,选择当前的所选值加左上/右上之和最大即可 因为有负数情况,所以要把边界设置好 题目代码 #include <iostream> #inclu
阅读全文
摘要:题目链接 https://www.acwing.com/problem/content/4397/ 题目思路 根据题意可知,我们要找的是最长的且出现不同数字的个数小于k的子序列,可以用双指针 每当有一个新数字加入时设置一个计数器来计数,当计数器超过k时,移动j的位置,记住也要把之前j位置出现的数字移
阅读全文
摘要:题目链接 https://www.acwing.com/problem/content/5/ 题目思路 多重背包问题的进阶版 因为数据量大,所以不能用三重循环以及二维数组 所以可以将物品的体积和价值利用二进制形式存起来 然后再进行一维优化即可 题目代码 #include <iostream> #in
阅读全文
摘要:题目链接 https://www.acwing.com/problem/content/4/ 题目思路 完全背包问题进阶版 每种物品有了数量限制,所以需要判断要拿多少当前物品,其他与完全背包问题类似 题目代码 #include <iostream> #include <algorithm> usin
阅读全文