http://codeforces.com/gym/100240 J


【分析】

  这题我搞了好久才搞出样例的11.76。。。。【期望没学好

  然后好不容易弄成分数形式。然后我‘+’没打。。【于是爆0。。。

  好桑心。。

  对于x^2这样的期望,是不能直接求x的期望然后平方的!

  为什么呢?因为意义就是不对的,你的概率有可能乘了两次什么的。。。

  我的方法是:

  先把每天分离出来,对于某一天,假设你前i部番的x^2的期望求了出来,然后新的一部翻在这天放的概率是p,

  新的答案就是$x^{2}*(1-p)+p*(x+1)^2$

  即$x^{2}+p*(2*x+1)$

  这样就可以求了。【实测是对的啊!!

  所以你还要维护x的期望【这个很容易的啦。

  然后你会发现,你的分数是a/(n^2)+b/n,这种形式的,a很小不会超过n,我就用两个东西来存这两个分子。

  每超过分母就把它加进整数部分,这样用long long就不会爆了。

  对于n很大,发现d<=10000,dmx~n这一段的期望其实是完全一样的,所以只需要求1~dmx就好了。

  如果d也很大的话,还可以把d离散,中间的点的期望跟前面最近的点的期望是一样的。

  男神的方法好像有点不一样?但是我觉得这个更容易想啊!

 #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define Maxn 10010
#define LL long long int b[][];
LL d[Maxn],c[Maxn];
int mymax(LL x,LL y) {return x>y?x:y;} struct node
{
LL x,y,z;
}A[Maxn]; LL gcd(LL a,LL b)
{
if(b==) return a;
return gcd(b,a%b);
} LL n;
void add(LL x,LL a,LL b)
{
A[x].x+=a;A[x].y+=b;
A[x].z+=A[x].x/(n*n);A[x].z+=A[x].y/n;
A[x].x%=(n*n);A[x].y%=n;
} int main()
{
int m,mx=;
scanf("%lld%d",&n,&m);
for(int i=;i<=m;i++)
{
scanf("%d",&b[i][]);
for(LL j=;j<=b[i][];j++)
{
scanf("%d",&b[i][j]);
mx=mymax(mx,b[i][j]);
}
}
for(int i=;i<=mx;i++) A[i].x=,A[i].y=,A[i].z=;
for(int i=;i<=mx;i++) c[i]=;
for(int i=;i<=m;i++)
{
for(int j=;j<=mx;j++) d[j]=;
for(int j=;j<=mx;j++)
{
for(int k=;k<=b[i][];k++)
{
if(j+b[i][k]->mx) break;
d[j+b[i][k]-]++;
}
}
for(int i=;i<=mx;i++)
{
add(i,d[i]**c[i],d[i]);
c[i]+=d[i];
}
}
if(n<=mx)
{
for(int i=;i<=n;i++)
{
A[].z+=A[i].z;
add(,A[i].x,A[i].y);
}
}
else
{
for(int i=;i<=mx;i++)
{
A[].z+=A[i].z;
add(,A[i].x,A[i].y);
}
A[].z+=(n-mx)*A[mx].z;
add(,A[mx].x*(n-mx),A[mx].y*(n-mx));
}
A[].x+=A[].y*n;
A[].z+=A[].x/(n*n);
A[].x%=(n*n);
LL g=gcd(A[].x,n*n);
A[].x/=g;A[].y=n*n/g;
printf("%lld+%lld/%lld\n",A[].z,A[].x,A[].y);
return ;
}

2017-04-19 10:16:51

