随笔分类 - [0-G]----图论
摘要:Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3) C. Peaceful Rooks 题意 给你一个n*n的表格和m个(m<n)棋子,棋子不会在同一行或同一列中出现两个,问你最少要多少步才能将其全部
阅读全文
摘要:Codeforces Round #686 (Div. 3)E. Number of Simple Paths 题意 给你n个点n条边的图,让你求树上的简单路径数。 简单路径:从a->b的方法,需要注意的是1->2>3,3->2->1算一种 思路 显然建成后的图是一棵树多了一条边,这种图又叫环基树。
阅读全文
摘要:题意 给你n个点m条边的无向连通图。并且给你k个分身。每个分身在一个晚上只能经过$(2 * n - k - 1) / k$个点,并且经过的相邻的两点之间必须有连边(这些点可以重复)。想知道存不存在一种方案使得每个点至少被一个分身经过。 思路 根据$2*n$和只能经过相邻的点的提示,我们想到欧拉序,在
阅读全文
摘要:L2-002 链表去重 思路 为了将删除的和未删除的分开我们给他们赋权$node[i].key$,然后按权值排序后即为所求。 然后在存储链式结构的时候可以采取类似于链式前向星的方法, \[ next存储下一个节点位置的地址\\th意为this存储这个位置的地址\\val则为边权 \] 这里改了的是结
阅读全文
摘要:L2-002 链表去重 思路 利用第一次全部赋值$dis$为无穷大然后去更新路径,使得能求出完整的路径。 \(path[j]=i\),存的是$i->j$。 遍历路径的时候需要用从尾$->$头,从$path[d]->path[s]$ 然后在计算路径的多种可能时需要对如果到达某个为止是相同的距离时候相加
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/problem/53370 来源:牛客网 题目描述 Forsaken现在在一个三维空间中,空间中每个点都可以用(x,y,z)(x,y,z)(x,y,z)表示。突然,三维空间的主人出现了,如果Forsaken想要继续在三维空间中呆下去,
阅读全文
摘要:#include<bits/stdc++.h> #define INF 0x3f3f3f3f #define DOF 0x7f7f7f7f #define endl '\n' #define mem(a,b) memset(a,b,sizeof(a)) #define debug(case,x);
阅读全文
摘要:最短路分层图 在最短路中由于各种条件的限制会导致建图的时候会建成分层图 分层图中将限制条件给消除,变成普通的单元最短路问题。 链接:https://ac.nowcoder.com/acm/problem/26257 来源:牛客网 题目描述 小雨所在的城市一共有 mmm 条地铁线,分别标号为 1 号线
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/problem/16697 来源:牛客网 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游。她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速铁路,第I个城市中高速铁路了的
阅读全文
摘要:一:Prim算法 void prim(int src)//prim算法是根据点来连接的寻找n-1个点 { int i,j,k,tmp; ll sum=0; for(i=1;i<=n;++i) dis[i]=mt[1][i],vis[i]=0;//初始化距离,标记清0 vis[1]=1;dis[1]=
阅读全文
摘要:一:dijkstra模板(n2) int dis[maxn],vis[maxn]; void dijkstra(int src) { int i,k,j,tmp; for(i=1;i<=n;++i) dis[i]=mt[src][i],vis[i]=0; dis[src]=0; vis[src]=1
阅读全文

浙公网安备 33010602011771号