HDU 6184 2017广西邀请赛:Counting Stars(三元环)
题意:
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 long
vector<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);}
}
HDU 6184 2017广西邀请赛:Counting Stars(三元环)相关推荐
- HDU 6183 2017广西邀请赛:Color it(线段树)
题目太长了就直接放链接吧 http://acm.hdu.edu.cn/showproblem.php?pid=6183 题意: 一个空的坐标系,有④种操作:①1 x y c表示在(x, y)点染上颜色 ...
- HDU 6191 2017广西邀请赛:Query on A Tree(字典树启发式合并)
题意: 有一棵n个节点的树,每个节点都有一个值,m次查询,每次两个数x y表示以x为根的子树中哪个节点权值异或y得出的结果最大,求最大结果 离线 和线段树合并一样,在搜索过程中将多个字典树并在一起 每 ...
- HDU 6185 2017广西邀请赛:Covering(矩阵快速幂)
题意: 用1*2的骨牌铺满4*n的矩形总共有多种方法 经典题:可见骨牌铺方格的多种做法 因为宽只有4,考虑先求递推式,假设当前长度为x,有: ①长度为x-1的所有情况后面竖着放2个骨牌,f(x) += ...
- HDU 6188 2017广西邀请赛:Duizi and Shunzi
题意: 有n张牌,每张牌上都有一个不超过n的正整数,你可以选择三张数字连续的牌作为一个顺子,也可以选择两张数字一样的牌作为一个对子,现要让对子和顺子的数量之和尽可能多,求最大数量 先排序 因为对子只消 ...
- HDU 6186 2017广西邀请赛:CS Course
题意: n个数,m次查询,每次给出一个p,求出除了第p个数以外其它所有数的且和,或和,异或和 统计下每个二进制位1的数量,例如z[5] = x表示有x个数第5个二进制位为1 之后每次查询只要check ...
- HDU 6182 2017广西邀请赛:A Math Problem
题意: 给你一个n,问有多少个正整数k满足k^k<=n 暴力枚举,k不会超过15,唯一的坑点就是可能会爆long long #include<stdio.h> #define LL ...
- 2017广西邀请赛重现赛
总题解:http://www.nike0good.com/674.html 1001: 2017ACM/ICPC广西邀请赛-重现赛 1001 A Math Problem #include <i ...
- HDU - 6183 Color it 2017广西邀请赛(线段树)
题目链接 题意: 有四种操作 0操作 清空所有点 1操作 在(x,y)处插入一个带颜色的点 2 操作统计(1~x)(y1~y2)这个范围的不同的颜色数 3 结束 思路: 颜色数只有51个 我们可以建5 ...
- 【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 ...
最新文章
- python excel web_使用python在WEB页面上生成EXCEL文件
- sge resnet
- hash:奶牛看地图(洛谷P3405 [USACO16DEC]Cities and States S)
- a letter and a number(一封信和一个数字)
- asp.net mvc 实现文件管理参考资料
- php redis 删除key 通配符,php中redis批量删除key的方法是什么
- jmeter接口测试----8用户定义的变量
- 重建SYSVOL和NETLOGON共享
- 如何修复macOS上的Microsoft Edge高CPU和内存使用情况?
- LeetCode之旋转数组
- 如何安装suse linux操作系统,SUSE Linux Enterprise Server 11 SP3安装教程详解
- U盘写保护的解决办法,亲自实践,原创!
- js超简单实现图片旋转
- 依赖注入那些事儿【1】 之 IGame游戏公司的故事
- Observability——Wavefront
- 网桥是什么(配图)mark
- 量子计算机需要mK温度工作吗,格林函数法分析冷槽离子量子计算机中的温度效应.pdf...
- linux中的makefile文件
- 论文笔记:Identifying Lung Cancer Risk Factors in the Elderly Using Deep Neural Network - Chen, Wu
- 九度OJ北京航空航天大学2008机试题题解