题目描述

给定一张含有 n 个点的无向完全图,其中 m 条边是白边,其余是黑边。

现在需要你求出同色的三元环(或者说,三角形)的个数。

题解

同色三元环?不认识?

就是让你求这个图里面有几个三条边是同色的三角形

1 O(nm) 暴力,然鹅T了

2 数学法(逃)

同色三角形其实难算,那么我们可以算异色三角形,用三角形的总个数减去它的一半

如果一个点可以连出白色边x条就可以连出黑色边nx1

所以不同色三角形的个数就是x(n1x)

用一个 vector 存储白色边上点的信息

之后1-n枚举,套上公式:

sum+=(v[i].size()*(n-v[i].size()-1));

n个点可以构成的三角形个数就是 C3n

它的值就是n(n1)(n2)/(123)

再减去sum的一半即可

Ac code:

#include<bits/stdc++.h>
using namespace std;
#define long long ll;
vector<int> v[323333];
int n,m,a,b;
ll sum;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d",&a,&b);
		v[a].push_back(b);
		v[b].push_back(a);
	}
	for(int i=1;i<=n;i++)
	  sum+=(v[i].size()*(n-v[i].size()-1));
	cout<<(ll)(n*(n-1)*(n-2)/6-sum/2);
	return 0;
}

最后要注意的是开 longlong

posted @ 2020-03-26 13:40 Akn_Wind 阅读(65) 评论(0) 推荐(0)
摘要: 搭建需要的东西都在 这个链接 中。 提取码:7sap Part 0 前言 Sublime Text 3 是一种实用性较强的编辑工具。 没错就这么多 诶不是还能说什么 Part 1 下载配置 Sublime Text 3 下载 官网 当然也可以用我的安装包下载。版本号为 3211。 下载完成后 阅读全文
posted @ 2021-02-24 11:12 Akn_Wind 阅读(387) 评论(0) 推荐(0)
摘要: 题解 洛谷题单 【算法1-6】二分查找与二分答案 阅读全文
posted @ 2021-02-24 09:31 Akn_Wind 阅读(276) 评论(0) 推荐(0)
摘要: 题解 洛谷P2034 【选择数字】 阅读全文
posted @ 2020-05-13 19:53 Akn_Wind 阅读(177) 评论(0) 推荐(0)
摘要: 巨水的最小生成树模板题,直接敲一个 prim 算法就行了。 code: 阅读全文
posted @ 2020-04-08 15:25 Akn_Wind 阅读(236) 评论(0) 推荐(0)
摘要: 题解 [Atcoder ABC 161] A,B,C A: 水题,按题意模拟即可。 code: 阅读全文
posted @ 2020-04-05 14:20 Akn_Wind 阅读(386) 评论(0) 推荐(0)
摘要: 这题数据实在是水,但是为了装逼所以也用 SPFA (光速逃 因为是有去有回,所以分两段考虑,一段来一段去,所以做两次SPFA就行了。 具体实现的话用邻接表,a,b 数组存储与这个点相关联的边的个数,aw,bw 数组存储每条边的值。 接下来跑两次 SPFA ,来回的最短路径分别用min1,min2表示 阅读全文
posted @ 2020-03-30 13:37 Akn_Wind 阅读(128) 评论(0) 推荐(0)
摘要: 题目描述 给定一张含有 n 个点的无向完全图,其中 m 条边是白边,其余是黑边。 现在需要你求出同色的三元环(或者说,三角形)的个数。 题解 同色三元环?不认识? 就是让你求这个图里面有几个三条边是同色的三角形 1 O(nm) 暴力,然鹅T了 2 ~~数学法~~(逃) 同色三角形其实难算 阅读全文
posted @ 2020-03-29 13:03 Akn_Wind 阅读(138) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示