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条路径上,那么它属于路径的交集). ...
随机推荐
- 第四周总结 & 实验报告(二)
第四周课程总结 一.String类 1.实例化 (1)直接赋值 public class Xxxx{ public static void main(String args[]){ String a ...
- HDU 6625 (01字典树)
题意:给定两个长为n的数组a和b:重新排列a和b,生成数组c,c[i]=a[i] xor b[i]:输出字典序最小的c数组. 分析:将a中的数插入一颗01字典树a中:将b中的数插入一颗01字典树b中: ...
- Java中class的声明
在Java中下面Class的声明哪些是错误的?(A,B,C) A:public abstract final class Test { abstract void method();} B:pub ...
- java中? extends T 和? super T解析
转:https://blog.csdn.net/qq_25337221/article/details/81669630 PECS原则 最后看一下什么是PECS(Producer Extends Co ...
- Django框架效率问题的解决方法和总…
由于项目的需要,学习了Django框架,Django框架的MTV很清晰,通过MTV能够很好地了解Django框架的内部机理.但是在使用过程中发现了一个严重的问题,就是当有大量IO(写数据库操作)的时候 ...
- JavaScript基础之--- 深拷贝与浅拷贝
理解深拷贝和浅拷贝之前,先来看一下JavaScript的数据类型. 1.基本类型和引用类型 //案例1 var num1 = 1, num2 = num1; console.log(num1) con ...
- 获取使用GitHub api和Jira api Authentication的方法
近段时间在搭建我司的用例管理平台,有如下需求: 1.需要根据项目--版本--轮次的形式来管理项目用例,用例统一保存在git工程. 2.执行用例时,如果用例执行失败,可以通过平台在Jira上提bug. ...
- 【MM系列】SAP MM模块-MIGO收货后自动打印收货单
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-MIGO收货后自动 ...
- sql server监控工具
图形化监控工具 [1]toad toad官网介绍:https://www.quest.com/cn-zh/products/toad-for-sql-server/ 破解版网上搜索下载使用:https ...
- cmd常用快捷键
Crtl + Shift +Enter : 以管理员的方式进入命令行模式 ESC: 清楚当前行的内容 Alt + Enter : 全屏/退出全屏 F7 : 通过列表形式查看历史记录 F4 : 快速删除 ...