zoukankan      html  css  js  c++  java
  • 2016-2017 ACM-ICPC, NEERC, Moscow Subregional Contest Problem L. Lazy Coordinator

    题目来源:http://codeforces.com/group/aUVPeyEnI2/contest/229511
    时间限制:1s
    空间限制:512MB
    题目大意:
    给定一个n
    随后跟着2n行输入
    "+ t":表示在t时刻获得了一样东西
    "- t":表示在t时刻使用了一样东西
    求每件东西等待时间的期望(得到的东西无先后顺序)
    数据范围:
    1 ≤ n ≤ 100 000
    t ≤ 1e9
    样例:

    题目解法:
    使用递推式从后往前推
    代码:

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <vector>
    #include <cstdio>
    #include <string>
    #include <cmath>
    #include <queue>
    #include <set>
    #include <map>
    #include <complex>
    using namespace std;
    typedef long long ll;
    typedef long double db;
    typedef pair<int,int> pii;
    typedef vector<int> vi;
    #define de(x) cout << #x << "=" << x << endl
    #define rep(i,a,b) for(int i=a;i<(b);i++)
    #define all(x) (x).begin(),(x).end()
    #define sz(x) (int)(x).size()
    #define mp make_pair
    #define pb push_back
    #define fi first
    #define se second
    #define pi acos(-1.0)
    #define mem0(a) memset(a,0,sizeof(a))
    #define memf(b) memset(b,false,sizeof(b))
    #define ll long long
    #define eps 1e-10
    #define inf 1e17
    #define maxn 201010
    int num[maxn],op[maxn];
    db t[maxn],ans[maxn];
    int main()
    {
    	int n;
    	char z;
    	scanf("%d",&n);
    	n*=2;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>z>>t[i];
    		if(z=='-')
    		op[i]=-1;
    		else
    		op[i]=1;
    	}
    	for(int i=1;i<=n;i++)
    	{
    		num[i]=num[i-1]+op[i];
    	}
    	for(int i=n;i>=1;i--)
    	{
    		if(op[i]==-1)
    		{
    			db p=(db)(1)/num[i-1];
    			ans[i]=p*t[i]+(1-p)*ans[i+1];
    		}
    		else
    		ans[i]=ans[i+1];
    	}
    //	for(int i=1;i<=n;i++)
    //	cout<<ans[i]<<" ";
    	rep(i,1,n+1)
    	{
    		if(op[i]==1)
    		printf("%.12Lf
    ",ans[i]-t[i]);
    	}
    	return 0;
    }
    
  • 相关阅读:
    牛客小白月赛4-E-浮点数输出 字符串
    HDU 5319 Painter(模拟)
    AtCoder Regular Contest 098 D
    strchr函数的用法
    fgets()
    格式
    Uncaught TypeError: Cannot read property 'addEventListener' of null
    window cmd下常用操作
    nuxt导入css样式
    ERROR EPERM: operation not permitted, mkdir 'C:UsersAdministratorDesktop ext uxtasic.nuxtcomponents'
  • 原文地址:https://www.cnblogs.com/Destr/p/9740747.html
Copyright © 2011-2022 走看看