【JSOI2015】非诚勿扰

2024-05-29 03:08
文章标签 非诚 勿扰 jsoi2015

本文主要是介绍【JSOI2015】非诚勿扰,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description

这里写图片描述

Input

这里写图片描述

Output

这里写图片描述

Sample Input

5 5
0.5
5 1
3 2
2 2
2 1
3 1

Sample Output

0.89

Solution

设f[i,j]表示第i个女选择第j个男的概率
设这个男的在这个女的中排名第r,这个女的的如意郎君列表长度为l
那么第一轮选中的概率是 (1p)(r1)p
第二轮是 (1p)(r1)p(1p)l
第三轮是 (1p)(r1)p(1p)2l
第n轮是 (1p)(r1)p(1p)(n1)l
这是一个等比数列!!!!
用公式求和,得

(1p)(r1)p(1(1p)nl)1(1p)l

n
因为 1p<0
所以 (1(1p)nl)0
所以概率为
(1p)(r1)p1(1p)l

f[i,j]就可以O(1)做了
那么答案就是 f[i,j]f[k,l](k>i,l<j)
这样直接枚举可以得30分
可以考虑优化
因为有值的f只有m个,那么只枚举这m个f
先将i从大到小枚举,这是为了保证k>l这个条件
然后枚举i这个女的的所有的男的,也就是j,在树状数组中查询1~j中的和就是答案
然后把f[i, ]加入树状数组
时间复杂度 O(mlog2(n))

Code

#include<cstdio>
#include<algorithm>
#include<cstring>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
#define db double
#define N 501000
using namespace std;
int n,m,l[N],last[N],next[N],to[N],tot,b[N];
db p,t[N];
struct node{int x,y;
}a[N];
void putin(int x,int y)
{next[++tot]=last[x];last[x]=tot;to[tot]=y;
}
db mi(db a,int b)
{if(b==0) return 1;if(b==1) return a;db k=mi(a,b/2);k=k*k;if(b%2==1) k*=a;return k;
}
int lowbit(int a){return a&(-a);}
void insert(int x,db z)
{for(;x<=n;x+=lowbit(x)) t[x]+=z;
}
db get(int x)
{db ans=0;for(;x;x-=lowbit(x)) ans+=t[x];return ans;
}
int main()
{freopen("cross.in","r",stdin);freopen("cross.out","w",stdout);scanf("%d%d",&n,&m);scanf("%lf",&p);fo(i,1,m){int x,y;scanf("%d%d",&x,&y);putin(x,y);l[x]++;}db ans=0;fd(i,n,1){b[0]=0;for(int k=last[i];k;k=next[k]) b[++b[0]]=to[k];if(b[0]==0) continue;sort(b+1,b+b[0]+1);fo(j,1,b[0]){db jy=mi((1-p),j-1)*p/(1-mi(1-p,l[i]));ans+=jy*get(b[j]-1);}fo(j,1,b[0]){db jy=mi((1-p),j-1)*p/(1-mi(1-p,l[i]));insert(b[j],jy);}}printf("%.2lf",ans);
}

这篇关于【JSOI2015】非诚勿扰的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1012475

相关文章

hdu 4557 非诚勿扰 (Java实现)

非诚勿扰 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 1302    Accepted Submission(s): 470 Problem Description 作为2013年699万应届毕业生中的一员,

非诚勿扰2观后感

尽管在看非2前已经有很多朋友说非2如何的广告多,如何的难看,但我和老婆对小刚的电影还是情有独钟的,一年一次的贺岁片还是要看的。 看完之后有几点感受跟大家分享下: 1、广告植入有点多,确实,这都是近几年冯小刚电影的显著特征了,只是这次做的有点太露骨。 2、冯氏语言的笑料依然依旧,这也是冯氏电影最吸引我们的地方。 3、葛优的演出依然是那么老道,孙红雷的演出很出彩,这是继《潜伏》之后他的又一

HDU 4557 非诚勿扰 —— 优先队列+离散化+主席树

