目录

图的概念

图的存储方式

邻接矩阵

题目:图的邻接矩阵表示

 邻接表

题目:图的前向星表示1

遍历

深度优先搜索

广度优先搜索

最短路径算法 

Dijkstra算法

题目:聚会

Bellman-Ford算法

SPFA算法 

题目:赚钱

Floyd算法 

最小生成树

Kruskal算法

题目:繁忙的都市(city)

题目:扩充完全图

Prim算法

题目:暗黑城堡

 结束语


图的概念

1、图的定义
 图G由顶点集V和边集E组成,记为G=(V,E),V不能为空,E可以为空,顶点的个数,也叫做图G的阶。
2、有向图
 当E是有向边(弧)的有限集合时,图G为有向图,弧是顶点的有序对,记为<v,w>,v和w是顶点,弧从v(弧尾)指向w(弧头)
3、无向图
 当E是无向边的有限集合时,图G为无向图。边(v,w),既可以从v到w,也可以从w到v
4、简单图(数据结构仅讨论简单图)与多重图相对
 ①不存在重复边
 ②不存在顶点到自身的边
5、完全图(任意两点之间均存在边)
 对于无向图,存在n*(n-1)/2条边,称为无向完全图
 对于有向图,存在n*(n-1)条弧,称为有向完全图
6、子图
 图G1的顶点和边都包含于图G2,则称G1是G2的子图
7、连通,连通图和连通分量(无向图)
 在无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通的。
 若图G中任意两个顶点都是连通的,则称图G为连通图,否则称为非连通图。
 无向图中的极大连通子图称为连通分量
 若一个图中有n个顶点,并且边数小于n-1,则此图必是非连通图。
8、强连通图,强连通分量(有向图)
 有向图中,若从顶点v到w和从w到v都有路径,则称这两个顶点是强连通的,则称此图为强连通图。
 有向图中的极大强连通子图称为有向图的强连通分量。
9、顶点的度
 顶点的度,以该顶点为一个端点的边的数目
 无向图,全部顶点的度的和等于边数的2倍,因为每条边和两个顶点相连
 有向图,顶点的v的度分为出度+入度,入度是指向顶点v的弧的数目,出度是以顶点v为起点的弧的数目。有向图的全部顶点的入度和出度之和相等,并且等于边数。因为每个有向边都有一个起点和终点
10、边的权和网
 图中每条边都可以标上具有某种含义的数值,称为该边的权值。这种边上带有权值的图为带全图,也称网
11、稠密图和稀疏图
 两者是相对而言的,一般当图G满足 |E|<|V|log|V| ,可以视作稀疏图
12、路径,路径长度,回路
 顶点v到顶点p之间的一条路径是指顶点序列,当然关联的边也可以理解为路径的构成要素。路径上边的数目称为路径长度。第一个顶点和最后一个顶点相同的路径称为回路或环。
 若一个图有n个顶点,并且有大于n-1条边,则此图一定有环。
13、简单路径,简单回路
 在路径序列中,顶点不重复出现的路径称为简单路径。除第一个顶点和最后一个顶点外,其他顶点不重复出现的回路称为简单回路

图的存储方式

邻接矩阵

A[i][j]=1,代表顶点 i 与顶点 j 之间有路径,<i , j>是E中的一条边,反之则为0。无向图的邻接矩阵一般为对称矩阵。

题目:图的邻接矩阵表示

题目描述

输入一个无向图的信息,输出图的邻接矩阵和与顶点t直接相连的顶点的个数及邻接点。

输入描述

第一行共有两个整数,n和k,n代表共有n个顶点,k代表共有k条边
接下来的2~k+1行每一行共有三个整数x,y,z,分别代表x和y相连,并且权重为z(不为0)
第k+2行输入一个t。

输出描述

前n行输出邻接矩阵的信息。(邻接表中数字代表权重,若不连接则权重为0)
第n+1行输出与顶点t直接相连的顶点的个数和所有的邻接点。

样例

输入

5 3
1 3 9
2 4 5
3 5 3
3

输出

0 0 9 0 0
0 0 0 5 0
9 0 0 0 3
0 5 0 0 0
0 0 3 0 0
2 1 5
#include<iostream>
#include<cstdio>
using namespace std;
const int MAXN=55;
int a[MAXN][MAXN],k[MAXN*MAXN];
int main(){int n,m,t;scanf("%d %de",&n,&m);for(int i=1;i<=m;i++){int x,y,num;scanf("%d %d %d",&x,&y,&num);a[x][y]=num;a[y][x]=num;}scanf("%d",&t);int ans=0;for(int i=1;i<=n;i++){if(a[i][t]!=0){ans++;}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){printf("%d ",a[i][j]);}printf("\n");}printf("%d ",ans);for(int i=1;i<=n;i++){if(a[i][t]!=0){printf("%d ",i);}}return 0;
}

