题目描述
给一个2e5点2e5边的无向图,求子图 { V=(A,B,C,D) E=(AB,BC,CD,DA,AC) } 的数量。
HINT
考虑把所有边定向,从度数小的点往度数大的点连,这样每个点的出度都小于sqrt(2e5)。

   #include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=200007;int n,m;int x[maxn],y[maxn],d[maxn];vector<pair<int,int> >g[maxn];int cnt[maxn],vis[maxn],id[maxn];int main(){while(~scanf("%d%d",&n,&m)){for(int i=1;i<=n;i++)d[i]=0;for(int i=1;i<=n;i++)g[i].clear();for(int i=1;i<=m;i++)cnt[i]=vis[i]=0;for(int i=1;i<=m;i++){scanf("%d%d",&x[i],&y[i]);d[x[i]]++;d[y[i]]++;}for(int i=1;i<=m;i++){if(d[x[i]]<d[y[i]]||(d[x[i]]==d[y[i]]&&x[i]<y[i])){g[x[i]].push_back(make_pair(y[i],i));}else {g[y[i]].push_back(make_pair(x[i],i));}}ll ans=0;for(int i=1;i<=m;i++){int u=x[i],v=y[i];for(int j=0;j<g[u].size();j++){vis[g[u][j].first]=i;id[g[u][j].first]=g[u][j].second;}for(int j=0;j<g[v].size();j++){if(vis[g[v][j].first]==i){cnt[i]++;cnt[id[g[v][j].first]]++;cnt[g[v][j].second]++;}}}for(int i=1;i<=m;i++){ans+=1ll*cnt[i]*(cnt[i]-1)/2;}printf("%lld\n",ans);}}

Hdu 6184 三元环计数相关推荐

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

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

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

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

  3. 三元环计数四元环计数

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

  4. 【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 ...

  5. 洛谷 - P1989 无向图三元环计数(思维建图)

    题目链接:点击查看 题目大意:给出一个 nnn 个点 mmm 条边组成的无向图,求三元环的个数 题目分析:对于原图建新图,对于原来的每条边来说 如果度数不同,度数小的点指向度数大的点 如果度数相同,编 ...

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

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

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

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

  8. 基站建设(三元环计数+根号分治 / bitset)

    基站建设 problem solution code problem 给定 nnn 个地点,以及每个地点的可靠度 RiR_iRi​. 有 mmm 条光纤架,每一条连接两个不同的地点,且是双向的. 测试 ...

  9. 【Codeforces - 找不到题号】三元环计数(bitset优化,压位)

    题干: 给你一个二维字符矩阵,如果 ( i , j ) 为+ 表明 两点之间有一条有向边,为-表示没有边,那么你要找出所有的三元环的个数.顶点数N<=1500. 解题报告: 考虑最暴力的方法,开 ...

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

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

最新文章

  1. 2021年大数据常用语言Scala(十四):基础语法学习 数组  重点掌握
  2. Oracle 查询今天、昨日、本周、本月和本季度的所有记录
  3. 基于分类任务的信号(EEG)处理
  4. 科幻片天际SKYLINE,喜欢科幻的朋友不要错过。
  5. python用哪个软件好-4个备受欢迎的Python程序库 你用哪个?
  6. WINCE补丁包下载地址
  7. broker可以禁用吗 time_Win8.1系统Runtime Broker是什么进程?可以禁用吗?
  8. android绘制论文,基于Android平台的三维地形绘制研究与实现
  9. 解决linux下fflush(stdin)无效
  10. 全面支持3.0 新华三“力夯”可信计算发展
  11. 28、Windows API Shell任务栏通知区域(Tray)图标
  12. python文件读取方法
  13. 热启动计算机的快捷键,电脑快捷键的用法
  14. 在线拍照功能JQuery.webCap.plugin 实现
  15. 手机计算机都无法上网,手机能上网但win7电脑不能上网怎么回事?
  16. 在组策略中 计算机策略仅对,在组策略中,计算机策略仅对()生效。 - 问答库...
  17. MapboxGL 柱状图的绘制与展示
  18. 完美解决 iOS 中只旋转自己想要旋转的屏幕
  19. 智联招聘python抓包
  20. 对两种类型的蘑菇图像进行识别与分类——使用SVM分类器(matlab)

热门文章

  1. 应届生程序员如何写好一份简历?
  2. springboot+vue解决跨域问题
  3. 19个重要物理单位背后的人和故事
  4. Linux磁盘配额教程,磁盘配额设置及使用
  5. win10的任务管理器显示所占内存,比实际占用内存小的原因
  6. Opencv读取.dat格式CT数据
  7. MinGW-w64没有bin文件解决方法
  8. Python黑客绝技04:Python基础知识2
  9. 数字信号处理的典型应用
  10. wow3.13大脚插件