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

P4727 [HNOI2009] 图的同构计数

[题目通道]([HNOI2009] 图的同构计数 - 洛谷)

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define MOD 997
#define MAX 75
int n,ans,jc[MOD],inv[MOD],jv[MOD];
int g[MAX][MAX],a[MAX],b[MAX],bin[MAX*MAX];
void calc()
{int ret=jc[n],tot=0,sum=0;for(int i=1;i<=n;++i){ret=ret*jv[a[i]]%MOD;for(int j=1;j<=a[i];++j)ret=ret*inv[i]%MOD,b[++tot]=i;}for(int i=1;i<=tot;++i)sum+=b[i]/2;for(int i=1;i<=tot;++i)for(int j=i+1;j<=tot;++j)sum+=g[b[i]][b[j]];ret=ret*bin[sum]%MOD;ans=(ans+ret)%MOD;
}
void dfs(int x,int sum)
{if(x==1){a[x]=n-sum;calc();return;}for(int i=0;sum+i*x<=n;++i)a[x]=i,dfs(x-1,sum+i*x);
}
int main()
{scanf("%d",&n);jc[0]=jv[0]=inv[0]=inv[1]=bin[0]=1;for(int i=2;i<MOD;++i)inv[i]=inv[MOD%i]*(MOD-MOD/i)%MOD;for(int i=1;i<MOD;++i)jc[i]=jc[i-1]*i%MOD;for(int i=1;i<MOD;++i)jv[i]=jv[i-1]*inv[i]%MOD;for(int i=1;i<MAX*MAX;++i)bin[i]=bin[i-1]*2%MOD;for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)g[i][j]=__gcd(i,j);dfs(n,0);ans=ans*jv[n]%MOD;printf("%d\n",ans);return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • OpenLayers 使用高德地图并绘制一些线,并用Android原生触发
  • ZK Rollup 的Sequencer
  • STM32通过I2C硬件读写MPU6050
  • Microsoft GraphRAG 执行流程
  • 【计算机硬件硬盘与储存设备】
  • 推荐一款开源特效制作软件(适用于Godot)
  • tcpdump入门——每种flag分别表示什么意思
  • ECMAScript6语法:默认参数和rest参数
  • 模型训练坎坷路--逐步提升模型准确率从40%到90%+
  • redis命令学习
  • 构建Docker镜像时,遇到从`deb.debian.org`下载软件包速度很慢
  • [论文笔记]ZeRO: Memory Optimizations Toward Training Trillion Parameter Models
  • 软考:软件设计师 — 13.数据结构
  • 【社区团购系统设计】
  • apache huidi 时间旅行Time Travel)机制
  • [deviceone开发]-do_Webview的基本示例
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • conda常用的命令
  • create-react-app项目添加less配置
  • css布局,左右固定中间自适应实现
  • Java 23种设计模式 之单例模式 7种实现方式
  • Javascript 原型链
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • js继承的实现方法
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • pdf文件如何在线转换为jpg图片
  • Spring Cloud中负载均衡器概览
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 动态魔术使用DBMS_SQL
  • 番外篇1:在Windows环境下安装JDK
  • 复杂数据处理
  • 基于 Babel 的 npm 包最小化设置
  • 基于axios的vue插件,让http请求更简单
  • 聊聊flink的BlobWriter
  • 你真的知道 == 和 equals 的区别吗?
  • 前言-如何学习区块链
  • 学习HTTP相关知识笔记
  • 怎么把视频里的音乐提取出来
  • 数据库巡检项
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • ## 1.3.Git命令
  • $(selector).each()和$.each()的区别
  • (1)虚拟机的安装与使用,linux系统安装
  • (2020)Java后端开发----(面试题和笔试题)
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (十八)SpringBoot之发送QQ邮件
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转载)Linux网络编程入门
  • ***测试-HTTP方法