首页 > 统计个数
头像 kilomatutinal
发表于 2026-01-06 01:41:19
喵~这道题其实挺简单的喵?线的数量可以这样计算喵~对于每个点,如果它有 d 个相邻的小点点,那么以它为中点的线就有 d(d-1)/2 了喵!因为从这些邻居中任选两个都可以和它组成一条线。酱紫就得到了线的总数了喵!而三角的数量,我们可以通过检查每个点和它的小邻居来得到喵!那个那个,具体的说!对于每个点 展开全文
头像 BeauWill
发表于 2026-01-06 00:29:21
首先读入边,节点个数n<=200,因此用邻接矩阵存储比较方便,存在u->v的一条双向边,我们就让邻接矩阵g[u][v]=g[v][u]=1。然后按照题目要求进行统计,记cnt1为"三角"的数量,cnt2为"线"的数量,考虑枚举a,b,c,枚举到b的 展开全文
头像 此在Dasein
发表于 2026-01-06 04:42:55
数据结构 为了平衡空间与查询速度,针对 : 邻接矩阵 (Adjacency Matrix):使用二维布尔数组 adj[N][N]。 优势:判断两点间是否有边的时间复杂度为 。这对于三角统计中的频繁查边操作至关重要。 空间消耗: 是极其微小的内存开销。 度数数组 (Degree Array): 展开全文
头像 Jakeap
发表于 2026-01-06 20:19:52
解答:题目已经明确说了图论,那么我们直接用邻接矩阵存图即可,这里不用邻接表后面解释。那么二维数组建好图后,直接声明记录线的个数cnt_l和记录三角和线个数cnt_s。直接暴力枚举三次分别对应三个点。最后判断首尾两个点是否相连即可,如果相连那么就cnt_s++,只要进入了三层循环就cnt_l++。这里 展开全文
头像 あおいSakura
发表于 2021-04-26 21:35:58
统计个数 题目链接:nowcoder 219030 到主站看:https://blog.csdn.net/weixin_43346722/article/details/116173837 题目大意 给你一个图。定义 (a,b,c) 为线是要满足 a,b 之间,b,c 之间有边。(a,b,c) 与 展开全文
头像 YunBaichuan
发表于 2026-01-06 09:53:07
参考:https://blog.nowcoder.net/n/9814e3fcac084972ad72b1c6ffe1357e 思路:对于这种需要明确连接关系的题目来说,适合用邻接矩阵来做。因此,我们先建邻接矩阵,之后用i, j, k枚举三个点,并且判断其在邻接矩阵中的边关系。然后输出真分数就用gc 展开全文
头像 自由的风0450
发表于 2026-01-06 10:59:55
用二维vector存储图的边关系。线的统计:通过三层循环遍历所有有序三元组 (a,b,c),满足 a-b 且 b-c 相连时计数,最后除以 2 去重。三角的统计:遍历无序三元组 (a,b,c)(a<b<c),确保三者两两相连时计数,避免重复。 #include <iostream& 展开全文
头像 ATRI_execution
发表于 2026-01-06 11:13:58
import math import sys data = sys.stdin.read().split() t = int(data[0]) index = 1 for _ in range(t): n = int(data[index]) m = int(data[index+ 展开全文
头像 olone
发表于 2026-01-06 16:03:37
#include<bits/stdc++.h> using namespace std; const int N=205; int T; int n,m; int g[N][N]; inline int gcd(int x,int y) { if(y==0) return 展开全文
头像 周康禧
发表于 2026-01-06 17:25:47
按题意统计一下就行了,注意重复的要去掉除一下,线的个数就是算一个顶点跟另外两个点连就算,然后那个三角就是三个不同点的环的个数,因为n很小所有暴力枚举算一下就好了 void solve(){ int n,m; cin>>n>>m; vector<v 展开全文