题解 P2144 【[FJOI2007]轮状病毒】
时间:2019-09-12
本文章向大家介绍题解 P2144 【[FJOI2007]轮状病毒】,主要包括题解 P2144 【[FJOI2007]轮状病毒】使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Solution [FJOI2007]轮状病毒
题目大意:给定一张图,求生成树数量
分析:矩阵树定理裸题,唯一恶心人的地方就是要写高精度
但是作为一个Python爱好者(其实就是懒),我们怎能就此束手就擒,乖乖按照毒瘤出题人的意愿写高精?Python 30行解决战斗
Life is short,I use Python
n = int(input())
maxn = 128
deg = [[0 for i in range(maxn)] for j in range(maxn)]
G = [[0 for i in range(maxn)] for j in range(maxn)]
lap = [[0 for i in range(maxn)] for j in range(maxn)]//列表生成式生成二维数组
def addedge(x,y):
G[x][y] += 1
deg[y][y] += 1
def gauss(idx)://高斯消元求解
res = 1
for i in range(1,idx + 1):
for j in range(i + 1,idx + 1):
while lap[j][i] != 0:
r = lap[i][i] // lap[j][i]
res *= -1
for k in range(i,idx + 1):
lap[i][k] -= r * lap[j][k]
lap[i][k],lap[j][k] = lap[j][k],lap[i][k]
res *= lap[i][i]
return res
for i in range(1,n):
addedge(i,i + 1),addedge(i + 1,i)
addedge(n,1),addedge(1,n)
for i in range(1,n + 1):
addedge(i,n + 1),addedge(n + 1,i)
n += 1
for i in range(1,n + 1):
for j in range(1,n + 1):
lap[i][j] = deg[i][j] - G[i][j]
print(gauss(n - 1))
原文地址:https://www.cnblogs.com/colazcy/p/11515145.html
- 深入理解Android Build系统
- Mac Jenkins搭建 Android/IOS自动打包环境
- javascript 红皮高程(11)
- javascript 红皮高程(8)
- javascript 红皮高程(7)
- javascript 红皮高程(17)-- 左移(<<)
- javascript 红皮高程(17)-- 按位异或(XOR)
- javascript 红皮高程(17)
- javascript 红皮高程(16)
- javascript 红皮高程(15)
- javascript 红皮高程(21)-- 乘性操作符
- javascript 红皮高程(20)-- 逻辑或
- javascript 红皮高程(19)-- 逻辑与
- 技术分享 | 浅谈 RAS
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法