spoj high
matrixtree定理裸体,学了行列式的n^3解法,(应该是能应用于所有行列式);
代码是参考某篇题解的。。。
#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
int ss,x,y,T,n,m,du[];
ll g[][];
double ans,c[][],d[][];
bool zero(double x){return (x>?x:-x)<1e-;}
double guass(){
int i,j,k;
ss=;ans=;
for(i=;i<n;++i)
for(j=;j<n;++j)d[i][j]=c[i][j];
for(i=;i<n;++i){
if(zero(d[i][i])){
for(j=i+;j<n;++j)
if(!zero(d[j][i]))break;
if(j==n)return ;
for(k=i;k<n;++k)swap(d[i][k],d[j][k]);
ss++;
}
ans*=d[i][i];
for(int k=i+;k<n;++k)d[i][k]/=d[i][i];
for(int j=i+;j<n;++j)
for(int k=i+;k<n;++k)
d[j][k]-=d[j][i]*d[i][k];
}
return abs(ans);
}
int main(){
cin>>T;
while(T--){
memset(g,,sizeof(g));
memset(c,,sizeof(c));
memset(du,,sizeof(du));
cin>>n>>m;
for(int i=;i<=m;++i){
scanf("%d%d",&x,&y);
g[x][y]=g[y][x]=;
du[x]++;du[y]++;
}
for(int i=;i<=n;++i)c[i][i]=du[i];
for(int i=;i<n;++i)
for(int j=;j<n;++j){
c[i][j]=c[i][j]-g[i][j];
}
printf("%0.0lf\n",guass());
}
system("pause");
return ;
}
spoj high的更多相关文章
- BZOJ 2588: Spoj 10628. Count on a tree [树上主席树]
2588: Spoj 10628. Count on a tree Time Limit: 12 Sec Memory Limit: 128 MBSubmit: 5217 Solved: 1233 ...
- SPOJ DQUERY D-query(主席树)
题目 Source http://www.spoj.com/problems/DQUERY/en/ Description Given a sequence of n numbers a1, a2, ...
- SPOJ GSS3 Can you answer these queries III[线段树]
SPOJ - GSS3 Can you answer these queries III Description You are given a sequence A of N (N <= 50 ...
- 【填坑向】spoj COT/bzoj2588 Count on a tree
这题是学主席树的时候就想写的,,, 但是当时没写(懒) 现在来填坑 = =日常调半天lca(考虑以后背板) 主席树还是蛮好写的,但是代码出现重复,不太好,导致调试的时候心里没底(虽然事实证明主席树部分 ...
- SPOJ bsubstr
题目大意:给你一个长度为n的字符串,求出所有不同长度的字符串出现的最大次数. n<=250000 如:abaaa 输出: 4 2 1 1 1 spoj上的时限卡的太严,必须使用O(N)的算法那才 ...
- 【SPOJ 7258】Lexicographical Substring Search
http://www.spoj.com/problems/SUBLEX/ 好难啊. 建出后缀自动机,然后在后缀自动机的每个状态上记录通过这个状态能走到的不同子串的数量.该状态能走到的所有状态的f值的和 ...
- 【SPOJ 1812】Longest Common Substring II
http://www.spoj.com/problems/LCS2/ 这道题想了好久. 做法是对第一个串建后缀自动机,然后用后面的串去匹配它,并在走过的状态上记录走到这个状态时的最长距离.每匹配完一个 ...
- 【SPOJ 8222】Substrings
http://www.spoj.com/problems/NSUBSTR/ clj课件里的例题 用结构体+指针写完模板后发现要访问所有的节点,改成数组会更方便些..于是改成了数组... 这道题重点是求 ...
- SPOJ GSS2 Can you answer these queries II
Time Limit: 1000MS Memory Limit: 1572864KB 64bit IO Format: %lld & %llu Description Being a ...
- SPOJ 3273
传送门: 这是一道treap的模板题,不要问我为什么一直在写模板题 依旧只放代码 Treap 版 //SPOJ 3273 //by Cydiater //2016.8.31 #include < ...
随机推荐
- js的面向对象
JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程. 原型是指当我们想要创建xiaoming这个具体的学生时,我们并没有一个Student类型可用 var ...
- sql server 查询不为空的字段
经常用,经常忘 select * from table where content is not null and datalength(content)<>0
- iOS.C
iOS开发中C语言的应用: 1. NS_ENUM & NS_OPTIONS http://nshipster.com/ns_enum-ns_options/
- php7.0-fpm.sock
.sock 这种方式是套接字的方式连接的
- RPDU
RPDU(Remote Power Distribution Unit) 又称网络电源控制系统.远程电源管理系统.智能PDU.智能电源分配系统,是由傲视恒安科技(北京)有限公司自主研发生产并在全国范围 ...
- HTML的基本知识点
<!DOCTYPE HTML> <html> <body> <video width="320" height="240&quo ...
- abp项目中无法使用HttpContext.Current.Session[""]的问题
web项目Global.asax.cs中加入如下代码 public override void Init() { this.PostAuthenticateRequest += (sender, e) ...
- boost asio 一个聊天的基本框架
示例代码 #include "Util.h" #include "MyAsio.h" #include "TcpConnectionManager.h ...
- https传输过程嗅探
C1->浏览器告知服务器自身的信息 length = 165 a5 16 03 01 00 A0 01 00 00 9C 03 03 5E 1C 37 CD 40 [ ^ 7 @] B6 4A ...
- 关于部署传统的Dynamic Web项目
现在大部分都是采用maven构建的项目,但是偶尔也会遇到一些较老的项目,采用的是传统的动态Web项目. 我最近碰到这样一个项目,项目用的jar包都放在了WEB-INF/lib目录下.之前的人采用的部署 ...