2016HUAS_ACM暑假集训2E - I Hate It

又是一个线段树的应用,不过跟上一题(D-排兵布阵)不同的是,这次是求某段区间上的最值,而不是某段区间和。当然,数据更新是必须的。D题注释已经很详细了,所以这题注释少点。

大致题意:给你N个已经排好的学生成绩,然后有M条指令,输出对应指令的结果。指令有两种: 

1.Q  i  j:询问i到j的最值

2.U  i  j:把学生编号为i的成绩改为j

输入输出格式:

Sample Input 

5     6                    //第一行两个整数N,M,表示N个学生和M条指令( 0<N<=200000,0<M<5000 )

1  2  3  4  5           //第二行是N个学生的成绩(对应学生编号)

Q  1  5

U  3  6

Q  3  4

Q  4  5

U  2  9

Q  1  5

Sample Output

5

6

5

9  

 1 #include<stdio.h>  
 2 #include<string.h>
 3 
 4 int max(int a,int b)//首先定义一个取最大值的函数
 5 {
 6     return a>b?a:b;
 7 }
 8 
 9 struct tree
10 {  
11     int l,r,s;  
12 };
13 
14 char s[5];
15 int m,n,x,y;
16 tree t[600010];//一般存节点的数组是叶子节点的三倍就够了
17 
18 void Init(int l,int r,int k)//构造线段树
19 {  
20     t[k].l=l;
21     t[k].r=r;
22     if(l==r)//叶子节点
23     {  
24         int x;  
25         scanf("%d",&x);  
26         t[k].s=x;//输入该叶子节点(学生)的分数 
27         return ;  
28     }  
29     int mid=(l+r)/2;
30     Init(l,mid,k*2);//构造左子树
31     Init(mid+1,r,k*2+1);//构造右子树
32     t[k].s=max(t[k*2].s,t[k*2+1].s);//更新父节点数据(取最大值)  
33 }
34 
35 void updata(int c,int x,int k)//数据的更新操作
36 {  
37     if(t[k].l==t[k].r&&t[k].l==c)
38     {  
39         t[k].s=x;
40         return ;
41     }  
42     if(c<t[k].l||c>t[k].r)
43         return ;  
44     updata(c,x,k*2);
45     updata(c,x,k*2+1);
46     t[k].s=max(t[k*2].s,t[k*2+1].s);  
47 }
48 
49 int query(int l,int r,int k)//数据查询  注意范围落在哪个区间就行了
50 {  
51     if(t[k].l==l&&t[k].r==r)  
52         return t[k].s;  
53     int mid=(t[k].l+t[k].r)/2;  
54     if(r<=mid)  
55         return query(l,r,k*2);  
56     else if(l>=mid+1)
57         return query(l,r,k*2+1);  
58     else  
59         return max(query(l,mid,k*2),query(mid+1,r,k*2+1));  
60 } 
61  
62 int main()  
63 {    
64     while(scanf("%d %d",&n,&m)!=EOF)  
65     {  
66         Init(1,n,1);  
67         while(m--)  
68         {  
69             scanf("%s %d %d",&s,&x,&y);  
70             if(s[0]=='U')  
71                 updata(x,y,1);  
72             else  
73                 printf("%d\n",query(x,y,1));  
74         }  
75     }  
76     return 0;  
77 }
View Code

 

转载于:https://www.cnblogs.com/ankelen/p/5699140.html

这些文档涵盖了5G网络优化的多个方面,包括**载波聚合、干扰管理、负载均衡、电调核查等**。以下是对这些文档内容的详细总结: #### **5G网络优化中的载波聚合技术** - **载波聚合的定义和作用**: - 载波聚合(CA)是3GPP在Release 10阶段引入的技术,通过将多个连续或非连续的载波聚合成更大的带宽,提高整网资源利用率和用户体验。 - **开启步骤及脚本**: - 确认站内是否有CA License。 - 添加CA组并配置相关参数。 - 基站盲配置开关打开,激活门限设置,增加CA小区集辅小区配置。 - **载波聚合A5测量事件开关的作用**: - A5测量事件开关打开时,支持CA的UE会A4转A5,调整A5门限1到-43dBm,类似于走A4事件触发异频切换。 - 关闭时,当UE处于载波聚合状态下才会将A4转A5,但不会调整A5门限1。 #### **干扰管理和优化** - **系统外干扰**: - 信号放大器和信号屏蔽器是主要的干扰源。解决建议包括协调推进信号放大器关、替、拆工作,引导用户使用VOLTE业务,以及联系公安进行收缴关闭信号屏蔽器。 - **系统内干扰**: - 包括杂散干扰、阻塞干扰和互调干扰。解决方法包括调整天面、增加隔离度,加装滤波器等。 #### **移动性负载均衡(MLB)配置方案** - **背景描述**:随着LTE用户数的快速发展,部分小区的用户数或PRB利用率已接近容量极限。MLB是指eNodeB判断小区的负载状态,当小区处于高负载状态时,将负载高小区中部分UE转移到负载低的小区,平衡异频或异系统之间的负载。 - **方案分析与实施**: - 方案介绍:MLB分为触发模式、选择目标小区、负载均衡执行三个阶段。根据这三个维度可划分为以下各种类型。 - 配置原则:确定候选邻区,交互负载信息,识别交互邻区和盲邻区,确定目标小区列表。 - 均衡执行:现网采用切换的方式转移同步态用户,RRC connection release方式转移空闲态用户。 - 三种均衡方式的优缺点对比:异频同步态用户数均衡(转移同步态用户)、异频同步态用户数均衡(转移空闲态用户)、异频空闲态UE预均衡。 #### **FDD电调核查及修改方法** - **FDD侧电调修改方法**:查询电调天线配置信息和子单元配置信息,可以查询/修改电子下倾角。 - **GSM侧电调修改方法**:查询天线设备编号、框槽号及天线设备序列号等信息。 - **常见的天线类型及匹配问题**:HW天线是现网绝大多数天线类型,需特别注意设备厂家编码和设备序列号的匹配问题。 综上所述,这些文档详细介绍了5G网络优化中的关键技术和方法,从载波聚合到干扰管理再到移动性负载均衡和FDD电调核查等方面提供了全面的指导和解决方案。通过这些内容的学习和应用,可以有效提升5G网络的性能和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值