当前位置: 首页 > news >正文

bzoj2337

这句话感觉都能成定理了:
xor问题逐位考虑……
这道题就是这样,然后和bzoj3143和相似
但这道题多了自环,于是我们设f[i]表示当前位由i走到n的后为1的数学期望
显然f[n]=0,可得f[i]=sigma((1/d[i])*f[j])(如果边权这位为0)+sigma((1/d[i])*(1-f[j]))(边权这位为1)
然后高斯消元即可

 1 type node=record
 2        po,len,next:longint;
 3      end;
 4 
 5 var w:array[0..20010] of node;
 6     b,d,p:array[0..110] of longint;
 7     a:array[0..110,0..110] of extended;
 8     n,m,x,y,z,len,t,i,j,k:longint;
 9     c,ans:extended;
10 
11 function max(a,b:longint):longint;
12   begin
13     if a>b then exit(a) else exit(b);
14   end;
15 
16 procedure swap(var a,b:extended);
17   var c:extended;
18   begin
19     c:=a;
20     a:=b;
21     b:=c;
22   end;
23 
24 procedure add(x,y,z:longint);
25   begin
26     inc(len);
27     w[len].po:=y;
28     w[len].len:=z;
29     w[len].next:=p[x];
30     p[x]:=len;
31   end;
32 
33 procedure work;
34   var i,j,k,p:longint;
35   begin
36     for i:=1 to n-2 do
37     begin
38       p:=i;
39       for k:=i+1 to n-1 do
40         if abs(a[k,i])>abs(a[p,i]) then p:=k;
41       if p<>i then
42       begin
43         for j:=i to n+1 do
44           swap(a[p,j],a[i,j]);
45       end;
46       for k:=i+1 to n-1 do
47         if abs(a[k,i])>0 then
48         begin
49           for j:=n+1 downto i do
50             a[k,j]:=a[k,j]-a[i,j]*a[k,i]/a[i,i];
51         end;
52     end;
53     a[n,n+1]:=0;
54     for i:=n-1 downto 1 do
55     begin
56       for j:=i+1 to n-1 do
57         a[i,n+1]:=a[i,n+1]-a[j,n+1]*a[i,j];
58       a[i,n+1]:=a[i,n+1]/a[i,i];
59     end;
60   end;
61 
62 begin
63   readln(n,m);
64   for i:=1 to m do
65   begin
66     readln(x,y,z);
67     if z<>0 then t:=max(t,trunc(ln(z)/ln(2)));
68     inc(d[x]);
69     inc(d[y]);
70     if x=y then dec(d[x])
71     else add(y,x,z);
72     add(x,y,z);
73   end;
74   for i:=0 to t do
75   begin
76     fillchar(a,sizeof(a),0);
77     for j:=1 to n do
78       a[j,j]:=1;
79     for k:=1 to n do
80     begin
81       j:=p[k];
82       while j<>0 do
83       begin
84         y:=w[j].po;
85         if w[j].len and (1 shl i)=0 then a[k,y]:=a[k,y]-1/d[k]
86         else begin
87           a[k,y]:=a[k,y]+1/d[k];
88           a[k,n+1]:=a[k,n+1]+1/d[k];
89         end;
90         j:=w[j].next;
91       end;
92     end;
93     work;
94     ans:=ans+1 shl i*a[1,n+1];
95   end;
96   writeln(ans:0:3);
97 end.
View Code

 

转载于:https://www.cnblogs.com/phile/p/4473033.html

相关文章:

  • android sqlite 数据类型
  • 来一篇新鲜的招聘笔试题(2014秋招版)
  • 接口和实现分离的好处
  • SQL数据库如何存储?
  • UIGestureRecognizerState
  • HashMap工作原理(转载)
  • hive 更多资料urls
  • hive0.13.1配置hwi
  • CSS3 Filter的十种特效
  • Memcache学习总结
  • Laravel 上手教程之实现用户注册和登录
  • 网页文字图片异步加载方式
  • python基础教程(第2版)第五章读后总结;
  • Oracle审计与数据库防火墙(AVDF)官方文档
  • 实用的eclipse adt 快捷键
  • [LeetCode] Wiggle Sort
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Android系统模拟器绘制实现概述
  • ECMAScript6(0):ES6简明参考手册
  • idea + plantuml 画流程图
  • MySQL主从复制读写分离及奇怪的问题
  • Python爬虫--- 1.3 BS4库的解析器
  • 半理解系列--Promise的进化史
  • 汉诺塔算法
  • 机器学习中为什么要做归一化normalization
  • 力扣(LeetCode)21
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 少走弯路,给Java 1~5 年程序员的建议
  • 终端用户监控:真实用户监控还是模拟监控?
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • NLPIR智能语义技术让大数据挖掘更简单
  • Prometheus VS InfluxDB
  • $(selector).each()和$.each()的区别
  • (C#)一个最简单的链表类
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)iOS字体
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .bat批处理(一):@echo off
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net 后台导出excel ,word
  • /boot 内存空间不够
  • @ModelAttribute注解使用
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [c]统计数字
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [C++]C++入门--引用