12 2023 档案
摘要:题目链接 CF1914E1 Game with Marbles (Easy Version) CF1914E2 Game with Marbles (Hard Version) 题意简述 小 和小 想要玩一个游戏,规则是这样的,每个人手里有 种类型的弹珠,每种类型
阅读全文
摘要:题目链接 诈骗题。 容易证明,翻转任意一个“灵异区间”时,整个序列的“灵异区间”的数量总数都不会变,因此我们直接输出原数列的“灵异区间”的总数即可。 参考代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题?
阅读全文
摘要:题目链接 简单贪心。 由于我们需要判断无解情况,于是我们可以在做的过程中记录答案。 比较容易发现,对于每个时间段,我们肯定是优先复习日期较近的考试的,贪心了这一点,就能轻松 AC 了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std;
阅读全文
摘要:题目链接 算法一: 直接暴力,时间复杂度 。 算法二: 使用双指针维护,时间复杂度 。 算法三: 是用前缀和维护,时间复杂度 。 这里提供算法二的代码: 点击查看代码 #include<bits/stdc++.h> using namespace
阅读全文
摘要:题目链接 一道 dp 板子题。 只需要设 为前 位 为 的方案数的数量即可。 剩下的就看代码了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; #defin
阅读全文
摘要:一道好题。 题目链接 考虑离线操作。 我们可以设 为当前 表示的数字,然后直接倒序操作,运用并查集的思想,可以 通过此题。 参考代码: #include<bits/stdc++.h> using namespace std; long long n,a[
阅读全文
摘要:题目链接 CF1272D Remove One Element 题意简述 给定一个长度为 的序列,你需要求出至多删除一个数后的这个序列的最长上升子串。 解题思路 首先我们可以想一下这题的弱化版,给定一个长度为 的序列,你需要求出至多删除一个数后的这个序列的最长上升子序列。 这
阅读全文
摘要:题目链接 CF1904B Collecting Game 题意简述 给你一个由 个正整数组成的序列 和一个分数。如果你的分数大于或等于 ,那么你可以将分数增加 ,并从序列中删除 ,你需要求出对于每一个 为你的分数时你可
阅读全文
摘要:题目链接 一道 dp 的入门题。 : 考虑直接爆搜,可以考虑到所有情况。 : 考虑 ,设 代表到达第 层第 个数所能达到的最大值。 状态转移方程为 \(dp_{i,j}=a_{i,j}+\max(d
阅读全文
摘要:题目链接 数字三角形的变形。 直接在原来的基础上加个判断 倍的就行了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; long long n,m,ans=-1e18,a[110][110],dp[110][110][5
阅读全文
摘要:题目传送门 一道小清新动态规划题,直接设 表示前 个鼹鼠最多能打到几个,然后状态转移方程也很好想了。 参考代码: 点击查看代码 #include<bits/stdc++.h> using namespace std; long long n,m,ans,dp[1001
阅读全文
摘要:题目传送门 一道算是 dp 的板子题了。 题意大概就是 01 背包 + 捆绑。 首先回顾一下 01 背包,一个比较基础的 dp 题,状态转移方程也很好想,是 。 代码实现如下: 点击查看代码 #inclu
阅读全文