02 2025 档案
摘要:1.点乘 .dot() 2.转置 .T 3.求逆矩阵 np.linalg.inv() 4.拼接(返回变化后,但是并不对原来对象更改) np.concatenate((要拼接的ndarray对象),axis=按哪个维度拼接) axis=0 -->行增加 axis=1-->列增加 对于如果只有一个维度的
阅读全文
摘要:dfs 1.P2036 #include<bits/stdc++.h> using namespace std; typedef long long int ll; int n; ll s[12]; ll k[12]; ll ans=1e9; void dfs(int dep,ll suan,ll
阅读全文
摘要:bfs P1162 填涂颜色 bfs思想 /*bfs 方法是最外面一圈先加一圈 然后所有0赋值成2 接着做bfs,用队列,将能走的通的2赋值成0即不是闭合圈 其实就是先假装0都不能走 然后走一下 将能走的通的0(现在是2)变为0 */ #include<bits/stdc++.h> using na
阅读全文
摘要:第十五届蓝桥杯省赛 1.握手问题 #include <iostream> using namespace std; int main() { //划分为43,7两组 //(43*42)/2+7*43=28*43 cout<<28*43; return 0; } 2.小球反弹(难) 分析: 当做两个方
阅读全文
摘要:bfs宽搜 1.走迷宫 #include<bits/stdc++.h> using namespace std; int g[110][110];//存图 int d[110][110];//d[i][j]存放的为从起点到(i,j)这个点的距离 int n,m; //针对东南西北走的问题一定要写变化
阅读全文
摘要:dfs深度优先遍历 一般思路:遍历所有情况,从第一层一直往下,搜到最后一层再回溯到上一层,为防止重复搜一般可能会用bool数组记录一下访问过没, 如果没访问过: 记录已经访问->dfs(下一层)->修改成没访问过 1.数字排列 #include<bits/stdc++.h> using namesp
阅读全文
摘要:2016蓝桥杯省赛B组 1.煤球数目 #include<bits/stdc++.h>using namespace std;int dp[200];int main(){ int sum=0; for(int i=1;i<=100;i++){ dp[i]=dp[i-1]+i; sum+=dp[i];
阅读全文
摘要:堆 stl里的堆不能实现删除、修改任意一个元素,手写可以实现。 小根堆:堆顶最小。每一个根节点比左右子节点都小(stl里优先队列) 堆: 存储(用一维数组heap存储堆) 下标x(从1开始) 左孩子结点:2*x 右孩子结点 :2*x+1 下标关系如下表 1 2 3 4 5 6 7 1.手写堆 核心操
阅读全文
摘要:并查集 操作: 1.将两个集合合并 2.询问两个元素是否在一个集合里 一.合并集合 示意图: 并查集问题的关键: 1.如何判断是否是根节点 p[x]=x就是根节点 2.合并两个集合 将x所在集合接在y集合根节点下面 p[find(x)]=find(y) find函数表示找该集合的根节点 3.路径压缩
阅读全文
摘要:Trie树 作用:高效存储和查找字符串的数据结构 #include<bits/stdc++.h> using namespace std; int idx;//下标 const int N=1e5; int cnt[N];//cnt[i]表示以i结尾的单词出现次数 int son[N][26];//
阅读全文
摘要:kmp匹配 代码: #include<bits/stdc++.h> using namespace std; const int N=1e5+6; const int M=1e6+6; char s[M];//长串 char p[N];//模式串 int ne[N];//next指针 ,后退的指针
阅读全文