邻接表

当一个图为稀疏图时,使用邻接矩阵法显然要浪费大量的存储空间,而图的邻接表法结合了顺序存储和链式存储方法,大大减少了这种不必要的浪费。所谓邻接表,是指对图G中的每个顶点v建立一个单链表,第i个单链表中的结点表示依附于顶点v的边(对于有向图则是以顶点v为尾的弧),这个单链表就称为顶点v的边表(对于有向图则称为出边表)。 

题目:图的前向星表示1

题目描述

给定一个有向图的信息,按照前插法的方式输出每个节点的邻接点。

输入描述

第一行,两个整数n,m(1 <= n,m <= 10^5),n表示图的节点的个数,m表示图中的边数。

接下来m行,每行两个整数x,y,表示x能够直接到达y。

输出描述

输出共占n行,第i行开头为i节点和一个冒号“:”,之后为i的所有邻接点编号,每个编号中间用空格隔开,如果i没有邻接点,则输出zero。

样例

输入

5 4
1 2
1 3
1 4
2 5

输出

1: 4 3 2
2: 5
3: zero
4: zero
5: zero
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int MAXNM=100005;
int first[MAXNM],tot=-1;
struct node{int ver;int nxt;
}a[MAXNM];
void add(int u,int v){a[++tot].ver=v;a[tot].nxt=first[u];first[u]=tot;
}
int main(){memset(first,-1,sizeof(first));int n,m;scanf("%d %d",&n,&m);for(int i=1;i<=m;i++){int x,y;scanf("%d %d",&x,&y);add(x,y);}for(int i=1;i<=n;i++){printf("%d: ",i);if(first[i]==EOF){printf("zero\n");continue;}for(int j=first[i];j!=-1;j=a[j].nxt){printf("%d ",a[j].ver);}printf("\n");}return 0;
}

遍历

深度优先搜索

题目描述

深度优先搜索遍历类似于树的先根遍历,是树的先根遍历的推广。其过程为:假设初始状态是图中所有顶点未曾被访问,则深度优先搜索可以从图中的某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发深度优先遍历图,直至图中所有和v有路径相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作为起始点,重复上述过程,直至图中所有顶点都被访问到为止。

在本题中,读入一个无向图的邻接矩阵(即数组表示),建立无向图并按照以上描述中的算法遍历所有顶点,输出遍历顶点的顺序。

输入描述

输入的第一行包含一个正整数n,表示图中共有n个顶点。其中n不超过50。

以后的n行中每行有n个用空格隔开的整数0或1,对于第i行的第j个0或1,1表示第i个顶点和第j个顶点有直接连接,0表示没有直接连接。当i和j相等的时候,保证对应的整数为0。

输入保证邻接矩阵为对称矩阵,即输入的图一定是无向图。

输出描述

只有一行,包含n个整数,表示按照题目描述中的深度优先遍历算法遍历整个图的访问顶点顺序。每个整数后输出一个空格,并请注意行尾输出换行。

样例

输入

4
0 1 0 1
1 0 0 0
0 0 0 1
1 0 1 0

输出

0 1 3 2

我们只需要遍历图的一个下标,如果有节点,则继续搜索。

#include<iostream>
#include<cstdio>
using namespace std;
const int N=50;
int n,g[N][N];
bool vis[N];
void dfs(int step){vis[step]=true;printf("%d ",step);for(int i=0;i<n;i++){if(g[step][i]!=0&&!vis[i]) dfs(i); }
}
int main(){scanf("%d",&n);for(int i=0;i<n;i++){for(int j=0;j<n;j++){scanf("%d",&g[i][j]);}}for(int i=0;i<n;i++){if(!vis[i]) dfs(i);}return 0;
}

广度优先搜索

题目描述

广度优先搜索遍历类似于树的按层次遍历的过程。其过程为:假设从图中的某顶点0出发,在访问了0之后依次从小到大访问各个未曾被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,读入一个无向图的邻接矩阵(即数组表示),建立无向图并按照以上描述中的算,输出遍历顶点的顺序。

注意:如果遍历一轮后没法再到达其他点,则程序结束。

输入描述

输入的第一行包含一个正整数n,表示图中共有n个顶点。其中n不超过50。

以后的n行中每行有n个用空格隔开的整数0或1,对于第i行的第j个0或1,1表示第i个顶点和第j个顶点有直接连接,0表示没有直接连接。当i和j相等的时候,保证对应的整数为0。

输入保证邻接矩阵为对称矩阵,即输入的图一定是无向图。

输出描述

只有一行,包含n个整数,表示按照题目描述中的广度优先遍历算法遍历整个图的访问顶点顺序。每个整数后输出一个空格

样例

输入

4
0 0 0 1
0 0 1 1
0 1 0 1
1 1 1 0

输出

