- 博客(6)
- 收藏
- 关注
原创 并查集和最小生成树(Prim+Kruskal)
一、并查集1.初始化void init(){ for(int i=1;i<=n;i++) father[i]=i;}2.查找元素所属集合int find(int x){ //非递归写法 while(father[x]!=x) x=father[x]; return x;}int find(int x){ //递归写法 if(father[x]!=x) return find(father[x]); else return x;}3.合并集合void
2020-11-21 11:08:26 252
原创 c++中数字和字符串的转换
数字转字符串1.用头文件include中的stringstream(支持浮点数)int main(){ double x; string str; stringstream ss; cin >> x; ss << x; ss >> str; cout << str; return 0;}2.c++11 to_stringint main(){ double x; s
2020-10-18 12:15:43 917
原创 点亮数字人生(思路+代码)
思路:抽象成图的问题 定义邻接表数据结构并初始化typedef struct Node{ int v;//边的终点 Node(int _v):v(_v){}//初始化列表}node;std::vector<node> Adj[MAXV];//邻接表审题:1.因为题目中包含Q个问题,所以存放数据的结构每次循环开始的时候都要进行初始化。2.输入分为两部分,顺序读入。3.第一部分:(1)第一行M、N表示整个电路的输入和器件的数量,N最大是500,(2)接下来N行(
2020-10-17 11:33:15 917
原创 c++动态规划笔记
1.数字三角形73 88 1 02 7 4 44 5 2 6 57->3->8->7->5=30定义状态f[i][j]表示从(1,1)出发走到(i,j)所有路径的最大和要注意状态转移的顺序f[i][j]=max(f[i-1][j],f[i-1][j-1])int main(){ int a[5][5]={{7},{3,8},{8,1,0},{2,7,4,4},{4,5,2,6,5}}; int dp[5][5]={0}; dp[0][0]=a[0][0];
2020-10-01 16:35:27 153
原创 c++stl notes
加了using namespace std 起名时 容易和库函数冲突(prev, count, next, sort)用printf和scanf输入输出比cout和cin要快关于cin.get()cin.getline(char*,int) 和getline(cin,line)c++动态开辟内存int* number=new int;int* arr=new int[100];int* carr=(int *)malloc(100*sizeof(int));c++structst.
2020-09-28 20:19:40 161
原创 贪心法合并果子(优先级队列priority_queue)
#include<iostream>#include<queue>using namespace std;int main(){ int i,n,m,sum; sum=0; cin>>n; priority_queue<int, vector<int>, greater<int> >q; for(i=0;i<n;i++){ cin>>m; q.push(m); } for(i=0;i&l
2020-09-18 15:07:33 187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人