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. ArrayList既然继承自AbstractList抽象类,而AbstractList已经实现了List接口,那么ArrayList类为何还要再实现List接口呢?

    https://www.cnblogs.com/bluejavababy/p/4320545.html

  2. 【洛谷 P2147】 [SDOI2008]洞穴勘测(LCT)

    题目链接 LCT裸题.. #include <cstdio> #define R register int #define I inline void #define lc c[x][0] ...

  3. oracle imp dmp命令

    vi par.txt userid=system/oracle tables=(user.table,...) query="where org_no like 32%" file ...

  4. 图片异或(xor)getflag

    题目地址:https://files.cnblogs.com/files/nul1/flag_enc.png.tar 这题是源于:网鼎杯minified 经过测试隧道红色最低通道异常.其余均正常.所以 ...

  5. UIScrollViewDelegate 方法调用

    UIScrollViewDelegate 方法调用 /** 设置缩放的View, 初始化完之后调用此方法告诉scrollView 谁可以缩放操作, 然后进行布局 */ func viewForZoom ...

  6. TypeError: not all arguments converted during string formatting

    print ("So, you're 5r old, %r tall and %r heavy." % (age, height, weight)) print ("So ...

  7. java版云笔记(七)之事务管理

    事务管理 事务:程序为了保证业务处理的完整性,执行的一条或多条SQL语句. 事务管理:对事务中的SQL语句进行提交或者回滚. 事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的 ...

  8. Bootstrap的使用。。。

    概览 深入了解 Bootstrap 底层结构的关键部分,包括我们让 web 开发变得更好.更快.更强壮的最佳实践. HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS 属 ...

  9. SilverLight 浏览器出现滚动条

    照网上说的很多解决方案要不得,最后想了下,直接在body上面加 style="overflow:hidden"解决问题,真觉得微软管理混乱,很多它自己的东西都不支持了.

  10. 以太坊go-ethereum客户端docker安装(一)

    最近一段时间忙于工作,就没来得及发表博客,但一直没有停止对区块链的研究.周末抽时间分享一下近期比较重大的收获之一--使用docker来搭建和使用以太坊的节点.本人已经顺利搭建出,开发环境,测试环境,F ...