EOJ Monthly 2017.12
来源:互联网 发布:姜峰手机 淘宝 编辑:程序博客网 时间:2024/06/05 21:13
Time limit per test: 1.0 seconds
Memory limit: 256 megabytes
星光镇的地图是有
这
其中
新政府大楼造好了,政府自然而然地进行了一些证据销毁工作,同时「一不小心」销毁了重金得来的人口普查数据:也就是说
身在异国的你听到此事后大笑不止,利用
Input
输入具有如下形式:
第一行一个整数
接下来
最后一行,用空格隔开的
数据保证答案有解,并且满足
数据规模约定:
- 对于 Easy 档:
1≤n≤100 。 - 对于 Hard 档:
1≤n≤250 000 。
Output
依次序输出
Examples
21 211 9
9 11
61 21 33 43 55 632 45 19 28 16 21
0 1 2 3 4 5
因为easy题数据小,可以解方程做。
高斯消元模板拉kuangbin。
注意精度,卡了一万次。
(但我觉得解法肯定不是这样做的,但我菜啊
#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>#include <math.h>using namespace std;#define LL long long#define eps 1e-8const int maxn=1000;double a[maxn][maxn],x[maxn];//方程的左边的矩阵和等式右边的值,求解之后x存的就是结果int equ,var;//方程数和未知数个数int Gauss(){int i,j,k,col,max_r;for(k=0,col=0;k<equ&&col<var;k++,col++) {max_r=k;for(i=k+1;i<equ;i++)if(fabs(a[i][col])>fabs(a[max_r][col]))max_r=i;if(fabs(a[max_r][col])<eps)return 0;if(k!=max_r) {for(j=col;j<var;j++)swap(a[k][j],a[max_r][j]);swap(x[k],x[max_r]);}x[k]/=a[k][col];for(j=col+1;j<var;j++)a[k][j]/=a[k][col];a[k][col]=1;for(i=0;i<equ;i++)if(i!=k) {x[i]-=x[k]*a[i][k];for(j=col+1;j<var;j++)a[i][j]-=a[k][j]*a[i][col];a[i][col]=0;}}return 1;}int head[maxn],nxt[maxn],sz=0,to[maxn];void add(int u,int v){nxt[sz]=head[u];to[sz]=v;head[u]=sz++;}void dfs(int u,int pre,double now,int x){a[x][u]=now;for(int i=head[u];~i;i=nxt[i]){int v=to[i];if(v==pre) continue;dfs(v,u,now+1,x);}}int main(){for(int i=0;i<=111;i++) head[i]=-1;memset(a,0,sizeof a);memset(x,0,sizeof x);sz=0;int n;scanf("%d",&n);for(int i=1;i<n;i++){int u,v;scanf("%d %d",&u,&v);u--;v--;add(u,v);add(v,u);}for(int i=0;i<n;i++){double p;scanf("%lf",&p);x[i]=p;}for(int i=0;i<n;i++){dfs(i,-1,0,i);}equ=n;var=n;Gauss();for(int i=0;i<n;i++){for(int k=0;k<=1000;k++){if(fabs(x[i]-k)<eps){printf("%d%c",k,i==n-1?'\n':' ');}}}}
- EOJ Monthly 2017.12
- EOJ Monthly 2017.12
- EOJ Monthly 2017.12
- EOJ Monthly 2017.12
- EOJ Monthly 2017.12
- EOJ Monthly 2017.12
- EOJ Monthly 2017.12
- EOJ Monthly 2017.12 A+B+C
- EOJ Monthly 2017.12 (暨 ECNU 12 月内部选拔)
- EOJ Monthly 2017.12 A. 唐纳德先生和假骰子
- EOJ Monthly 2017.12 G1. 唐纳德与子串 (Easy)
- EOJ Monthly 2017.12 C题 3451. 易位构词 题解
- EOJ Monthly 2017.12 B. 在哈尔滨的寒风中(规律)
- EOJ Monthly 2017.12 C.易位构词 (anagram)(模拟)
- EOJ Monthly 2017.12 题解 3449. 唐纳德和他的数学老师
- EOJ Monthly 2017.12 (暨 ECNU 12 月内部选拔) 题解
- EOJ Monthly 2017.12 (暨 ECNU 12 月内部选拔)G1. 唐纳德与子串 (Easy)
- EOJ Monthly 2017.12 (暨 ECNU 12 月内部选拔)B. 在哈尔滨的寒风中 (xjbg)
- 设计模式之中介者模式
- BZOJ3890 [Usaco2015 Jan]Meeting Time K短路 Astar || 拓扑DP
- arpa2fst 原理详解
- 第三方开源库 EventBus
- 动态数组的设计
- EOJ Monthly 2017.12
- iOS SDK开发经验分享
- 特征工程(feature engineering)
- CAP原则、BASE理论
- 游戏服务器框架简述
- 第三方开源库 OKHttp
- 中心极限定理与大数定理理解
- java占位符应用实例
- 第三方开源库 OKHttp