作为2013年699万应届毕业生中的一员,由于宏观经济的不景气,小明在毕业当天就华丽丽地失业了!   经历了千难万苦的求职过程,小明特别能理解毕业生的就业之难,所以,他现在准备创建一家专门针对IT人才的求职中介公司——非诚勿扰人力资源开发有限公司。   基于工作的需要,小明根据求职学生的简历描述为每人评定了一个综合能力值,能力值是一个小于等于20的正整数,值越高表示能力越强。当有公司试图招聘I

孙悟空和唐僧做“非诚勿扰”男嘉宾。

孙悟空和唐僧做“非诚勿扰”男嘉宾。 悟空一上台, 所有美女的灯一下子全灭。 理由: 1.只有一根破棍没房没车。 2.保镖职业有危险。 3.三打白骨精对女生有暴力倾向。 4.最关键的一点:有前科坐过牢,被压在五台山下。 唐僧上台,灯全亮。 理由: 1.是公务员。 2.跟皇上是把子兄弟,后台硬。 3.精通梵文等外语。 4.长得帅,天上地下、三界无所不知; 5.也是最关键的一点:有

BZOJ4472[Jsoi2015] salesman 解题报告【树形DP】

Description 某售货员小T要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇之间都只有唯一的可能经过其它城镇的路线。 小T 可以准确地估计出在每个城镇停留的净收益。这些净收益可能是负数,即推销商品的利润抵不上花费。由于交通不便,小T经过每个 城镇都需要停留,在每个城镇的停留次数与在该地的净收益无关,因为很多费用不是计次收取的,而每个城镇对小T的商品需求也是相对固定的,停

【bzoj4484】【JSOI2015】【最小表示】【拓扑排序+bitset】

Description 【故事背景】 还记得去年JYY所研究的强连通分量的问题吗?去年的题目里,JYY研究了对于有向图的“加边”问题。对于图论有着强烈兴趣的JYY,今年又琢磨起了“删边”的问题。 【问题描述】 对于一个N个点(每个点从1到N编号),M条边的有向图,JYY发现,如果从图中删去一些边,那么原图的连通性会发生改变;而也有一些边,删去之后图的连通性并不会发生改变。 JYY想知道,如果想

非诚勿扰,江南Style之---西溪

非诚勿扰,江南Style之---西溪 如果西湖是大家闺秀,那么西溪就是小家碧玉了!          西溪,历史上泛指东起古荡西至留下,南临老和山、北高峰、小和山上脊以北丘陵缓坡地带,北至余杭塘河两岸的水网平原。《西溪志》曰:“西溪,在石人岭至秦亭山一带岗峦以北,源出留下小和山,流经状元峰、灵峰山、将军山、秦亭山,绕古荡经松木场北折,汇入余杭塘河,全长15公里,溪流小而狭窄,而多深曲,

非诚勿扰经典语录

1.一辈子很短,我愿意和你将错就错。--秦奋向梁笑笑求婚   2.你是找感情的,我是找婚姻的!我们俩就走岔道了。--秦奋总结和梁笑笑的关系   3.你是没赶上我好的时候……这两年,是有点虚了。--秦奋被梁笑笑体力不支,狼狈不堪。   4.什么呀,整个一大通铺。活着扎人堆里,死了还是人挤人。--孙红雷饰演的李香山不满墓地太拥挤   5.把我种在花盆里,我天天对你们笑。--李香山让秦奋把自己的

JSOI2015

[BZOJ4475] [Jsoi2015]子集选取 题目大意 定义全集为 {1,2,⋯,n} \{1,2,\cdots,n\},要求构成一个m*m的三角形,使得三角形 (i,j) (i,j)所代表的集合是 (i−1,j)和(i,j−1) (i-1,j)和(i,j-1)的子集(如果 (i−1,j) (i-1,j)或 (i,j−1) (i,j-1)不存在就不考虑)题解 打表可知 ans=2nm

HDU 4557-非诚勿扰-字符串

非诚勿扰 问题描述 :   作为2013年699万应届毕业生中的一员,由于宏观经济的不景气,小明在毕业当天就华丽丽地失业了!   经历了千难万苦的求职过程,小明特别能理解毕业生的就业之难,所以,