zoukankan      html  css  js  c++  java
  • codeforces Gym 100187B B. A Lot of Joy

    B. A Lot of Joy

    Time Limit: 20 Sec

    Memory Limit: 256 MB

    题目连接

    http://codeforces.com/gym/100187/problem/A

    Description

    Two boys Gena and Petya wrote on two strips of paper the same string s that consisted of lowercase Latin letters. Then each boy took one strip, cut it into small pieces so that each piece contained exactly one letter and put all pieces into his pocket. After that Gena and Petya repeated the following procedure until their pockets became empty: they took one piece from their pockets and rejoiced if the letters on these pieces were equal.

    Determine the expected number of times the boys rejoiced during this process.

    Input

    The input contains the only string s which was initially written on Gena's and Petya's strips. The string has length between 1 and 200000, inclusively, and consists of lowercase Latin letters.

    Output

    Output the only real number — the expected number of times Gena and Petya rejoiced during their business. The absolute or relative error of the answer should not exceed 10 - 9.

    Sample Input

    abc

    Sample Output

    1.000000000000000

    HINT

    题意

    每个人都有一组相同的字符串,如果同时拿出一样的字符串的话,愉悦值+1,问你愉悦值的期望是多少

    题解:

    我也不知道为什么答案是这个,我只是随便猜的……

    代码:

    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <ctime>
    #include <iostream>
    #include <algorithm>
    #include <set>
    #include <vector>
    #include <sstream>
    #include <queue>
    #include <typeinfo>
    #include <fstream>
    #include <map>
    #include <stack>
    typedef long long ll;
    using namespace std;
    //freopen("D.in","r",stdin);
    //freopen("D.out","w",stdout);
    #define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
    #define test freopen("test.txt","r",stdin)
    #define maxn 200101
    #define mod 10007
    #define eps 1e-9
    const int inf=0x3f3f3f3f;
    const ll infll = 0x3f3f3f3f3f3f3f3fLL;
    inline ll read()
    {
        ll x=0,f=1;char ch=getchar();
        while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
        while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
        return x*f;
    }
    //**************************************************************************************
    
    double dp;
    int a[30];
    int b[30];
    int main()
    {
        string s;
        cin>>s;
        for(int i=0;i<s.size();i++)
        {
            a[s[i]-'a']++;
        }
        for(int i=0;i<s.size();i++)
        {
            dp+=a[s[i]-'a']*1.0/s.size()*1.0;
        }
        printf("%.15f",dp);
    }
  • 相关阅读:
    人工智能
    华盛顿邮报启用核查事实机器人,新闻行业路指何方
    被算法控制的网络
    新型机器人闯入职场:到底是工作缔造者还是工作终结者?华盛顿邮报
    有情感会说话,虚拟人脸Zoe诞生
    IBM Watson将最终适应智能机,可以进行疾病诊断
    我们用大数据创造没人能理解的人工智能
    在DNA中存储数据成为现实
    matlab 工具箱
    背后的原因——是时候让计算机理解我们的意图、而非表面意思
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4657517.html
Copyright © 2011-2022 走看看