0 3 1 2

 和深搜的思路一样,只需加上队列就行了

#include<iostream>
#include<cstdio>
using namespace std;
const int N=55;
int a[N][N];
bool v[N]={0};
int q[N],front,rear;
int n;
void bfs(int x){q[rear++]=x;v[x]=1;while(rear!=front){int t=q[front++];printf("%d ",t);for(int i=0;i<n;i++){if(a[t][i]!=0&&!v[i]){q[rear++]=i;v[i]=1;}}}
}
int main(){scanf("%d",&n);for(int i=0;i<n;i++){for(int j=0;j<n;j++){scanf("%d",&a[i][j]);}}bfs(0);return 0;
}

最短路径算法 

Dijkstra算法

下面是查找1-n最短路径的代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=2005;
const int M=10005;
int n,m;
bool fla[M],vis[M];
int A[N][N],dist[M];
void dijkstra(int root){memset(dist,0x3f3f3f3f,sizeof(dist));memset(vis,0,sizeof(vis));dist[root]=0;for(int i=1;i<n;i++){int x=-1;for(int j=1;j<=n;j++)if(!vis[j]&&(x==-1||dist[j]<dist[x])) x=j;vis[x]=true;for(int j=1;j<=n;j++)dist[j]=min(dist[j],dist[x]+A[x][j]);}
}
signed main(){int x,y,z,root;memset(A,0x3f,sizeof(A));scanf("%d %d",&n,&m);for(int i=1;i<=m;i++){scanf("%d %d %d",&x,&y,&z);A[x][y]=min(A[x][y],z);A[y][x]=min(A[y][x],z);}dijkstra(1);printf("%d",dist[n]);return 0;
}

题目:聚会

题目描述

小S想要从某地出发去同学的家中参加一个party,但要有去有回。他想让所用的时间尽量的短。但他又想知道从不同的点出发,来回的最短时间中最长的时间是多少,这个任务就交给了你。

输入描述

第一行三个正整数n,m,k(n是节点个数,m是有向边的条数,k是参加聚会的地点编号)( 1 ≤ n ≤ 1000 ,1 ≤ m ≤ 100,000)

第二行..m+1行每行3个整数x,y,w 代表从x到y需要花w的时间(1 ≤ w≤ 100)

输入数据保证聚会到其他点都是连通的

输出描述

输出从不同的节点出发的最短时间中最长的时间。

样例

输入

4 8 2
1 2 4
1 3 2
1 4 7
2 1 1
2 3 5
3 1 2
3 4 4
4 2 3

输出

10

 

提示:有重边

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1005;
const int INF=0x3f3f3f3f;
int n,m,root,sum=0;
int dist1[N],dist2[N];
int tu1[N][N],tu2[N][N];
bool vis[N];
void dijkstra1(){memset(dist1,INF,sizeof(dist1));memset(vis,0,sizeof(vis));dist1[root]=0;for(int i=1;i<n;i++){int num=-1;for(int j=1;j<=n;j++)if(vis[j]==0&&(num==-1||dist1[j]<dist1[num])) num=j;vis[num]=true;for(int j=1;j<=n;j++){dist1[j]=min(dist1[j],dist1[num]+tu1[num][j]);}}
}
void dijkstra2(){memset(dist2,INF,sizeof(dist1));memset(vis,0,sizeof(vis));dist2[root]=0;for(int i=1;i<n;i++){int num=-1;for(int j=1;j<=n;j++)if(vis[j]==0&&(num==-1||dist2[j]<dist2[num])) num=j;vis[num]=true;for(int j=1;j<=n;j++){dist2[j]=min(dist2[j],dist2[num]+tu2[num][j]);}}
}
signed main(){memset(tu1,INF,sizeof(tu1));memset(tu2,INF,sizeof(tu2));for(int i=0;i<N;i++){tu1[i][i]=tu2[i][i]=0;}scanf("%d %d %d",&n,&m,&root);for(int i=1;i<=m;i++){int x,y,z;scanf("%d %d %d",&x,&y,&z);tu1[x][y]=tu2[y][x]=min(tu1[x][y],z);}dijkstra1();dijkstra2();for(int i=1;i<=n;i++){sum=max(sum,dist1[i]+dist2[i]);}printf("%d\n",sum);return 0;
}

Bellman-Ford算法

下面是查找1-n最短路径的代码。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=2e5+10;
const int INF=0x3f3f3f3f;
int n,m;
int dist[N],pre[N];
struct node{int x;int y;int z;
}tu[N];
void bellman_ford(int root){memset(dist,INF,sizeof(dist));memset(pre,0,sizeof(pre));dist[root]=0;for(int i=1;i<n;i++){bool flag=false;for(int j=1;j<=2*m;j++){node tmp=tu[j];if(dist[tmp.y]>dist[tmp.x]+tmp.z){dist[tmp.y]=dist[tmp.x]+tmp.z;flag=true;}if(dist[tmp.x]>dist[tmp.y]+tmp.z){dist[tmp.x]=dist[tmp.y]+tmp.z;flag=true;}}if(!flag) break;}
}
signed main(){while(1){scanf("%d %d",&n,&m);if(n==0&&m==0) return 0;for(int i=1;i<=m;i++){scanf("%d %d %d",&tu[i].x,&tu[i].y,&tu[i].z); }bellman_ford(1);printf("%d\n",dist[n]);}return 0;
}

