UCF Local Contest A Prickly Problem
大意:
给定一个图(边权全部=1),求生成树个数(点数<=100)
思路:
生成树计数裸题。
1.基尔霍夫矩阵套板子
ll K[N][N];
ll f(){for(int i=1;i<=n-1;i++){for(int j=i+1;j<=n-1;j++){while(K[j][i]){//辗转相除ll t=K[i][i]/K[j][i];for(int k=i;k<=n-1;k++)K[i][k]=(K[i][k]-t*K[j][k]+mod)%mod;swap(K[i],K[j]);res=-res;}}res=(res*K[i][i])%mod;}return (res+MOD)%mod;
}
int main(){int n,m;cin>>n>>m;ll ans=1;memset(K,0,sizeof(K));for(int i=1;i<=m;i++){int x,y;cin>>x>>y;K[x][x]++;K[y][y]++;K[x][y]--;K[y][x]--;}cout<<f()<<endl;return 0;
}
这种方法所适用的数据范围比较小。
2.
dfs
求出所有环的边数,相乘取模即可。
因为所有边权都相等,可以随意选一个点进行dfs ,
然后为每个搜到的点分配深度 depth
如果该点vis=0,则朝下继续搜索
否则,此时的搜索深度 dd 与原先为该点分配的深度 depthdepth 的差值即环内边数
从1号开始搜,vis【1】标记为1,分配深度为1。然后1号递归搜2号,二号深度分配为2,然后搜3号,3号会再搜4号,此时4号分配深度为4,4号会再搜一号,并试图为其分配深度5,但是1号已经访问过了,所以就发现这里有一个环,并且环的边数就为5-1=4.
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=1007;
ll t;
ll n,m;
ll a,b;
vector<ll> vt[50010];bool vis[50010];
ll dep[50010];
ll dfs(ll u,ll p,ll d){if(vis[u]++) return max(d-dep[u],(ll)1);dep[u]=d;ll r=1;for(ll v:vt[u]){if(v==p) continue;r=r*dfs(v,u,d+1)%mod;}return r;
}
int main()
{cin>>t;for(int z=1;z<=t;++z){memset(dep,0,sizeof dep);memset(vis,0,sizeof vis);for(int i=1;i<=50000;++i) vt[i].clear();cin>>n>>m;for(int i=1;i<=m;++i){cin>>a>>b;vt[a].push_back(b);vt[b].push_back(a);}cout<<"Case #"<<z<<": ";cout<<dfs(1,-1,1)<<endl;cout<<endl;}return 0;
}
UCF Local Contest A Prickly Problem相关推荐
- UCF Local Programming Contest Round 1A记录
A. Briefcases Full of Money 题目描述 输入描述: 输出描述: 示例1 输入 84 111 2 3 2 3 输出 5 示例2 输入 200 3 20 5 4 1 输出 50 ...
- 【画画】UCF Local Programming Contest 2012(Practice)E. Pete's Pantry
题目链接https://www.jisuanke.com/contest/7332 纯粹的画画题(可光题意就理解了一年) 此生再也不愿意做这种题(流泪) #include<bits/stdc++ ...
- UCF Local Programming Contest 2016 计蒜客解(补)题报告
A - Majestic 10(签到) 题目链接 #include <iostream> using namespace std;int main() {int t,x,y,z;scanf ...
- UCF Local Programming Contest 2012(Practice)E. Pete's Pantry 【模拟】
题意: n个罐子,每个罐子印了几行字,一行以#为界,最长的的一行记为w,每个罐子是高为6,宽为w的矩形+外面一圈#.按输入顺序将罐子叠放起来,规则为:罐子A(宽度w)只能放在宽度比它大的其他罐子上.从 ...
- 2014-2015 ACM-ICPC, Asia Xian Regional Contest G The Problem to Slow Down You 回文树
The Problem to Slow Down You Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjud ...
- 最大流 ---- 最大密度子图 ----- 2014-2015 ACM-ICPC, Asia Xian Regional Contest C The Problem Needs 3D Arrays
题目链接 题目大意: 就是给你一个全排列,现在叫你选出一个子序列sss,使得r(s)l(s)\frac{r(s)}{l(s)}l(s)r(s)最大? r(s)r(s)r(s)是这个子序列的逆序对数 ...
- UVA10258 ZOJ1837 Contest Scoreboard【结构排序】
Contest Scoreboard Time Limit: 2 Seconds Memory Limit: 65536 KB Think the contest score boards are w ...
- UCF 2021 Qualifying - H . Time to Eat + UCF HSPT 2020 - E . Use Giant Fans to Deal With Hurricanes?
题目: H . Time to Eat [ 问题 8933 ] [ 讨论 ] Description The UCF Programming Team has made it to the World ...
- 2016 China Collegiate Programming Contest Final
2016 China Collegiate Programming Contest Final Table of Contents 2016 China Collegiate Programming ...
最新文章
- oracle 无备份恢复数据文件
- POJ 1014: Dividing
- 马斯克的中国救星,特斯拉上海工厂内部首度曝光,数百台机器人维持疫情期间生产...
- android隐藏状态栏
- layui 隐藏工具栏打印按钮_PDF如何打印?为什么点打印没反应?
- 【opencv4】opencv视频教程 C++ 7、手动调整图像亮度与对比度 g(i, j) = αf(i, j) + β(点操作与邻域操作概念)
- Angular 下的 function
- Mango Teapot ② Teapot クラス
- 小技巧:不用任何媒体处理软件进行视频压缩
- 弹性计算平台技术:云服务器“安全”“稳定”“弹性”的基石
- MOSS中删除绑定到List上的Eventhandler
- teamtalk部署启动顺序
- teraterm 执行sql_tera term通过ttl脚本 自动连接服务器
- 有限元二阶拉格朗日插值函数理论
- 通过fileProvider接收外部App传递文件路径的一些坑
- 如何快速定位页面(江湖故人就是个铁憨憨)即时相关性?
- 用python爬取公众号推送图片并保存为PPT
- https小灰锁(带黄色三角)如何变成安全的小绿锁
- Day 16-Vue3 技术_Composition API 的优势
- 美国计算机专业修什么课程,美国大学计算机专业课程有4大特点
热门文章
- 【stata】处理重复值之duplicates drop_all和duplicates drop_all, force区别(整行数据重复和单元格数据重复)
- tensorflow实现贴对联
- 网站推广方法之一——资源合作
- 怎么改造http服务器响应soap,SOAP HTTP 绑定
- 2023 年支付宝五福又来了,分享下集福神器和攻略
- mysql workbench 源码_MySQL Workbench for Mac
- 深入ListView
- PHP SPL他们留下的宝石
- 在百度或者淘宝搜索时,每次输入字符串都会出现搜索建议,例如输入北京,在搜索输入框下面会以北京为前缀,展示北京爱情故事,北京公交,北京医院等搜索词,实现这类技术所采用的数据结构是什么
- 有没有html代码听力的软件吗,听.html