题意:一个全排列,alice可以从某一个数出发,从i走到j的条件是: a[j]>a[i],而且从i到j要符合|i-j|%a[i]=0,若alice在该数有必胜的策略,输出B,否则A 思路,拓扑排序+博弈论(这题让我做的太迷了刚刚) ,用邻接表连接该数与其他数的关联,如果一开始入度为0的,即alice ...
分类:
编程语言 时间:
2020-04-06 17:25:52
阅读次数:
73
1. 稀疏矩阵的建立:coo_matrix() from scipy.sparse import coo_matrix # 建立稀疏矩阵 data = [1,2,3,4] row = [3,6,8,2] col = [0,7,4,9] c = coo_matrix((data,(row,col)), ...
分类:
编程语言 时间:
2020-04-06 17:19:54
阅读次数:
195
题意:给你一张有向图,n个点,m条边,要求同一个环里的边不可以全部都为同一种颜色。问最少要涂多少种颜色,并依次给每条边编颜色号。 思路:简单的拓扑想法,一开始我用BFS的拓扑发现一直RE3,然后我就改了个很简单的DFS拓扑的样子,用邻接表vector连接每一个点。 在我用DFS的时候发现了一个问题, ...
分类:
其他好文 时间:
2020-04-06 15:34:52
阅读次数:
80
DFS的复杂度分析: 对于邻接表的存储方式:因为邻接表中每条链表上的从第2个结点到表尾结点一定是表头结点的邻接点,所以遍历表头结点的邻接的过程中只需要遍历这些顶点即可,无需遍历其他的顶点,所以遍历某个顶点的所有邻接点的复杂度为O(ei), ei为每个顶点的邻接点个数,也就是每条链表的边数。所以邻接表 ...
分类:
其他好文 时间:
2020-04-03 18:31:53
阅读次数:
179
用vector实现邻接表 vector <int> G[100]; //表示有100个顶点的图的邻接表 G[u].push_back(v); //从顶点u 向顶点v 画边,即在相当于创建一个二维数组G[100][i] //搜索与顶点u 相邻的顶点v for( int i = 0; i < G[u]. ...
分类:
其他好文 时间:
2020-04-02 22:44:38
阅读次数:
93
Dijktra算法: 思想:找到距离原点最近的一个顶点,然后以该点为中心进行扩展,最终得到源点到其余各点的最短路径。 缺点:无法解决带负边的图论问题。 输入样例: 6 9 1 (6个点 9条边 起点为1)1 2 11 3 122 3 92 4 33 5 54 3 44 5 134 6 155 6 4 ...
分类:
编程语言 时间:
2020-03-30 16:32:11
阅读次数:
112
图的数据结构Python代码实现 使用邻接列表实现. 邻接表理论介绍 : "数据结构(八):邻接表与邻接矩阵" 代码数据结构图示 数据结构文字描述 代码实现 参考 "数据结构(八):邻接表与邻接矩阵" ...
分类:
编程语言 时间:
2020-03-27 21:52:39
阅读次数:
137
1 /****************************************************** 2 * * 3 * 文件夹: ▲05 数组和广义表\03 RowLinkSparseMatrix * 4 * * 5 * 文件名: RowLinkSparseMatrix.h * 6 ...
分类:
其他好文 时间:
2020-03-18 20:23:27
阅读次数:
58
使用邻接表建立图,直接使用了c++已经写好的list 1 #include <iostream> 2 #include <list> 3 4 using namespace std; 5 6 class Vertex 7 { 8 public: 9 char Label; 10 Vertex(cha ...
分类:
其他好文 时间:
2020-03-14 20:27:45
阅读次数:
67
给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。 class Node { public int val; public List<Node> neighbors;} 测试用例格式: 简单起见 ...
分类:
其他好文 时间:
2020-03-10 13:39:47
阅读次数:
53