SPFA算法 

下面是查找1-n最短路径的代码。

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5;
const int INF=0x3f3f3f3f;
queue<int>q;
int tot=1,head[N];
struct node{int ver;int nxt;int edge;
}tu[N];
int n,m;
int dist[N];
bool vis[N];
void add(int x,int y,int z){tu[++tot].ver=y;tu[tot].edge=z;tu[tot].nxt=head[x];head[x]=tot;
}
void spfa(int root){memset(dist,INF,sizeof(dist));memset(vis,0,sizeof(vis));dist[root]=0;vis[root]=1;q.push(root);while(q.size()){int x=q.front();q.pop();vis[x]=0;for(int i=head[x];~i;i=tu[i].nxt){int y=tu[i].ver,z=tu[i].edge;if(dist[y]>dist[x]+z){dist[y]=dist[x]+z;if(!vis[y]){q.push(y);vis[y]=true;}}}}
}
signed main(){memset(head,-1,sizeof(head));scanf("%d %d",&n,&m);for(int i=1;i<=m;i++){int x,y,z;scanf("%d %d %d",&x,&y,&z);add(x,y,z);}spfa(1);if(dist[n]==INF) printf("impossible");else printf("%d",dist[n]);return 0;
}

题目:赚钱

题目描述

kdy现在决定环游中国,顺便赚点钱。kdy在一个城市最多只能赚D元,然后他可以选择退休也就是停止赚钱,或者去其它城市工作。当然,他可以在别处工作一阵子后又回到原来的城市再赚D元。这样的往返次数是没有任何限制的。城市间有P条单向路径连接,共有C座城市,编号从1到C。路径i从城市Ai到城市Bi,在路径行走上不用任何花费。kdy还可以乘飞机从某个城市飞到另一个城市。共有F条单向的航线,第i条航线是从城市Ji飞到另一座城市Ki,费用是Ti元。假如kdy身上没有现钱,他可以用以后赚的钱来付机票钱。kdy可以从任何一个城市出发开始赚钱,并且选择在任何时候、任何城市退休。现在kdy想要知道,如果在工作时间上不做限制,那么kdy共可以赚多少钱呢?如果赚的钱也不会出现限制,那么就输出orz。  

输入描述

第一行,4个用空格分开的正整数,D,P,C,F。第二行到P+1行,第i+1行包含2个用空格分开的整数,表示一条从城市Ai到城市Bi的单向路径。接下来的F行,每行3个用空格分开的正整数,表示一条从城市Ji到城市Ki的单向航线,费用为Ti。  

输出描述

如果kdy赚的钱没有限制,输出orz。如果有限制,那么就输出在给定的规则下kdy最多可以赚到的钱数。  

样例

输入

100 3 5 2
1 5
2 3
1 4
5 2 150
2 5 120

输出

250

用队列模拟 

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5;
const int INF=0x3f3f3f3f;
queue<int>q;
int tot=1,head[N];
struct node{int ver;int nxt;int edge;
}tu[N];
int mon,p,n,f,ans;
int cnt[N];
int dist[N];
bool vis[N];
void add(int x,int y,int z){tu[++tot].ver=y;tu[tot].edge=z;tu[tot].nxt=head[x];head[x]=tot;
}
bool spfa(){memset(cnt,0,sizeof(cnt));for(int i=1;i<=n;i++){dist[i]=mon;vis[i]=1;q.push(i);}while(q.size()){int x=q.front();q.pop();vis[x]=0;for(int i=head[x];~i;i=tu[i].nxt){int y=tu[i].ver,z=tu[i].edge;if(dist[y]<dist[x]+mon-z){dist[y]=dist[x]+mon-z;cnt[y]=cnt[x]+1;if(cnt[y]>=n) return true;if(!vis[y]){q.push(y);vis[y]=true;}}}}return false;
}
signed main(){memset(head,-1,sizeof(head));cin>>mon>>p>>n>>f;for(int i=1;i<=p;i++){int x,y;cin>>x>>y;add(x,y,0);}for(int i=1;i<=f;i++){int x,y,z;cin>>x>>y>>z;add(x,y,z);}if(spfa()) printf("orz\n");else{for(int i=1;i<=n;i++) ans=max(ans,dist[i]);printf("%d\n",ans);}return 0;
}

Floyd算法 

