当前位置: 首页 > news >正文

Note - 无向图三元环计数

cnblogs 笔记咕咕了半年了……

根号分治的应用。很巧妙。

首先这题不难想到暴力枚举两条邻边做到 \(\mathrm{O}(m^2)\)。然后考虑优化这个东西。

观察到一般的实现方式是枚举点的一条边,然后考虑这条边另一个节点的出边。于是考虑给边赋一个方向使其变成有向图且出度较小。

考虑这样一种连边方式:从度较小的点连到度较大的点,若相同则从编号小的点连到编号大的点。这样每个点的出度为 \(\mathrm{O}(\sqrt m)\) 的。

证明:

  • 若一个点的出度小于 \(\mathrm{O}(\sqrt m)\),则其出度也小于 \(\mathrm{O}(\sqrt m)\)
  • 否则,出度大于这个节点的数量不大于 \(\mathrm{O}(\sqrt m)\)

然后模拟这个东西就行了。

#include <bits/stdc++.h>
#include <bits/extc++.h>
#define llong long long
#define N 100005
#define M 200005
using namespace std;
using namespace __gnu_pbds;#define bs (1<<20)
char buf[bs], *p1 = buf, *p2 = buf;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,bs,stdin),p1==p2)?EOF:*p1++)
inline int read(){int x = 0, w = 1;char ch = gc();while(ch < '0' || ch > '9'){if(ch == '-') w = -w;ch = gc();}while(ch >= '0' && ch <= '9')x = (x<<3)+(x<<1)+(ch^48), ch = gc();return x*w;
}typedef pair<int, int> Edge;
Edge G[M];
int to[M], nxt[M], head[N], gsiz;
#define mkarc(u,v) (++gsiz, to[gsiz]=v, nxt[gsiz]=head[u], head[u]=gsiz)
gp_hash_table<int, bool> vis[N];
int deg[N];
int n, m, ans;int main(){n = read(), m = read();for(int i = 1; i <= m; ++i){G[i] = {read(), read()};++deg[G[i].first];++deg[G[i].second];}for(int i = 1; i <= m; ++i){int u = G[i].first, v = G[i].second;if(deg[u]>deg[v] || (deg[u]==deg[v]&&u>v)) swap(u, v);mkarc(u, v);vis[u][v] = true;}for(int u = 1, u <= n; ++u){for(int i = head[u]; i; i = nxt[i]){int v = to[i];for(int j = head[v]; j; j = nxt[j])if(vis[u][to[j]]) ++ans;}}printf("%d", ans);return 0;
}
http://www.jsqmd.com/news/187714/

相关文章:

  • C++内存泄漏频发?Rust如何用所有权机制彻底解决(99%开发者忽略的核心原理)
  • 模糊图像也能识别?HunyuanOCR抗噪能力极限挑战
  • std::future终于支持超时了,C++开发者必须掌握的3个新用法
  • 盘点十家全球领先激光企业的技术与市场定位
  • 谷歌镜像网站访问困难?这里提供HunyuanOCR替代下载通道
  • LaTeX公式识别新突破?用腾讯混元OCR处理科研文档
  • GDB + GCC 14协同调试全解析,大幅提升问题排查效率
  • 财务报表自动化录入:HunyuanOCR助力企业降本增效
  • 2025年市场上评价好的钣金加工品牌选哪家,最新钣金加工哪家好优质品牌榜单更新 - 品牌推荐师
  • 【C++与Rust内存安全终极对决】:20年专家揭秘谁才是真正零风险之选
  • 良心公益听歌工具:TuneFree 无广告 / 无会员 / 多平台解析
  • 变频器源码探秘:MD380E/MD500E 基于 TMS320F28034/28035
  • 无需级联处理:HunyuanOCR如何实现单模型端到端OCR任务
  • 关于一些假入库
  • 技术博客引流实战:通过CSDN官网发布HunyuanOCR教程吸粉
  • WPS Office接入HunyuanOCR?国产办公软件智能化升级路径
  • 小程序商城成为私域经营关键触点,智能化工具提升运营效率
  • 部署腾讯HunyuanOCR镜像全步骤:适配本地GPU环境的最佳实践
  • 如何快速部署腾讯HunyuanOCR-APP-WEB镜像并实现端到端OCR识别
  • 支持混合语言场景的OCR神器:HunyuanOCR实战体验报告
  • C++26即将上线:你必须掌握的契约检查核心技术(仅剩少数人知晓)
  • 二叉排序树本质上是一种“边插入边排序”的数据结构,而平衡二叉树在此基础上引入了自平衡机制
  • 当插入或删除节点导致某个节点的平衡因子绝对值超过 1 时,就需要进行**旋转调整**以恢复平衡
  • 移动端适配前景看好:HunyuanOCR轻量化模型移植可行性分析
  • Spring Boot项目如何调用HunyuanOCR服务?Java层通信方案
  • 拍照翻译全流程演示:从图像输入到译文输出只需一步
  • batch_size设为多少合适?不同显存条件下的lora-scripts配置建议
  • 复制并修改lora_default.yaml配置模板的详细步骤
  • AI开发者福音:HunyuanOCR集成至Dify平台的可能性探讨
  • LUT调色包下载热门?色彩调整后别忘了用HunyuanOCR提取文字