hdu foreverlasting and fried-chicken

chatgpt/2023/9/26 13:42:34

 题意:

在一个有n个点和m条边的图中找到形状是上图的子图,输出个数

思路:

仔细观察上图,设第二行的那个点为x,最后一行的点为y,那么可以知道,如果x和y都和相同的所有点中取四个点分别和xy相连,并且x和y中任意一个点所连的除了四个共同点之外(如果和另一个点相连也得减去另一个点的个数)的点里随意选两个点,那么就可以构成这个子图

设都与x和y相连的点有cnt个,与x相连的点有num1个,与y相连的点有num2个,那么可以得出子图的个数是:

C(cnt,4)*( C(num1 - 4 ,2 )+C(num2 - 4, 2))

对于找x和y的相同点,我们可以用bitset来找,f[i][j]=1表示i和j之间有一条边,算都与x和y相连的点只用算f[i]&f[j]即可

#include<bits/stdc++.h>
#include<bitset>
#define int long long
using namespace std;
const int N=1005,mod=1000000007;
bitset<N> f[N];
int ff[N],fi[N];
int n,m;
int d[N];
int ksm(int a,int b){int res=1%mod;while(b){if(b&1)res=res*a%mod;a=a*a%mod;b>>=1;}return res;
}
void init(){ff[0]=fi[0]=1;for(int i=1;i<N;i++){ff[i]=(ff[i-1]*i)%mod;fi[i]=(fi[i-1]*ksm(i,mod-2))%mod;}
}
void sove(){cin>>n>>m;for(int i=1;i<=n;i++){d[i]=0;}for(int i=1;i<=n;i++){f[i].reset();}while(m--){int a,b;cin>>a>>b;d[a]++;d[b]++;f[a].set(b);f[b].set(a);}bitset<N> op;int ans=0;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){op=f[i]&f[j];int num1=d[i]-4;int num2=d[j]-4;if(f[i][j]==1){num1--;num2--;}int x=op.count();if(x>=4){if(num1>=2){int op1=(ff[x]*fi[4]%mod*fi[x-4])%mod;int op2=(ff[num1]*fi[2]%mod*fi[num1-2])%mod;ans=(ans+op1*op2%mod)%mod;}if(num2>=2){int op1=(ff[x]*fi[4]%mod*fi[x-4])%mod;int op2=(ff[num2]*fi[2]%mod*fi[num2-2])%mod;ans=(ans+op1*op2%mod)%mod;}}}}cout<<ans<<endl;
}
signed main(){ios::sync_with_stdio(false);cin.tie(),cout.tie();init();int t;cin>>t;while(t--){sove();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5314426.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

独立站有流量没订单是什么原因呢?怎么解决?

和自带流量的电商平台比起来&#xff0c;外贸独立站自身是没有流量的。独立站卖家要订单&#xff0c;就必须主动去引流。 如果你是1个独立站新手卖家&#xff0c;你很可能遇到过这种问题&#xff1a;跑了一段时间广告&#xff0c;广告费花了几百上千美金&#xff0c;流量来了不…

Verilog | Round_Robin_Arbiter

重写了权重轮询仲裁&#xff0c;添加lock输入信号&#xff0c;表示请求方收到了仲裁许可&#xff0c;在对应的lock拉低之前&#xff0c;仲裁器不可以开启新的仲裁。 Generics Generic nameTypeValueDescriptionN4 Ports Port nameDirectionTypeDescriptionclkinputrst_ninp…

ChatGLM-6B VS 昆仑万维天工对比

下面进行昆仑万维天工与ChatGLM-6B内测结果进行对比&#xff0c;其中ChatGLM-6B的结果来自https://github.com/THUDM/ChatGLM-6B&#xff0c;假设ChatGLM-6B的结果是可靠的&#xff0c;那么为了公平&#xff0c;昆仑万维天工&#xff08;https://tiangong.kunlun.com/interlocu…

python_PyQt5开发验证K线视觉想法工具V1.1 _增加标记类型_线段

目录 运行情况&#xff1a; 代码&#xff1a; 承接 【python_PyQt5开发验证K线视觉想法工具V1.0】 博文 https://blog.csdn.net/m0_37967652/article/details/131966298 运行情况&#xff1a; 添加线段数据在K线图中用线段绘制出来 代码&#xff1a; 1 线段标记的数据格式…

企业计算机服务器数据库中了360后缀勒索病毒怎么解决,数据恢复

近日&#xff0c;一家中型企业的服务器数据库遭到了一起严重的网络安全事件&#xff0c;导致企业的运营暂时陷入混乱。据了解&#xff0c;该企业的技术人员在服务器数据库中发现了一种名为“360后缀”勒索病毒&#xff0c;该勒索病毒通过对企业重要文件进行加密&#xff0c;数据…

合宙Air724UG LuatOS-Air script lib API--log

Table of Contents log _log(level, tag, …) (local函数 无法被外部调用) log.trace(tag, …) log.debug(tag, …) log.info(tag, …) log.warn(tag, …) log.error(tag, …) log.fatal(tag, …) log.openTrace(v, uartid, baudrate) log 模块功能&#xff1a;系统日志记录,分…

支付宝调试问题

网页支付返回表单不正确显示 升级前现象&#xff1a; SpringBoot 的返回给前台的<form>表单会自动提交&#xff0c;结果一直提示这个&#xff0c;而不是期望的支付宝登录页 实际得到这个&#xff1a; 期望得到这个&#xff1a; 因为沙箱账号是之前申请的&#xff0c;所…

【EI/SCOPUS会议征稿】第三届检测技术与自动化工程国际学术会议 (TTAE 2023)

第三届检测技术与自动化工程国际学术会议 (TTAE 2023)原定将于2023年9月15-17日在中国西安召开。 检测技术与自动化工程国际学术会议将每年举行一次&#xff0c;旨在将“检测技术”和“自动化工程”等学术领域的学者、专家、研发者、技术人员聚集到一个学术交流的平台&#xf…
推荐文章