![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
qianxun0712
Q!AN
展开
-
深度优先搜索(一)Ⅰ
迷宫游戏:dfs地图:核心代码:那个“!=”要改成“==”,有错误仅供参考int ans = 0;int dir[4][2] = {{-1,0},{0,-1},{1,0},{0,1}};void dfs(int x, int y){ if(maze[x][y] == 'T'){ ans++; return; } vis[x][y] = true; for(int i = 0; i < 4; i++){ int tx = x ...原创 2022-01-21 19:31:20 · 6351 阅读 · 0 评论 -
图论基础(二)I
储存方法:路径有1条分支或多条不是叶子结点,有0条就是叶子结点。性质:1.每颗非空有根树且仅有一个根结点。2.父结点可以有多个孩子结点,除根结点外,其余的结点有且仅有一个父结点。3.根结点没有父结点,叶结点没有孩子结点。4.若树上的结点数为n,则边数一定为n-1。5.树上的任意一对结点之间有且仅有一条路径。...原创 2022-01-21 18:55:14 · 197 阅读 · 0 评论 -
邻接表的存储bilibili-TV
二维数组是邻接矩阵;动态规划是邻接表。如果是稀疏图,一般选择邻接表作为图的存储结构。查询两个顶点之间是否有边,邻接矩阵比邻接表更方便。无向图的邻接矩阵一定是对称矩阵。点数较多时使用邻接表。#include <bits/stdc++.h>using namespace std;vector<node> G[105];//插入有向边void insert(int u,int v,int w){ node temp; te...原创 2022-01-07 20:28:51 · 395 阅读 · 0 评论 -
图论基础I
那么什么是图呢?那么图有什么概念呢?????有讲到度,什么是度?????????什么是入度,出度?例如:指着a有几个那么入度就是几;a有几个指着别的那么出度就是几,画了橙色两行的是错误的!只有无向图中,顶点的度数总和为边数的两倍;memset只能初始化0和-1哦!配对:权值:(带权图)...原创 2021-12-31 20:31:05 · 140 阅读 · 0 评论 -
高精度减法
高精度加法想必大家都会了吧!那我们来学习一下高精度减法#include <bits/stdc++.h>using namespace std;int a1[1001] , a2[1001] , a3[1001];string s1,s2;bool cmp(string num1, string num2){ if(num1.size() != num2.size()){ return num1.size() < num2.size(); } return nu.原创 2021-12-31 19:12:16 · 378 阅读 · 0 评论 -
高精度代码
#include <bits/stdc++.h>using namespace std;int a[105],x,len;string sb;int main(){ cin >> sb >> x; //将高精度读入到a,倒叙放置 len = sb.size(); for(int i = 0; i < len; i++){ a[i] = sb[len - i - 1] - '0'; } //高i为len //将单精度舒读入到x a[0] .原创 2021-12-24 20:29:06 · 355 阅读 · 0 评论 -
高精度代码
一:string num;cin >> num;int a[105];int len = num.size();for(int i = 0; i < len; i++){ a[i] = num[len - i - 1] - '0';}二:int a[105],len;cin >> len;for(int i = len - 1; i >= 0; i--){ cin a[i];}高精度要倒着输出:高精度加单精度:...原创 2021-12-24 19:37:21 · 456 阅读 · 0 评论 -
高精度的基本运算
可以学习一下下面的链接的视频:高精度算法全套(加,减,乘,除,全网最详细)_哔哩哔哩_bilibili当一个数很大的时候,怎么存呢?long long 和 int 都存不下我们就要使用高精度来存:...原创 2021-12-24 19:20:37 · 273 阅读 · 0 评论 -
10进制转K进制
我们学会了十进制转k进制,那么我们来学习一下k进制转十进制。代码:int dight[25] //从高位往低拉放的int ans = 0; //最后结果for(int i = 0; i < cnt; i++){ //循环着每一位 ans = ans * k * dight[i];}...原创 2021-12-17 19:25:45 · 818 阅读 · 0 评论 -
二进制的转换
大家应该都会从十进制转到二进制吧,就是除2求余,然后从下往上写结果。如图:但是c++代码怎么写呢,我才教大家一个简单的方法。先打好代码:#include <bits/stdc++.h>using namespace std;int main(){ return 0;} 在main函数上面打"std;"下面打:int a[1001];先int一个列表;在mian函数下打上while循环: int n,m = 0; cin >>.原创 2021-12-17 19:06:59 · 4384 阅读 · 0 评论