【codeforces.com/gym/100240 J】的更多相关文章

  1. 【Codeforces Round #406 (Div. 2)】题解

    The Monster 签到题,算一下b+=a和d+=c,然后卡一下次数就可以了. Not Afraid 只要一组出现一对相反数就是安全的. Berzerk 题意:[1,n],两个人轮流走,谁能走到1 ...

  2. 【Codeforces Global Round 1 C】Meaningless Operations

    [链接] 我是链接,点我呀:) [题意] 给你一个a 让你从1..a-1的范围中选择一个b 使得gcd(a^b,a&b)的值最大 [题解] 显然如果a的二进制中有0的话. 那么我们就让选择的b ...

  3. 【 Codeforces Global Round 1 B】Tape

    [链接] 我是链接,点我呀:) [题意] x轴上有m个连续的点,从1标号到m. 其中有n个点是特殊点. 让你用k段区间将这n个点覆盖. 要求区间的总长度最小. [题解] 一开始假设我们需要n个胶带(即 ...

  4. 【Codeforces Beta Round #45 D】Permutations

    [题目链接]:http://codeforces.com/problemset/problem/48/D [题意] 给你n个数字; 然后让你确定,这n个数字是否能由若干个(1..x)的排列连在一起打乱 ...

  5. 【codeforces 434 div 1 A】Did you mean...

    [链接]h在这里写链接 [题意] 让你维护一段序列. 这段序列,不会出现连续3个以上的辅音. (或者一块全是辅音则也可以) (用空格可以断开连续次数); 要求空格最小. [题解] 模拟着,别让它出现连 ...

  6. 【Codeforces Beta Round #88 C】Cycle

    [Link]:http://codeforces.com/problemset/problem/117/C [Description] 问你一张图里面有没有一个三元环,有的话就输出. [Solutio ...

  7. 【codeforces Manthan, Codefest 17 C】Helga Hufflepuff's Cup

    [链接]h在这里写链接 [题意]     k是最高级别的分数,最高界别的分数最多只能有x个.     1<=k<=m;     和k相邻的点的分数只能小于k;     n个点的树,问你每个 ...

  8. 【Codeforces自我陶醉水题篇~】(差17C code....)

    Codeforces17A 题意: 有一种素数会等于两个相邻的素数相加 如果在2~n的范围内有至少k个这样的素数,就YES,否则就NO; 思路: 采用直接打表,后面判断一下就好了.那个预处理素数表还是 ...

  9. 【Codeforces Global Round 1 E】Magic Stones

    [链接] 我是链接,点我呀:) [题意] 你可以把c[i]改成c[i+1]+c[i-1]-c[i] (2<=i<=n-1) 问你能不能把每一个c[i]都换成对应的t[i]; [题解] d[ ...

随机推荐

  1. Sublime删除项目删不掉?

    最近用sublime进行项目的开发,感觉懵逼的像个小白菜~~ 今天遇到的问题可是一个超级白痴的问题,sublime的空白项目文件夹怎么都删不掉,我的傻逼操作是:选中文件--->Delete--- ...

  2. bzoj 2653 二分答案+可持久化线段树

    首先离散化,然后我们知道如果对于一个询问的区间[l1,r1],[l2,r2],我们二分到一个答案x,将[l1,r2]区间中的元素大于等于x的设为1,其余的设为-1,那么如果[l1,r1]的最大右区间和 ...

  3. Python3中对Dict的内存优化

    众所周知,python3.6这个版本对dict的实现是做了较大优化的,特别是在内存使用率方面,因此我觉得有必要研究一下最新的dict的源码实现. 前后断断续续看了大概一周多一点,主要在研究dict和创 ...

  4. 如何在Linux下用C/C++语言操作数据库sqlite3(很不错!设计编译链接等很多问题!)

    from : http://blog.chinaunix.NET/uid-21556133-id-118208.html 安装Sqlite3: 从www.sqlite.org上下载Sqlite3.2. ...

  5. React 16 源码瞎几把解读 【前戏】 为啥组件外面非得包个标签?

    〇.看前准备 1.自行clone react最新代码 2.自行搭建一个能跑react的test项目 一.看表面:那些插件 如何解析JSX 有如下一段代码: // ---- hearder.jsx 组件 ...

  6. HDU 6187 Destroy Walls (对偶图最小生成树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6187 题意:有一个V个结点M条边的带边权无向平面图,有一个人在一个区域,要拆一些墙使得他可以到达任意一 ...

  7. Linux环境Nginx安装、调试以及PHP安装

    linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5 1.编译安装Nginx 官网:http://wiki.nginx.org/Install 下 ...

  8. 搜索关键词智能提示suggestion

    转载自:stormbjm的专栏 题目详情:百度搜索框中,输入“北京”,搜索框下面会以北京为前缀,展示“北京爱情故事”.“北京公交”.“北京医院”等等搜索词,输入“结构之”,会提示“结构之法”,“结构之 ...

  9. RGW 系统吞吐量(TPS)、用户并发量、性能测试概念和公式

      一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联. 单个reqeust 对CPU消耗越高,外部系统接口.IO影响速度越慢,系统吞吐能力越 ...

  10. AXFR和IXFR区域传输及原理

    由于区域在DNS中发挥着重要的作用,因此希望在网络上的多个DNS服务器中提供区域,以提供解析名称查询时的可用性和容错.否则,如果使用单个服务器而该服务器没有响应,则该区域中的名称查询会失败.对于主要区 ...