HDU 6184 && 2017广西邀请赛:Counting Stars(三元环)
来源:互联网 发布:易考吧软件下载 编辑:程序博客网 时间:2024/04/29 05:24
题意:
n个点m条边的无向图,问有多少个A-structure
其中A-structure满足V=(A,B,C,D) && E=(AB,BC,CD,DA,AC)
可以看出A-structure是由两个有公共边的三元环构成的
msqrt(m)暴力三元环就好了
#include<stdio.h>#include<vector>#include<set>#include<math.h>#include<algorithm>using namespace std;#define LL long longvector<int> G[100005];set<LL> st;int vis[100005], link[100005], out[100005];int main(void){LL ans, sum;int n, i, j, m, k, x, y, z, B;while(scanf("%d%d", &n, &m)!=EOF){B = sqrt(m);st.clear();for(i=1;i<=n;i++){G[i].clear();vis[i] = out[i] = link[i] = 0;}for(i=1;i<=m;i++){scanf("%d%d", &x, &y);G[x].push_back(y), out[x]++;G[y].push_back(x), out[y]++;st.insert((LL)x*n+y);st.insert((LL)y*n+x);}ans = 0;for(i=1;i<=n;i++){x = i;vis[x] = 1;for(j=0;j<G[x].size();j++)link[G[x][j]] = x;for(j=0;j<G[x].size();j++){sum = 0;y = G[x][j];if(vis[y])continue;if(out[y]<=B){for(k=0;k<G[y].size();k++){z = G[y][k];if(link[z]==x)sum++;}}else{for(k=0;k<G[x].size();k++){z = G[x][k];if(st.find((LL)z*n+y)!=st.end())sum++;}}ans += sum*(sum-1)/2;}}printf("%lld\n", ans);}}
阅读全文
3 0
- HDU 6184 && 2017广西邀请赛:Counting Stars(三元环)
- HDU 6184&& 2017广西邀请赛 Counting Stars(三元环计数)
- 【2017广西邀请赛】hdu 6184 Counting Stars 三元环+set
- HDU-6184-Counting Stars(广西邀请赛C题)(数据结构优化)
- HDU 6184 Counting Stars(无向图三元环计数)
- hdu 6184 Counting Stars(求无向图三元环)
- 2017广西邀请赛/hdu
- HDU6184 Counting Stars【三元环】
- hdu 6184 Counting Stars(求无向图的三元环数量)
- HDU 6185 && 2017广西邀请赛:Covering(矩阵快速幂)
- HDU 6183 && 2017广西邀请赛:Color it(线段树)
- HDU 6186 && 2017广西邀请赛:CS Course
- 【2017广西邀请赛】hdu 6186 CS Course
- HDU 6184 Counting Star(找三元环)
- 2017ACM-ICPC全国邀请赛(广西)
- 解题报告:HDU_6184 Counting Stars (三元环计数)
- HDU 6191 && 2017广西邀请赛:Query on A Tree(字典树启发式合并)
- 2017 广西邀请赛&& hdu 6191 Query on A Tree(字典树启发式合并)
- 比较各JAX-RS实现
- sudo: no valid sudoers sources found, quitting
- Map集合基础
- 数据读写分离
- 详解C++中指针(*)、取地址(&)、解引用(*)与引用(&)的区别
- HDU 6184 && 2017广西邀请赛:Counting Stars(三元环)
- Unity 二维数组的转置
- Java数据类型
- 初入firefox的大门(学习webidl的趣谈)
- 新手之hibernate配置(hibernate.cfg.xml)
- UGUI 进度条拉伸解决
- 算法-时间复杂度分析
- ArcGIS低版本切片迁移到高版本(或相同版本迁移)
- 算法分析与时间复杂度