听说JSOI有版权问题就不放图了

如果前面的文章里的图需要删掉请通知我

题意:有一些女的要挑一些男的,挑中的几率均为p。一个男的可以无限次被挑中。若女a选中男b,女c选中男d,a<c,b>d则对答案有1的贡献。问期望总贡献。

思路:我们设女x选中男y的几率是p(X,Y),可以预处理出。

设y为女x喜欢的第a人。

则P(x,y)=(1-p)^a-1*p+(1-p)^m+a-1*p+... 无限等差数列求和

=a1/(1-q) a1=(1-p)^(a-1)*p,q=(1-p)^m

先将关系双关键字递增排序 那么用树状数组统计前缀概率和

没了

 var x,y:array[..]of longint;
t:array[..]of extended;
mi:array[..]of extended;
n,m,i,now,j,k:longint;
tmp,ans,p:extended; function lowbit(x:longint):longint;
begin
exit(x and (-x));
end; procedure add(x:longint;y:extended);
begin
while x> do
begin
t[x]:=t[x]+y;
x:=x-lowbit(x);
end;
end; function sum(x:longint):extended;
begin
sum:=;
while x<=n do
begin
sum:=sum+t[x];
x:=x+lowbit(x);
end;
end; procedure swap(var x,y:longint);
var t:longint;
begin
t:=x; x:=y; y:=t;
end; procedure qsort(l,r:longint);
var mid1,mid2,i,j:longint;
begin
i:=l; j:=r; mid1:=x[(l+r)>>]; mid2:=y[(l+r)>>];
repeat
while (mid1>x[i])or(mid1=x[i])and(mid2>y[i]) do inc(i);
while (mid1<x[j])or(mid1=x[j])and(mid2<y[j]) do dec(j);
if i<=j then
begin
swap(x[i],x[j]);
swap(y[i],y[j]);
inc(i); dec(j);
end;
until i>j;
if l<j then qsort(l,j);
if i<r then qsort(i,r);
end; begin
assign(input,'cross.in'); reset(input);
assign(output,'cross.out'); rewrite(output);
readln(n,m);
readln(p);
for i:= to n do read(x[i],y[i]);
qsort(,m);
mi[]:=;
for i:= to n do mi[i]:=mi[i-]*(-p);
now:=;
for i:= to n do
begin
j:=now;
while x[j]=i do inc(j);
for k:=now to j- do
begin
tmp:=mi[k-now]*p/(-mi[j-now]);
//writeln(tmp);
ans:=ans+tmp*sum(y[k]+);
add(y[k],tmp);
end;
now:=j;
end;
writeln(ans::); close(input);
close(output);
end.

最新文章

  1. 用Merge来改写相关更新的例子
  2. A - 迷宫问题
  3. Javascript中DOM的练习
  4. python3,交互模式,无法使用ctrl和方向键,需要和ctrl一块用
  5. leetcode:Rectangle Area
  6. dpkg-query
  7. Hummer框架平台介绍
  8. 解决ionic在ios无法使用focus,ios focus失效的问题
  9. IClone地形编辑器结合T4M插件在Unity3D使用
  10. ubuntu cenots 禁止本地登陆
  11. 封装数据库配置文件App配置文件
  12. Repair MySQL 5.6 GTID replication by injecting empty transactions
  13. 【一天一道LeetCode】#45. Jump Game II
  14. JavaEE 要懂的小事:一、图解Http协议
  15. 02. Pandas 1|数据结构Series、Dataframe
  16. 对json数据key进行替换
  17. javascript 的面向对象特性参考
  18. 为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用
  19. 动态SQL和PL/SQL的EXECUTE选项分析
  20. 深入理解模型,视图和控制器(C#)

热门文章

  1. mysql 存储过程 例子
  2. Ansible学习 安装
  3. 阻止touchslider事件冒泡,防止左右滑动时出发全局滑动事件
  4. 【python学习】新手基础程序练习(二)
  5. Helloworld 在jvm 内存图
  6. cf982d Shark
  7. AD管理中心
  8. Gradle task
  9. Oracle 学习笔记(Windows 环境下安装 + PL/SQL)
  10. Leetcode 650.只有两个键的键盘