题意:

给定n个点m条边的无向图,保证无自环和重边,
问图中有多少个:

数据范围:n<=1e5,m<=min(2e5,n*(n-1)/2)

解法:

用三元环统计算法计算出每条边上三元环的个数,
设第i条边上有cnt[i]个三元环,
那么对答案的贡献为cnt[i]*(cnt[i]-1)/2

code:

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxm=3e5+5;
vector<pair<int,int> >g[maxm];
int u[maxm],v[maxm];
int mark[maxm];
int cnt[maxm];
int d[maxm];
int n,m;
signed main(){ios::sync_with_stdio(0);while(cin>>n>>m){for(int i=1;i<=m;i++){cin>>u[i]>>v[i];d[u[i]]++,d[v[i]]++;}//initfor(int i=1;i<=n;i++)g[i].clear();for(int i=1;i<=n;i++)mark[i]=0;for(int i=1;i<=m;i++)cnt[i]=0;//for(int i=1;i<=m;i++){int x=u[i],y=v[i];if(d[x]>d[y]||(d[x]==d[y]&&x>y)){g[x].push_back({y,i});}else{g[y].push_back({x,i});}}for(int x=1;x<=n;x++){for(auto i:g[x]){mark[i.first]=i.second;}for(auto i:g[x]){mark[i.first]=i.second;for(auto j:g[i.first]){if(mark[j.first]){cnt[i.second]++;cnt[j.second]++;cnt[mark[j.first]]++;}}}for(auto i:g[x]){mark[i.first]=0;}}int ans=0;for(int i=1;i<=m;i++){ans+=cnt[i]*(cnt[i]-1)/2;}cout<<ans<<endl;}return 0;
}

hdu6184 Counting Stars(三元环统计)相关推荐

  1. HDU6184【Counting Stars】(三元环计数)

    题面 传送门 给出一张无向图,求 \(4\) 个点构成两个有公共边的三元环的方案数. 题解 orz余奶奶,orz zzk 首先,如果我们知道经过每条边的三元环个数\(cnt_i\),那么答案就是\(\ ...

  2. 【HDU - 6184】Counting Stars(三元环计数,二分,优化暴力,O(m*sqrt(m)),图论)

    题干: Little A is an astronomy lover, and he has found that the sky was so beautiful! So he is countin ...

  3. HDU - 6184 Counting Stars(思维+三元环)

    题目链接:点击查看 题目大意:给出一个 nnn 个点 mmm 条边组成的无向图,问图中有多少个"三元环对","三元环对"指的是两个三元环共用了一条边 题目分析: ...

  4. HDU 6184 2017广西邀请赛:Counting Stars(三元环)

    题意: n个点m条边的无向图,问有多少个A-structure 其中A-structure满足V=(A,B,C,D) && E=(AB,BC,CD,DA,AC) 可以看出A-struc ...

  5. P1989 无向图三元环计数 思维 + 建图

    传送门 文章目录 题意: 思路: 题意: 统计无向图中三元环的个数. 思路: 很明显有一种暴力的方法,就是枚举每条边,让后再跑两个点的所有边,可以卡到复杂度O(m2)O(m^2)O(m2). 我们可以 ...

  6. 三元环计数四元环计数

    三元环计数 问题 给出一张n个点m条边的无向图,问图中有多少个三元组{ u , v , w } ,满足图中存在 { (u,v) , (v,w) , (w,u) } 三条边. 求解 Step1 定向 将 ...

  7. 找三元环(bzoj 3498: PA2009 Cakes)

    问题:给你一个无向图,问其中有多少个三元环 方法:暴力 复杂度:O(msqrt(m)) 步骤:按点的度数分成两类,分别暴力 ①统计每个点的度数 ②入度<=sqrt(m)的分为第一类,入度> ...

  8. 牛客挑战赛51 E NIT的gcd(欧拉反演,建图优化,三元环计数)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 给你一个正整数 nnn. 请你输出 ∑i=1n∑j=1n∑k=1ngcd⁡(i,j)g ...

  9. P4619 [SDOI2018]旧试题(莫比乌斯反演,建图优化三重枚举,三元环计数,神仙好题,超级清晰易懂)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4619 [SDOI2018]旧试题(莫比乌斯反演,三元环计数) Problem 计算: ∑i=1A ...

  10. Codeforces Gym 100342J Problem J. Triatrip 求三元环的数量 bitset

    Problem J. Triatrip Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100342/at ...

最新文章

  1. 理解I/O Completion Port(完成端口)
  2. python十八:尾调用与递归
  3. 前端切图:手机端自适应布局demo
  4. 为什么你应该尝试全栈
  5. 使用JavaStcript对数组元素去重的方法
  6. python基础期末考试_python基础试题(4)
  7. Java Statement PK PrepareStatement
  8. 笨办法学 Python · 续 练习 42:SQL 删除
  9. leetcode python3 简单题66. Plus One
  10. 数字后端基本概念介绍——Row
  11. 梨花众创 - 微信支付宝收款二维码合并器
  12. 信息化项目软件运维费用都有哪些构成?
  13. Games102_lecture8几何建模与处理基础_离散微分几何,Utopia框架介绍
  14. Hans Berger脑电图之父的人生摘要
  15. 服务器命令里面怎么删除文件,scp删除服务器文件命令
  16. 一文彻底搞懂python面向对象编程(全网最全!!!)
  17. 你觉得什么叫做幸福?
  18. marshmallow库的简单学习
  19. matlab的gccphat转C语言,Python中的GCCPHAT互相关
  20. The Winter Is Coming

热门文章

  1. win7一点计算机就卡死,win7系统电脑经常卡住假死页面关不掉的解决方法
  2. eos 源代码学习笔记二
  3. 村长网推出用韩国论山特产草莓特制的低糖“村长草莓酱”
  4. 制作u盘winpe启动盘_如何制作纯净的系统U盘启动盘
  5. 实在不行来瓶敌敌畏吧!Scrapy框架爬取某农药肥料网站+异步Mysql数据库存储
  6. LQ735kii针式打印机安装教程以及设置教程超级详细
  7. c语言怎样计算天数,C语言怎样计算天数?
  8. linux 5.5安装万兆网卡驱动,CentOS 5.5 更新网卡驱动 bnx2 version: 2.0.2
  9. 解决ThinkPad S3-440无法睡眠问题
  10. 在华为手机上查看连接过的wifi密码(不愁记性不好)