下面是查找1-n最短路径的代码。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=205;
const int INF=0x3f3f3f3f;
int n,m;
int g[N][N];
void init(int num){for(int i=1;i<=num;i++){for(int j=1;j<=num;j++){if(i==j) g[i][j]=0;else g[i][j]=INF;}}
}
void floyd(){for(int k=1;k<=n;k++){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){g[i][j]=min(g[i][j],g[i][k]+g[k][j]);}}}
}
signed main(){cin>>n>>m;init(n);while(m--){int x,y,z;cin>>x>>y>>z;g[x][y]=min(g[x][y],z);}floyd();if(g[1][n]>INF/2) printf("impossible\n");else printf("%d\n",g[1][n]);return 0;
}

最小生成树

Kruskal算法

下面是求最小生成树的代码。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=5e3+10;
const int M=2e5+10;
const int INF=0x3f3f3f3f;
int n,m;
int father[N];
struct node{int x;int y;int z;
}edge[N];
void init(int num){for(int i=1;i<=num;i++){father[i]=i;}
}
bool cmp(node xx,node yy){return xx.z<yy.z;
}
int fd(int num){if(father[num]==num) return num;int root=fd(father[num]);return father[num]=root;
}
void link(int x,int y){int a=fd(x),b=fd(y);if(a==b) return;father[a]=b;return;
}
int kruskal(){int ans=0,cnt=0;sort(edge+1,edge+1+m,cmp);for(int i=1;i<=m;i++){int fx=fd(edge[i].x);int fy=fd(edge[i].y);if(fx==fy) continue;link(fx,fy);cnt++;ans+=edge[i].z; }if(cnt==n-1) return ans;else return INF;
}
signed main(){scanf("%d %d",&n,&m);init(n); for(int i=1;i<=m;i++){scanf("%d %d %d",&edge[i].x,&edge[i].y,&edge[i].z); }int ans=kruskal();if(ans==INF) printf("orz\n");else printf("%d\n",ans);return 0;
}

题目:繁忙的都市(city)

题目描述

城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造。但是市政府的资金有限,市长希望进行改造的道路越少越好,于是他提出下面的要求: 1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来。 2.在满足要求1的情况下,改造的道路尽量少。 3.在满足要求1、2的情况下,改造的那些道路中分值最大值尽量小。 作为市规划局的你,应当作出最佳的决策,选择那些道路应当被修建。

输入描述

第一行有两个整数n,m表示城市有n个交叉路口,m条道路。接下来m行是对每条道路的描述,u, v, c表示交叉路口u和v之间有道路相连,分值为c。(1≤n≤300,1≤c≤10000)。

输出描述

两个整数s, max,表示你选出了几条道路,分值最大的那条道路的分值是多少。

样例

输入

4 5
1 2 3
1 4 5
2 4 7
2 3 6
3 4 8

输出

3 6
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=305;
const int M=2e5+10;
const int INF=0x3f3f3f3f;
int n,m,last;
int father[N];
struct node{int x;int y;int z;
}edge[M];
void init(int num){for(int i=1;i<=num;i++){father[i]=i;}
}
bool cmp(node xx,node yy){return xx.z<yy.z;
}
int fd(int num){if(father[num]==num) return num;int root=fd(father[num]);return father[num]=root;
}
void link(int x,int y){int a=fd(x),b=fd(y);if(a==b) return;father[a]=b;return;
}
int kruskal(){int sum=0,cnt=0;sort(edge+1,edge+1+m,cmp);for(int i=1;i<=m;i++){int fx=fd(edge[i].x);int fy=fd(edge[i].y);if(fx==fy) continue;link(fx,fy);cnt++;sum+=edge[i].z; last=edge[i].z;}if(cnt==n-1) return sum;
}
signed main(){scanf("%d %d",&n,&m);init(n); for(int i=1;i<=m;i++){scanf("%d %d %d",&edge[i].x,&edge[i].y,&edge[i].z); }int ans=kruskal();if(ans==INF) printf("orz\n");else printf("%d %d\n",n-1,last);return 0;
}

题目:扩充完全图

题目描述

给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。注意: 树中的所有边权均为整数,且新加的所有边权也必须为整数。  

输入描述

第一行包含整数t,表示共有t组测试数据。对于每组测试数据,第一行包含整数N。接下来N-1行,每行三个整数X,Y,Z,表示X节点与Y节点之间存在一条边,长度为Z。  
1≤N≤6000
1≤Z≤100  

输出描述

每组数据输出一个整数,表示权值总和最小值。每个结果占一行。

样例

输入

2
3
1 2 2
1 3 3
4
1 2 3
2 3 4
3 4 5 

输出

