HDOJ 5498 Tree
容斥一下然后生成树计数就行了....
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;const int maxn = 105;int a[maxn][maxn];
LL c[maxn][maxn];
int base, n, m, q;int det(int n)
{int ans = 1, i, j, k;bool flag = true;for (i = 1; i < n; i++)for (j = 1; j < n; j++) a[i][j] = (a[i][j] + base) % base;for (i = 1; i < n; i++){for (j = i + 1; j < n; j++)while (a[j][i]){int t = a[i][i] / a[j][i];for (k = i; k < n; k++) a[i][k] = (a[i][k] + base - (LL)t * (LL)a[j][k] % base) % base;for (k = i; k < n; k++) swap(a[i][k], a[j][k]);flag ^= true;}ans = (LL)ans * (LL)a[i][i] % base;if (!ans) return 0;}if (!flag) ans = (base - ans);return ans;
}void init()
{int N = 100;c[0][0] = 1 % base;for(int i = 1; i <= N; i++) {c[i][0] = 1 % base;for(int j = 1; j <= i; j++)c[i][j] = (c[i-1][j] + c[i-1][j-1]) % base;}
}LL powmod(LL a, LL b)
{LL res = 1, BASE = a;while(b) {if(b % 2) res = res * BASE % base;BASE = BASE * BASE % base;b /= 2;}return res;
}void work()
{scanf("%d%d%d%d", &n, &m, &base, &q);init();memset(a, 0, sizeof a);for(int i = 1; i <= m; i++) {int u, v;scanf("%d%d", &u, &v);a[u][v]--, a[v][u]--;a[u][u]++, a[v][v]++;}int res = det(n);LL cnt = powmod(n-1, q);for(int i = 1; i <= n-1; i++) {if(i & 1) cnt = (cnt - c[n-1][i] * powmod(n-1-i, q) % base) % base;else cnt = (cnt + c[n-1][i] * powmod(n-1-i, q) % base) % base;}LL ans = cnt * res % base;ans = (ans % base + base) % base;printf("%lld\n", ans);
}int main()
{
//freopen("data", "r", stdin);int _;scanf("%d", &_);while(_--) work();return 0;
}
HDOJ 5498 Tree相关推荐
- java 月份间隔_java计算两个日期之间相隔的月份(向下取整)
最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...
- 2020.7月做题记录
转眼就到了2020的下半年了-前方仍是一片茫然. 长期计划 prufer 序列 2020.07.02-2020.07.04 Problem Finished P2624 [HNOI2008]明明的烦恼 ...
- hdoj 1754 I Hate It
类型:一维线段树 来源:2007省赛集训队练习赛(6)_linle专场 题目:老师们很喜欢询问,从某某到某某当中,分数最高的是多少.写一个程序,模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. ...
- HDOJ ACM 题目
转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...
- 107. Binary Tree Level Order Traversal II
题目 Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from l ...
- 102. Binary Tree Level Order Traversal
题目 Binary Tree Level Order Traversal 层次遍历二叉树 链接 Given a binary tree, return the level order traversa ...
- Python---哈夫曼树---Huffman Tree
今天要讲的是天才哈夫曼的哈夫曼编码,这是树形数据结构的一个典型应用. !!!敲黑板!!!哈夫曼树的构建以及编码方式将是我们的学习重点. 老方式,代码+解释,手把手教你Python完成哈夫曼编码的全过程 ...
- [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- Code Forces Bear and Forgotten Tree 3 639B
B. Bear and Forgotten Tree 3 time limit per test2 seconds memory limit per test256 megabytes inputst ...
最新文章
- 字典树(trie树)、后缀树
- freemarker 教程
- 对于ssh和hadoop联系讲解和ssh的基本内容
- linux用vsc写c语言,vscode写c语言(windows)
- XenMotion 与HA的区别
- html怎么绘制飞线,绘制飞线,echarts迁徙图原理
- 物联网大数据的爆发只是一个开始
- java部署容器_Linux容器——Docker(二)之 JavaWeb部署
- SQL:查询表中各类点数量以及各类点满足某条件数量
- C语言文件读写(输入输出重定向)
- 全网首发:分析及解决com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but required
- Python 网页爬虫
- McAfee迈克菲杀毒软件企业版8.8.13-McAfee VirusScan Enterprise8.8 百度云
- vs2017+BabeLua+Cocos2dx3.10配置
- 紫色飞猪:基于K8s的集群稳定架构
- 开源直播推流sdk_携程移动直播探索
- 用java编写台球小游戏项目
- vue动态调节背景图片
- ϵ-greedy Policies
- Go语言(Golang)的Web框架比较:gin VS echo
热门文章
- Oracle EBS WIP关闭失败提示:这些任务存在待定事务处理
- Channel 接口EventLoop 接口 ChannelFuture 接口
- 企业邮件网关首选:TurboGate反垃圾邮件网关
- 安卓微信跳转页面、重定向页面空白,ios系统正常、pc正常、安卓浏览器正常。
- ui设计和平面设计区别,平面设计好还是ui好
- 人物-商界-杨惠妍:杨惠妍
- 计算机专业大专学校排名河南的,2020河南大专学校排名榜单
- 如何用计算机设计衣服,怎样才能成为出色的服装设计师_电脑服装设计图怎么画...
- WPF 录屏软件研发心得及思路分享(已结束开发)
- PMO到底是做什么的