题解列表

筛选

使用STL中的map与priority_queue

解题思路:同时使用STL中的map与priority_queue;map具有映射功能,能够很好地统计出现次数,很好地节约空间;priority_queue用小根堆的特性可以直接将输入的数进行排序,同时效率也高;使用priority_queue记录出现的数,

#include <iostream> #include <iomanip> using namespace std; int main() { int n; cin >> n; // 使用动态分配数组 int* a = new int[n]; // 输入数字并计算总和 double sum = 0; // 用于存储总和 for (int i = 0; i < n; i++) { cin >> a[i]; // 输入数字

解题思路:注意事项:参考代码:#include#includeusingnamespacestd;intmain(){intn;cin>>n;//使用动态分配数组int*a=newint[n];//输入数字并计算总和doublesum=0;//用于存储总和for(

踩方格dfs+临时记忆化搜索

摘要:```cpp/*题目描述有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:a、每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;b、走过的格子立即塌陷无法再走第二次;……

记忆化搜索

摘要:注意事项:(67分的痛谁懂),百思不得其解为啥从第1阶到第m(当m=1时)阶的走法竟然是1```cpp#includeusing namespace std;long dp[100……

DFS+记忆化搜索

摘要:/*dfs就不说了,下面代码里的dp用于标记已经重复过的路径以及可以到达终点的路径数量,比如从(0,0)到(4,1)(假设4,1是马的控制点或终点),那么就会有:(0,0)->(1,0)...->……