4
17
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=6e3+10;
const int M=2e5+10;
const int INF=0x3f3f3f3f;
int n,m,last;
int father[M],size[M];
struct node{int x;int y;int z;
}edge[M];
void init(int num){for(int i=1;i<=num;i++){father[i]=i;size[i]=1;}
}
bool cmp(node xx,node yy){return xx.z<yy.z;
}
int fd(int num){if(father[num]==num) return num;int root=fd(father[num]);return father[num]=root;
}
void link(int x,int y){int a=fd(x),b=fd(y);if(a==b) return;father[a]=b;return;
}
int kruskal(){int ans=0,cnt=0;sort(edge+1,edge+1+m,cmp);for(int i=1;i<=m;i++){int fx=fd(edge[i].x);int fy=fd(edge[i].y);if(fx==fy) continue;ans+=(long long)(size[fx]*size[fy]-1)*(edge[i].z+1);link(fy,fx);size[fx]+=size[fy];}return ans;
}
signed main(){int tmp;scanf("%d",&tmp);while(tmp--){scanf("%d",&n);init(n); m=n-1;for(int i=1;i<=m;i++){scanf("%d %d %d",&edge[i].x,&edge[i].y,&edge[i].z); }printf("%d\n",kruskal());}return 0;
}

Prim算法

下面是求最小生成树的代码。

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=3005;
const int INF=0x3f3f3f3f;
int n,m;
int g[N][N];
int dist[N];
bool vis[N];
int prim(int s){int ans=0;memset(dist,INF,sizeof(dist));dist[s]=0;for(int i=1;i<=n;i++){int x=-1;for(int j=1;j<=n;j++){if(!vis[j]&&(x==-1||dist[j]<dist[x])){x=j;}}vis[x]=true;for(int j=1;j<=n;j++){if(!vis[j]){dist[j]=min(dist[j],g[x][j]);}}}for(int i=1;i<=n;i++){if(dist[i]==INF) return INF;else ans+=dist[i];}return ans;
}
signed main(){memset(g,INF,sizeof(g));scanf("%d %d",&n,&m);for(int i=1;i<=m;i++){int x,y,z;scanf("%d %d %d",&x,&y,&z);g[x][y]=g[y][x]=min(g[x][y],z);}int ans=prim(1);if(ans==INF) printf("orz\n");else printf("%d\n",ans);;return 0;
}

题目:暗黑城堡

题目描述

在顺利攻破Lord lsp的防线之后,lqr一行人来到了Lord lsp的城堡下方。Lord lsp黑化之后虽然拥有了强大的超能力,能够用意念力制造建筑物,但是智商水平却没怎么增加。现在lqr已经搞清楚黑暗城堡有N个房间,M条可以制造的双向通道,以及每条通道的长度。lqr深知Lord lsp的想法,为了避免每次都要琢磨两个房间之间的最短路径,Lord lsp一定会把城堡修建成树形的。但是,为了尽量提高自己的移动效率,Lord lsp一定会使得城堡满足下面的条件:设 D[i] 为如果所有的通道都被修建,第 i 号房间与第1号房间的最短路径长度;而 S[i] 为实际修建的树形城堡中第 i 号房间与第1号房间的路径长度;要求对于所有整数 i,有 S[i]=D[i] 成立。为了打败Lord lsp,lqr想知道有多少种不同的城堡修建方案。你需要输出答案对 2^31–1取模之后的结果。  

输入描述

第一行有两个整数 N 和 M。之后 M 行,每行三个整数X,Y 和L,表示可以修建 X 和 Y 之间的一条长度为 L 的通道。  
2≤N≤1000

N−1≤M≤N(N−1)/2
1≤L≤100  

输出描述

一个整数,表示答案对 2^31–1取模之后的结果。  

样例

输入

3 3
1 2 2
1 3 1
2 3 1

输出

2
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
#define P 2147483647
#define int long long
const int N=3005;
const int INF=0x3f3f3f3f;
int n,m;
int sum[N];
int g[N][N];
int dist[N];
bool vis[N];
int prim(int root){int ans=1;memset(dist,INF,sizeof(dist));memset(vis,0,sizeof(vis));dist[root]=0;sum[root]=1;for(int i=1;i<n;i++){int x=0;for(int j=1;j<=n;j++){if(!vis[j]&&(x==0||dist[j]<dist[x])){x=j;}}vis[x]=true;for(int y=1;y<=n;y++){if(!vis[y]){if(dist[y]==dist[x]+g[x][y]) sum[y]++;else if(dist[y]>dist[x]+g[x][y]){dist[y]=dist[x]+g[x][y];sum[y]=1;}}}}for(int i=1;i<=n;i++){ans=(int)(ans*sum[i])%P;}return ans;
}
signed main(){memset(g,INF,sizeof(g));scanf("%d %d",&n,&m);for(int i=1;i<=m;i++){int x,y,z;scanf("%d %d %d",&x,&y,&z);g[x][y]=g[y][x]=min(g[x][y],z);}int ans=prim(1);printf("%d\n",ans);return 0;
}

 结束语

