2014百度之星初赛第二场hdu 4831 Scenic Popularity
Scenic Popularity
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 239 Accepted Submission(s): 60
#include<stdio.h>
#include<algorithm>
using namespace std; struct node
{
int pos;
int val;
int mark;
int ll,rr;
}a[21000];
struct no
{
int id;
int val;
int dis;
}f[21000];
int main()
{
int i,j;
int T,ca=0;
scanf("%d",&T);
while(T--)
{
ca++;
int n;
scanf("%d",&n);
int cnt=0;
for(i=1;i<=n;i++)
{
scanf("%d%d",&a[i].pos,&a[i].val);
if(a[i].val)
{
a[i].mark=0;//景点
f[++cnt].id=i;
f[cnt].dis=a[i].pos;
f[cnt].val=a[i].val;
}
else
a[i].mark=1;//休息区;
}
f[0].id=0;
f[0].dis=-1000000000;
f[0].val=0;
f[cnt+1].id=n+1;
f[cnt+1].dis=1000000000;
f[cnt+1].val=0;
a[0].pos=-1000000000;
a[0].val=0;
a[n+1].pos=1000000000;
a[n+1].val=0;
int now=0;
for(i=1;i<=n;i++)
{
if(a[i].mark)
{
int l,r;
l=a[i].pos-f[now].dis;
r=f[now+1].dis-a[i].pos;
a[i].ll=f[now].id;
a[i].rr=f[now+1].id;
if(l-r<0)
a[i].val=f[now].val;
else if(l-r>0)
a[i].val=f[now+1].val;
else
a[i].val=max(f[now+1].val,f[now].val);
}
else
{
now++;
a[i].ll=a[i].rr=i;
}
//printf("%d %d %d",i,a[i].ll,a[i].rr);printf("\n");
}
int k;
scanf("%d",&k);
printf("Case #%d:\n",ca);
while(k--)
{
//for(i=1;i<=n;i++)printf("%d ",a[i].val);printf("\n");
char s[2];
scanf("%s",s);
int x,y;
if(s[0]=='Q')
{
scanf("%d",&x);
int ans=0;
for(i=1;i<=n;i++)
if(a[i].val<=x)
ans++;
printf("%d\n",ans);
}
else
{
scanf("%d%d",&x,&y);
x++;
a[x].val=y;
for(i=x-1;i>0;i--)
{
if(!a[i].mark)
break;
int l,r;
l=a[i].pos-a[a[i].ll].pos;
r=a[a[i].rr].pos-a[i].pos;
if(l-r<0)
break;
else if(l-r>0)
a[i].val=a[x].val;
else
a[i].val=max(a[a[i].ll].val,a[a[i].rr].val);
}
for(i=x+1;i<=n;i++)
{
if(!a[i].mark)
break;
int l,r;
l=a[i].pos-a[a[i].ll].pos;
r=a[a[i].rr].pos-a[i].pos;
if(l-r>0)
break;
else if(l-r<0)
a[i].val=a[x].val;
else
a[i].val=max(a[a[i].ll].val,a[a[i].rr].val);
}
}
}
}
return 0;
}
2014百度之星初赛第二场hdu 4831 Scenic Popularity的更多相关文章
- 2014百度之星预赛(第二场)——Best Financing
2014百度之星预赛(第二场)--Best Financing Problem Description 小A想通过合理投资银行理財产品达到收益最大化.已知小A在未来一段时间中的收入情况,描写叙述为两个 ...
- hdu 4831 Scenic Popularity(模拟)
pid=4831" style="font-weight:normal">题目链接:hdu 4831 Scenic Popularity 题目大意:略. 解题思路: ...
- HDU 4831 Scenic Popularity
Scenic Popularity Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- HDU 4831 Scenic Popularity (段树)
Scenic Popularity Problem Description 临近节日,度度熊们近期计划到室外游玩公园.公园内部包含了非常多的旅游景点区和歇息区,因为旅游景点非常热门,导致景点区和歇息区 ...
- HDU 5690:2016"百度之星" - 初赛 All X
原文链接:https://www.dreamwings.cn/hdu5690/2657.html All X Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 2016"百度之星" - 初赛(Astar Round2A)HDU 5695 拓扑排序+优先队列
Gym Class Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 2016百度之星 初赛2A ABEF
只做了1001 1002 1005 1006.剩下2题可能以后补? http://acm.hdu.edu.cn/search.php?field=problem&key=2016%22%B0% ...
- 2018 计算之道初赛第二场 阿里巴巴的手机代理商(困难)(反向可持久化Trie)
阿里巴巴的手机代理商(困难) 阿里巴巴的手机代理商正在研究 infra 输入法的新功能.他们需要分析单词频率以改进用户输入法的体验.于是需要你在系统内核里面写一个 API. API 有如下功能: 添加 ...
- 【百度之星初赛A】路径交 LCA+线段树
[百度之星初赛A]路径交 Problem Description 给定一棵n个点的树,以及m条路径,每次询问第L条到第R条路径的交集部分的长度(如果一条边同时出现在2条路径上,那么它属于路径的交集). ...
随机推荐
- kafka原理和实践
https://blog.csdn.net/FAw67J7/article/details/79885695 介绍 https://www.w3cschool.cn/apache_kafka/apac ...
- ACM ICPC 2011-2012 Northeastern European Regional Contest(NEERC)K Kingdom Roadmap
K: 给你n个点以及n-1的条边, 问你最少要加多少条边,使得每两个点割去一条联通的边,还可以使的这两个点连通. 有个一个结论,最少添加的边数为(叶子节点数+1)/ 2. 我们可以只考虑叶子节点数应该 ...
- [论文笔记] Improving Head Pose Estimation with a Combined Loss and Bounding Box Margin Adjustment
Improving Head Pose Estimation with a Combined Loss and Bounding Box Margin Adjustment 简介 本文提出了一种网络结 ...
- leetcode-mid-backtracking-17. Letter Combinations of a Phone Number
mycode 68.26% class Solution(object): def letterCombinations(self, digits): """ :typ ...
- maven依赖传递和排除依赖冲突
1 依赖的传递 假如 A项目 依赖 a.jar 1.0.1,b.jar 1.0.1,没有直接依赖c.jar 1.0.1,但是b.jar 1.0.1依赖了c.jar 1.0.1,可以说A项目间接依赖了c ...
- Hybrid平台
需求说明 离线包管理平台主要负责对需要接入Hybrid平台的应用进行管理,通过这个平台可以实现对应用的静态资源进行构建.发布.生成离线包,版本控制等,核心场景如下: 将需要做预加载的应用在平台上注册, ...
- mysql数据库连接错误10060
今天在使用mysql数据库的时候,出现错误ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10060) 我在网上一顿 ...
- 【Spring】---【IOC】
Spring 2017-08-15 08:25:57 [IOC] 分享几篇好文 谈谈对Spring IOC的理解 Spring的IOC原理(转载) java框架篇---spring IOC 实现原理 ...
- JavaScript对象之--- RegExp
1.概述 正则表达式是描述字符模式的对象. 正则表达式用于对字符串模式匹配以及检索替换: 2.语法 前者为模式,后者为修饰符. var reg = new RegExp( "xyz" ...
- Django 过滤器 、日期格式化、数学运算
Django 的模板中的数学运算前言 django模板只提供了加法的filter,没有提供专门的乘法和除法运算:django提供了widthratio的tag用来计算比率,可以变相用于乘法和除法的计算 ...