Hdu 6184 三元环计数
题目描述
给一个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 三元环计数相关推荐
- 牛客挑战赛51 E NIT的gcd(欧拉反演,建图优化,三元环计数)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 给你一个正整数 nnn. 请你输出 ∑i=1n∑j=1n∑k=1ngcd(i,j)g ...
- P4619 [SDOI2018]旧试题(莫比乌斯反演,建图优化三重枚举,三元环计数,神仙好题,超级清晰易懂)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4619 [SDOI2018]旧试题(莫比乌斯反演,三元环计数) Problem 计算: ∑i=1A ...
- 三元环计数四元环计数
三元环计数 问题 给出一张n个点m条边的无向图,问图中有多少个三元组{ u , v , w } ,满足图中存在 { (u,v) , (v,w) , (w,u) } 三条边. 求解 Step1 定向 将 ...
- 【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 ...
- 洛谷 - P1989 无向图三元环计数(思维建图)
题目链接:点击查看 题目大意:给出一个 nnn 个点 mmm 条边组成的无向图,求三元环的个数 题目分析:对于原图建新图,对于原来的每条边来说 如果度数不同,度数小的点指向度数大的点 如果度数相同,编 ...
- HDU6184【Counting Stars】(三元环计数)
题面 传送门 给出一张无向图,求 \(4\) 个点构成两个有公共边的三元环的方案数. 题解 orz余奶奶,orz zzk 首先,如果我们知道经过每条边的三元环个数\(cnt_i\),那么答案就是\(\ ...
- P1989 无向图三元环计数 思维 + 建图
传送门 文章目录 题意: 思路: 题意: 统计无向图中三元环的个数. 思路: 很明显有一种暴力的方法,就是枚举每条边,让后再跑两个点的所有边,可以卡到复杂度O(m2)O(m^2)O(m2). 我们可以 ...
- 基站建设(三元环计数+根号分治 / bitset)
基站建设 problem solution code problem 给定 nnn 个地点,以及每个地点的可靠度 RiR_iRi. 有 mmm 条光纤架,每一条连接两个不同的地点,且是双向的. 测试 ...
- 【Codeforces - 找不到题号】三元环计数(bitset优化,压位)
题干: 给你一个二维字符矩阵,如果 ( i , j ) 为+ 表明 两点之间有一条有向边,为-表示没有边,那么你要找出所有的三元环的个数.顶点数N<=1500. 解题报告: 考虑最暴力的方法,开 ...
- HDU - 6184 Counting Stars(思维+三元环)
题目链接:点击查看 题目大意:给出一个 nnn 个点 mmm 条边组成的无向图,问图中有多少个"三元环对","三元环对"指的是两个三元环共用了一条边 题目分析: ...
最新文章
- 2021年大数据常用语言Scala(十四):基础语法学习 数组 重点掌握
- Oracle 查询今天、昨日、本周、本月和本季度的所有记录
- 基于分类任务的信号(EEG)处理
- 科幻片天际SKYLINE,喜欢科幻的朋友不要错过。
- python用哪个软件好-4个备受欢迎的Python程序库 你用哪个?
- WINCE补丁包下载地址
- broker可以禁用吗 time_Win8.1系统Runtime Broker是什么进程?可以禁用吗?
- android绘制论文,基于Android平台的三维地形绘制研究与实现
- 解决linux下fflush(stdin)无效
- 全面支持3.0 新华三“力夯”可信计算发展
- 28、Windows API Shell任务栏通知区域(Tray)图标
- python文件读取方法
- 热启动计算机的快捷键,电脑快捷键的用法
- 在线拍照功能JQuery.webCap.plugin 实现
- 手机计算机都无法上网,手机能上网但win7电脑不能上网怎么回事?
- 在组策略中 计算机策略仅对,在组策略中,计算机策略仅对()生效。 - 问答库...
- MapboxGL 柱状图的绘制与展示
- 完美解决 iOS 中只旋转自己想要旋转的屏幕
- 智联招聘python抓包
- 对两种类型的蘑菇图像进行识别与分类——使用SVM分类器(matlab)