感谢粉丝们的陪伴,我会继续努力!!【奥利给】

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 腾讯一天的生活……

    很多小伙伴好奇腾讯的工作节奏&#xff0c;这确实也是选择一家公司或部门的重要指标。 为了让大家心里有个底&#xff0c;今天就来给大家介绍下牛牛在腾讯一天的生活。 一日之计在于晨 鹅们早上上班一般有 3 种方式&#xff1a;公交、班车、自驾。 公交会很挤&#xff0c;压…...

    2024/4/14 0:46:26
  2. 堆、比较器、基数排序

    堆、比较器、基数排序一、堆和相关操作二、堆排序 *三、堆排序题目拓展四、堆结构五、比较器六、基数排序一、堆和相关操作 堆结构就是用数组实现的完全二叉树结构 size指有多少个节点 i位置&#xff0c;左孩子2i1&#xff0c;右孩子2i2&#xff0c;父节点(i-1)/2向下取整完全…...

    2024/4/13 8:10:50
  3. 虚拟机ping不通的几种原因及解决办法

    目录 一&#xff1a;虚拟机宿主机互ping不通 问题一&#xff1a;防火墙 问题二&#xff1a;网卡未生效 问题三&#xff1a;IP地址&#xff0c;网关&#xff0c;DNS设施 二&#xff1a;虚拟机宿主机ping不通&#xff0c;但能ping外网 问题一&#xff1a;虚拟网卡VMnet8 问…...

    2024/4/13 8:11:35
  4. 2.10 日学习总结

    今天来做一下kmp算法的题目解答。 具体题目如下&#xff0c;是一个标准的模板题。 算法思想有两个点。一个就是next数组的建立。另一个就是next 数组的使用。 那么什么是next 数组呢&#xff1f; 他就是给一个字符串的每一个位置记录下在这个点时前面字符串的最大前后缀长度。那…...

    2024/4/13 8:11:30
  5. Docker入门及kali部署Docker

    摘要&#xff1a; 本篇主要是对Docker作了一个入门了解&#xff0c;简单探索了Docker的原理架构&#xff0c;以及对Docker四种网络模式中的Bridge模式进行了深入学习和阐述&#xff0c;最后是介绍了如何在Kali Linux上部署Docker容器虚拟化平台&#xff0c;不足之处&#xff0…...

    2024/4/13 8:11:30
  6. MongoDB 安装配置以及连接

    文章目录windows安装MongoDB一、下载win版本的安装包二、安装MongoDB三、配置MongoDB四、测试环境是否已配好五、进入客户端页面六、Hello MongoDB七、Navicat连接MongoDBwindows安装MongoDB 一、下载win版本的安装包 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包…...

    2024/4/13 8:11:35
  7. TCP/IP四层网络模型

    提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 TCP/IP网络模型分为四层&#xff0c;从上到下分别为应用层、传输层、网络层、数据链路层 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、…...

    2024/4/13 8:11:40
  8. 【C++】赋值运算符重载

    文章目录赋值运算符重载1. 运算符重载2. 赋值运算符重载赋值运算符重载 默认情况下C不支持自定义对象类型使用运算符 1. 运算符重载 函数名&#xff1a;operator 运算符号 返回值&#xff1a;根据函数具体分析&#xff0c;如果是>/<&#xff0c;可能是bool&#xff…...

    2024/4/13 8:11:35
  9. 多功能智能跟随行李箱控制系统设计 毕 业 设 计 [论 文]

    毕 业 设 计 [论 文] 题 目: 多功能智能跟随行李箱控制系统设计 摘要 科技产品不断融入人们的生活,给人们带来了便利。近年来,与人们出行相关的智能跟随行李箱产品不断涌入市场,其丰富的功能和自动跟随特性,在解放了人们双手的同时,也满足了人们在旅途中的需求,提高了…...

    2024/4/18 2:55:08
  10. Web Components系列(四) —— 认识 Shadow DOM

    前言 在初涉前端之时&#xff0c;我就一直在好奇一个问题&#xff0c;为什么像&#xff1a; <input/><select></select><audio></audio><video></video>…… 等等这些标签&#xff0c;看起来似乎很简单&#xff0c;可为什么可以展…...

    2024/4/13 8:11:20
  11. SSM框架中项目Model层:MyBatis

    目录MyBatisMyBatis简介和配置MyBatis的XML配置MyBatis日志MyBatis基础MyBatis对象分析工具类和模板实现接口和实现类的组合MyBatis代理MyBatis代理实现方式深入理解参数封装MyBatis输出结果MyBatis MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software …...

    2024/4/8 18:25:26
  12. 2022年保安员(初级)报名考试及保安员(初级)考试内容

    题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通&#xff1a;施工升降机安装拆卸工(建筑特殊工种)考试题考前必练&#xff01;安全生产模拟考试一点通每个月更新施工升降机安装拆卸工(建筑特殊工种)考试技巧题目及题库来源&#xff1a;安全生…...

    2024/4/13 8:11:20
  13. 2022年煤矿提升机操作考试试卷及煤矿提升机操作考试技巧

    题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通&#xff1a;煤矿提升机操作考试试卷考前必练&#xff01;安全生产模拟考试一点通每个月更新煤矿提升机操作考试技巧题目及答案&#xff01;多做几遍&#xff0c;其实通过煤矿提升机操作试题及…...

    2024/4/20 10:27:46
  14. xml充当数据库实现电影院购票管理系统

    > 创建一个movies.xml文件保存一些电影 <?xml version"1.0" encoding"UTF-8" standalone"no"?><movies><movie><name>黑客帝国</name><director>沃卓斯基</director><actor>里维斯</a…...

    2024/4/13 8:11:35
  15. 连通块中点的数量(并查集)

    给定一个包含 n 个点&#xff08;编号为 1∼n&#xff09;的无向图&#xff0c;初始时图中没有边。 现在要进行 m 个操作&#xff0c;操作共有三种&#xff1a; C a b&#xff0c;在点 a 和点 b 之间连一条边&#xff0c;a和 b 可能相等&#xff1b;Q1 a b&#xff0c;询问点…...

    2024/4/16 13:34:01
  16. Hadoop集群搭建(分布式)

    文章目录Hadoop集群搭建&#xff08;分布式版本&#xff09;一、准备工作二、搭建Hadoop集群1、上传安装包并解压2、配置环境变量3、修改Hadoop配置文件4、分发Hadoop到node1、node25、格式化namenode&#xff08;第一次启动的时候需要执行&#xff09;6、启动Hadoop集群7、检查…...

    2024/4/13 8:11:30
  17. 力扣-第350题-两个数组的交集 II(python)

    给你两个整数数组 nums1 和 nums2 &#xff0c;请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数&#xff0c;应与元素在两个数组中都出现的次数一致&#xff08;如果出现次数不一致&#xff0c;则考虑取较小值&#xff09;。可以不考虑输出结果的顺序。 示例 1&…...

    2024/4/18 22:39:13
  18. PAT中的英文词汇

    1.sequence 序列 2.be rounded up to 四舍五入 3.chronological 按时间顺序 4.ancestor 祖先 5.descendant 子孙 6.uniquely 独特地 7.at least one but not all the werewolves were lying 意思是大于等于1&#xff0c;小于&#xff08;没有等于&#xff09;全部 8. Qu…...

    2024/4/20 11:23:55
  19. Ubuntu 20 kubernetes集群 安装配置_2022年02月10日最新可用

    kubernetes 安装配置 介绍 这是一个简单的基于ubuntu服务器的kubernetes的安装步骤&#xff0c;使用了kubeadm, 之前使用过kubespray&#xff0c;简单一点&#xff0c;但是感觉使用kubeadm搭建可能对细节更了解一些。 看自己需求吧。ubuntu虚拟机搭建的k8s集群,用来测试学习。…...

    2024/4/13 8:11:25
  20. 记录Win10正确安装CUDA和cuDNN的过程(记录一些坑)

    目录前言CUDA安装直接安装&#xff08;失败&#xff09;根据驱动程序版本对照安装&#xff08;失败&#xff09;重新安装驱动程序&#xff08;失败&#xff09;再次安装CUDA&#xff08;失败&#xff09;安装CUDA 10.2&#xff08;成功&#xff09;cuDNN安装环境配置前言 之前…...

    2024/4/5 2:18:11

最新文章

  1. conda修改当前环境中的python版本

    1. 首先查看当前的python版本 python -V 2. 进入已经激活的conda环境&#xff0c;搜索库中有无想要的python版本(若有想安装的版本可跳过) conda search --full --name python 3. 安装库中存在且符合要求的python版本即可(以python3.8.1为例) conda install python3.8.1...

    2024/4/27 13:43:30
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【C++】C++中的list

    一、介绍 官方给的 list的文档介绍 简单来说就是&#xff1a; list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中…...

    2024/4/22 17:51:44
  4. 技术与安全的交织

    引言 介绍数字化转型对企业出海策略的影响&#xff0c;强调在全球市场中成功的关键因素之一是有效利用网络技术&#xff0c;如SOCKS5代理、代理IP&#xff0c;以及确保网络安全。 第一部分&#xff1a;网络技术的基础 SOCKS5代理 定义和工作原理 SOCKS5代理与网络匿名性的关系…...

    2024/4/25 10:10:11
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/26 20:12:18
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/25 18:39:22
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/25 18:39:22
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/26 21:56:58
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/26 16:00:35
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/26 22:01:59
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57