Codeforces 229C Triangles 想法题
来源:互联网 发布:饭卡管理系统c语言 编辑:程序博客网 时间:2024/05/16 07:59
题意:给定n(1<=n<=10^6)个点组成的完全图,现在从原图中拿走m(0<=m<=10^6)条边到另一个平面上,问一共还能组成多少个三角形。
题解:总体想法是C(3,n)- 被破坏的三角形的个数,如果一个三角形被破坏了,那么一定有其中一条边在一个图另两条边在另外的图中,统计每个点在m条边
组成的图中的度数,这样可以算出以当前点为三角形中的一个点时被破坏的三角形的个数,加起来之后除以2(因为一个被破坏的三角形被计算了两次)得
到被破坏的个数。
Sure原创,转载请注明出处
#include <iostream>#include <cstdio>#include <memory.h>using namespace std;const int maxn = 1000002;int degree[maxn];int m,n;void solve(){ memset(degree,0,sizeof(degree)); int u,v; while(m--) { scanf("%d %d",&u,&v); degree[u]++; degree[v]++; } __int64 sum = 0; for(int i=1;i<=n;i++) { sum += 1LL * degree[i] * (n - 1 - degree[i]); } __int64 ans = 1LL * n * (n - 1) * (n - 2) / 6 - sum / 2; printf("%I64d\n",ans); return;}int main(){ while(~scanf("%d %d",&n,&m)) { solve(); } return 0;}
- Codeforces 229C Triangles 想法题
- Codeforces 229C Triangles
- codeforces 229C Triangles
- Codeforces 229C Triangles
- Codeforces 229C 想法
- CodeForces Round #142(229C) - Triangles
- CodeForces 757 C 想法题
- codeforces 777C 想法题
- Codeforces 553C Love Triangles
- Codeforces 553 C. Love Triangles
- Codeforces 776C 想法
- Codeforces 796C 想法
- CF 229C Triangles
- Codeforces Round #142 (Div. 1) C. Triangles
- Codeforces Round #142 (Div. 1) C. Triangles
- codeforces 3C Tic-tac-toe (想法题)
- codeforces #317 C. Lengthening Sticks (很好的想法题)
- codeforces 675C Money Transfers(想法题)
- oracle 11g忘记密码
- Web浏览器安全大测评 结果“靓”瞎你的狗眼
- HDOJ 4000 Fruit Ninja 线段树+数学
- c++虚函数表解析-转载
- POJ 1195 Mobile phones 线段树 二维线段树 单点更新 区间求和
- Codeforces 229C Triangles 想法题
- 手把手教你学linux驱动开发”OK6410系列之03---LED字符设备驱动
- ubuntu下添加/删除启动服务项
- Codeforces Round #139 (Div. 2)
- CentOS6.0安装后没有eth0网卡
- ZOJ月赛 悲剧的BiliBili 高斯消元
- hnust选拔赛2
- C STL Qsort使用
- 30分钟理解STL