ZOJ 3606 Lazy Salesgirl ( 线段树 + 思路 )
卖切糕的小女孩
http://www.cnblogs.com/wuyiqi/archive/2012/04/28/2474672.html
#include <cstdio>
#include <cstring>
#include <algorithm> #define lson l, m, rt << 1
#define rson m+1, r, rt << 1 | 1
#define lc rt << 1
#define rc rt << 1 | 1
#define LL long long int using namespace std; const int MAXN = ;
const double INF = 1e100;
const double eps = 1e-; struct node
{
int p;
int t;
int id;
}; int N;
int cnt[MAXN << ];
LL sum[][MAXN << ];
node D1[MAXN], D2[MAXN]; bool cmp( const node& a, const node& b )
{
return a.t < b.t;
} void build( int l, int r, int rt )
{
cnt[rt]=;
for ( int i = ; i < ; ++i ) sum[i][rt] = ;
if ( l == r ) return;
int m = ( l + r ) >> ;
build( lson );
build( rson );
return;
} void PushUp( int rt )
{
cnt[rt] = cnt[lc] + cnt[rc];
for ( int i = ; i < ; ++i )
sum[i][rt] = sum[i][lc] + sum[ (i+cnt[lc])% ][rc];
return;
} void update( int L, int l, int r, int rt )
{
if ( l == r && L == l )
{
++cnt[rt];
for ( int i = ; i < ; ++i )
sum[i][rt] += (LL)D1[L].p * (i + );
return;
} int m = ( l + r ) >> ;
if ( L <= m ) update( L, lson );
else update( L, rson );
PushUp( rt );
return;
} void init()
{
scanf( "%d", &N );
build( , N, );
for ( int i = ; i <= N; ++i )
scanf( "%d", &D1[i].p );
for ( int i = ; i <= N; ++i )
scanf( "%d", &D1[i].t ); sort( D1 + , D1 + N + , cmp ); D2[].t = ;
for ( int i = ; i <= N; ++i )
{
D2[i].id = i;
D2[i].t = D1[i].t - D1[i - ].t;
}
sort( D2 + , D2 + N + , cmp );
return;
} void solved()
{
double minW;
double maxAve = 0.0;
int i = , j = ;
while ( i <= N )
{
while ( j <= N && D2[i].t == D2[j].t )
{
update( D2[j].id, , N, );
++j;
} double tmpW = (double)D2[i].t;
double tmpA = (double)sum[][]/cnt[];
//printf( "tmp: %f %f\n", tmpW, tmpA ); if ( tmpA > maxAve )
{
maxAve = tmpA;
minW = tmpW;
}
else if ( tmpA == maxAve )
{
if ( minW > tmpW )
minW = tmpW;
}
i = j;
}
printf( "%.6f %.6f\n", minW, maxAve );
return;
} int main()
{
int T;
scanf( "%d", &T );
while (T--)
{
init();
solved();
}
return ;
}
ZOJ 3606 Lazy Salesgirl ( 线段树 + 思路 )的更多相关文章
- ZOJ 3606 Lazy Salesgirl 浙江省第九届省赛
Lazy Salesgirl Time Limit: 5 Seconds Memory Limit: 65536 KB Kochiya Sanae is a lazy girl who ma ...
- zjuoj 3606 Lazy Salesgirl
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3606 Lazy Salesgirl Time Limit: 5 Secon ...
- zoj 3511 Cake Robbery(线段树)
problemCode=3511" target="_blank" style="">题目链接:zoj 3511 Cake Robbery 题目 ...
- 分块+lazy 或者 线段树+lazy Codeforces Round #254 (Div. 2) E
E. DZY Loves Colors time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- bzoj 2957 楼房重建 (线段树+思路)
链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2957 思路: 用分块可以很简单的过掉,但是这道题也可以用线段树写. 分类讨论左区间最大值对 ...
- ZOJ 2859 二维线段树
思路:自己写的第二发二维线段树1A.哈哈,看来对二维的push操作比較了解了:可是还没遇到在两个线段树中同一时候进行push操作的,事实上这题我是想在x维和y维同一时候进行push操作的.可是想了好久 ...
- ZOJ 2301/HDU 1199 线段树+离散化
给这个题目跪了两天了,想吐简直 发现自己离散化没学好 包括前一个离散化的题目,实际上是错了,我看了sha崽的博客后才知道,POJ那题简直数据弱爆了,本来随便一组就能让我WA掉的,原因在于离散化的时候, ...
- HDU 4189 Cybercrime Donut Investigation 线段树+思路
参考:http://www.cnblogs.com/slon/archive/2012/03/30/2426104.html 题意:给一个有n个点的点集,有q个询问,每个询问询问一个点p,求与p曼哈顿 ...
- zoj 3325 Machine(线段树)
题意:0~n-1的数组,初始值为0:执行m个操作,每次操作执行后输出当前值为0的连续段的段数. 操作1: p i j : i~j区间的每个元素值减1 操作2: r i j :i~j区间的每个元素值加1 ...
随机推荐
- Heterogeneity Activity Recognition Data Set类别
Heterogeneity Activity Recognition Data Set:https://archive.ics.uci.edu/ml/datasets/Heterogeneity+Ac ...
- js获取对象所有的keys
Js中获取对象的所有key值 假如现在有一个对象 var obj = { A:2 ,B:"Ray" ,C:true ,D:function(){} } 如果想遍历对象obj中的 ...
- Tomcat8.0.36安装配置
1.下载tomcat8.0.36 下载地址:http://tomcat.apache.org/download-80.cgi 2.解压 至C:\Program Files\tomcat8下 3.添加系 ...
- 【javascript】ajax 基础
什么是 ajax ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. http 请求 首先需要了解 htt ...
- VCTransitionsLibrary –自定义iOS交互式转场动画的库
简介 VCTransitionsLibrary 提供了许多适用于入栈,出栈,模态等场景下控制器切换时的转场动画.它本身提供了一个定义好的转场动画库,你可以拖到自己工程中直接使用;也提供了许多拥有不同转 ...
- v-for的简单实现
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- pdo->prepare 返回false的问题总结
报错信息: Fatal error: Call to a member function execute() on a non-object 一般是pdo->prepare 返回了false导致 ...
- 前端性能优化JavaScript篇
关于前端性能优化的讨论一直都很多,包罗的知识也很多,可以说性能优化只有更好,没有最好.前面我写了一篇关于css优化的总结文章,今天再从javascript方面聊一聊. 1.从资源加载方面来说,浏览器的 ...
- PHP自动生成分页链接
page.class.php <?php class Page { // 分页栏每页显示的页数 public $rollPage = 5; // 页数跳转时要带的参数 public $param ...
- 【Mysql】给mysql配置远程登录
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option; flush privileges ...