题解列表

筛选

3054: 最低通行费

摘要:解题思路:DP注意事项:初始化第一行第一列数据参考代码:#include<iostream> #include<algorithm> using namespace std; const int……

基础的递归拆分输出

摘要:解题思路:注意事项:参考代码:#include <bits/stdc++.h>using namespace std;#define endl &#39;\n&#39;#define int long……

3053: 怪盗基德的滑翔翼

摘要:解题思路:转化最长上升子序列和最长下降子序列的最大值注意事项:参考代码:#include<iostream> #include<algorithm> #include<cstring> cons……

基础的递归组合输出

摘要:解题思路:1~n选择的排列数量r,递归可以用两个变量一个用于控制走,一个控制数量注意事项:采用的是框架写的:#include <bits/stdc++.h>using namespace std;#d……

3052: 最大上升子序列和

摘要:解题思路:经典DP, f[i] 以i节点为结尾的最大上升子序列和注意事项:参考代码:#include<iostream> #include<algorithm> const int N = 1e3……

砍柴 - 预处理 & 记忆化搜索

####解题思路博弈问题,预处理范围内的质数集,`booleanwin(intx)`用DFS判断当前剩余长度能否获胜,递归交换对手。对`win(x)`,二分质数集查询$$\leqslant$$`x`的最大位置,倒序遍历,更快接近DFS基态,否则$$10^5$$容易栈溢出。

吊坠 - Kruskal 算法

####解题思路分2大步:#####第1步求出所有边的边权,如:```text[0,4,2,2][0,0,2,2][0,0,0,1][0,0,0,0]```本题中的字符串可旋转,考虑在每个字符串后重复一次自身,如`"abcd"`变为`"abcdabcd"`,

回文数组 - 贪心

摘要:#### 解题思路 操作: 1. 选择一个元素,对其增减 1 2. 选择相邻的两个元素,对其增减 1 双指针 `i`、`j` 从两端向中间看,每次先用“操作 1”使 `arr[i]……

数字诗意 - 找规律

####解题思路手写/暴力打一个小表,下划线`_`表示无法表出的数字:```text__3_567_9101112131415_17181920```找规律,发现只有$$2^n$$无法表出。记`long`内最大的$$2^n$$为`POW`,对输入的每个数`x`,`POW%x==0`时答案加1。

2983: 花生采摘

解题思路:贪心策略,按照题目要求从最多的花生开始采摘注意事项:数据与题意不符,有部分重复数据,因此有三组数据未通过,以hack方式解决,希冀后来的同学能够找到完美的解决方式参考代码:#include#include#includeusingnam