题解列表

筛选

全排列问题(深搜)

```cpp#include#defineULLunsignedlonglong#defineLLlonglong#definePIIpairusingnamespacestd;constintN=3*1e6+10,M=2*1e3+10,inf=0x3f3f3f3f;charstr[10];//存初始

数据结构之--并查集+路径压缩

#并查集+路径压缩######并查集时间复杂度查O(1)+并O(n)轻松秒杀注意输入的数据是分开的~~我就是被坑了~~没什么好说的看代码模板题######CodeL:```cpp#include#include#defineintlonglong//个人习惯usingnamespacestd;intf

bfs之迷宫问题--输出路径/但是本题数据有错

#使用对组数列存储路径并使用栈反向输出迷宫问题大家都很熟悉了一眼就看出用bfs宽搜出最短路即可但是如何输出每个最短路径呢?######使用对组数组更新实时最短路径,但是因为跟新路径会从后往前存,所以可以用栈来输出(在迷宫大于5*5的时候适用一点);######不能使用每次得到的最短步作为数组下表来存因

利用动态数组以及建立循环条件

摘要:解题思路:如果是字符串的话或许可以套用循环公式,但题目要求是要整数,在这里我们要明白当(a<b时)a%b=a的,利用这个性质我们就可以为这10个数字设置一个公式,即(a+m)%b,m为要移动的位置,在……

抓住那头牛! 双向BFS

#双向BFS######更小的时间复杂度,更少的栈空间,更多的代码######tip:小题大做``````cpp#include#defineULLunsignedlonglong#defineLLlonglong#definePIIpairusingnamespacestd;constintN=3*

dfs简单易懂--来自蒟蒻的题解

#欢迎各位赏脸来看本蒟蒻的题解~~保姆级教程~~(不是)一眼dfs但是可能会遇到重复加的问题导致答案错误#####其实只要思考一下dfs递归的本质就会发现只需要加一个特判就可以完美的去重#####还有一个小技巧如果从n开始加一个数就减一个就会让我们后面的判定简单很多话不多说直接上代码######Cod

利用归并排序求逆序对--模版题

#归并排序求逆序对时间复杂O(nlog(n))第一次在这个平台发题解本蒟蒻有点紧张哈哈哈这是一个模版背住就行需要注意几个地方递归时的左右边界需要注意不要越界,。详细看代码块注释######Code:```cpp#include#include#include#defineintlonglong//个人

猴子吃桃的问题

摘要:解题思路:注意事项:参考代码:#include<bits/stdc++.h>using namespace std;int main(){ int n,s=1; cin>>n; for(int i=1……