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\n",ans[i]-t[i]);
	}
	return 0;
}
2016-2017 ACM-ICPC, NEERC, Moscow Subregional Contest Problem L. Lazy Coordinator的更多相关文章
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem D. Distance 迪杰斯特拉
		Problem D. Distance 题目连接: http://codeforces.com/gym/100714 Description In a large city a cellular ne ... 
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem C. Contest 水题
		Problem C. Contest 题目连接: http://codeforces.com/gym/100714 Description The second round of the annual ... 
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem K. KMC Attacks 交互题 暴力
		Problem K. KMC Attacks 题目连接: http://codeforces.com/gym/100714 Description Warrant VI is a remote pla ... 
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem J. Joke 水题
		Problem J. Joke 题目连接: http://codeforces.com/gym/100714 Description The problem is to cut the largest ... 
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem I. Interest Targeting 模拟题
		Problem I. Interest Targeting 题目连接: http://codeforces.com/gym/100714 Description A unique display ad ... 
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem H. Hometask 水题
		Problem H. Hometask 题目连接: http://codeforces.com/gym/100714 Description Kolya is still trying to pass ... 
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem F. Finance 模拟题
		Problem F. Finance 题目连接: http://codeforces.com/gym/100714 Description The Big Boss Company (BBC) pri ... 
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem A. Alien Visit 计算几何
		Problem A. Alien Visit 题目连接: http://codeforces.com/gym/100714 Description Witness: "First, I sa ... 
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem L. Stock Trading Robot 水题
		Problem L. Stock Trading Robot 题目连接: http://www.codeforces.com/gym/100253 Description CyberTrader is ... 
随机推荐
- jQuery属性操作之.attr()
			目录 .attr() 调用形式:$("xxx").attr(name) 调用形式:$("xxx").attr(name,value); 调用形式:$(" ... 
- 前端基础-jQuery的优点以及用法
			一.jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交 ... 
- 第一章 程序设计和C语言(笔记)
			一.程序和程序语言 程序:完成某项事务所预设的活动方式和活动过程. 程序设计:人们描述计算机要做的工作. 对于工作过程的细节动作描述就是一个“程序”. 在一个程序描述中,总有一批预先假定的“基本动作” ... 
- Yar请求数据接口
			//[['u'=>'site.index','d'=>['a'=>2],'k'=>'test']]; public function apiBatch($arr,$timeou ... 
- Windows.Devices API in a C# WinForm Win32 Desktop application in Windows 10
			https://social.msdn.microsoft.com/Forums/windows/en-US/40b4f86d-b6d5-430e-a235-7fc003dec4c4/how-to-u ... 
- arm平台的调用栈回溯(backtrace)
			title: arm平台的调用栈回溯(backtrace) date: 2018-09-19 16:07:47 tags: --- 介绍 arm平台的调用栈与x86平台的调用栈大致相同,稍微有些区别, ... 
- MySQL优化#参数配置优化
			( 1).查看mysql里的线程,观察是否有长期运行或阻塞的sql: show full processlist 经查看,没有发现相关线程,可排除该原因 (2).疑似mysql连接使用完成后没有真正释 ... 
- Python学习6——运算符
			1.算数运算符 例1:给定一个三位数,给出每个位置上对应的参数: #方法01:当作数字来求 print("请输入一个三位数:") number = input() number = ... 
- Linux了解一下
			VMware与CentOS系统安装 1, 下载CentOS系统ISO镜像: 国内镜像源 https://opsx.alibaba.com/mirror#阿里云官方镜像站 iso下载地址(此DVD映像包 ... 
- ACM1005:Number Sequence
			Problem Description A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) ... 
