我是靠谱客的博主 眼睛大寒风,最近开发中收集的这篇文章主要介绍HDU1166 敌兵布阵【线段树,Java数据结构和算法面试题及答案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Sample Input

1

10

1 2 3 4 5 6 7 8 9 10

Query 1 3

Add 3 6

Query 2 7

Sub 10 2

Add 6 3

Query 3 10

End

Sample Output

Case 1:

6

33

59




### [](https://gitee.com/vip204888/java-p7)2.代码



单点更新

#define _CRT_SECURE_NO_WARNINGS

#include

#include

#include

using namespace std;

#define lson l,m,rt<<1 宏定义更方便

#define rson m + 1,r,rt<<1|1

const int maxn = 55555; //元素总个数

int sum[maxn << 2]; ///sum求和

void PushUP(int rt) ///更新父节点

{

sum[rt] = sum[rt << 1] + sum[rt << 1 | 1];

}

void build(int l,int r,int rt) //建树

{

if (l == r)  ///到达叶节点

{

    scanf("%d", &sum[rt]);

	return ;

}

int m = (l + r) >> 1;

///左右递归

build(lson);

build(rson);

///更新信息

PushUP(rt);

}

///点修改

void update(int p, int add, int l, int r, int rt)//l,r表示当前节点区间,rt表示当前节点编号

{

if (l == r) //到叶节点,修改

{

	sum[rt] += add;

	return;

}

int m = (l + r) >> 1;

//根据条件判断往左子树调用还是往右 

if (p <= m) update(p, add, lson);

else update(p, add, rson);

PushUP(rt);//子节点更新了,所以本节点也需要更新信息

}

int query(int L, int R, int l, int r, int rt)//L,R表示操作区间,l,r表示当前节点区间,rt表示当前节点编号

{

if (L <= l && r <= R)

{

	return sum[rt];//在区间内,直接返回

}

int m = (l + r) >> 1;

//累计答案

int ans = 0;

if (L <= m) ans += query(L, R, lson);

if (R > m)  ans += query(L, R, rson);

return ans;

}

int main()

总结:绘上一张Kakfa架构思维大纲脑图(xmind)

image

其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?

若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理

资料领取方式:点击这里免费下载

梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。

  • Kafka入门

  • 为什么选择Kafka

  • Kafka的安装、管理和配置

  • Kafka的集群

  • 第一个Kafka程序

  • Kafka的生产者

  • Kafka的消费者

  • 深入理解Kafka

  • 可靠的数据传递

  • Spring和Kafka的整合

  • SpringBoot和Kafka的整合

  • Kafka实战之削峰填谷

  • 数据管道和流式处理(了解即可)

image

Kafka的生产者

  • Kafka的消费者

  • 深入理解Kafka

  • 可靠的数据传递

  • Spring和Kafka的整合

  • SpringBoot和Kafka的整合

  • Kafka实战之削峰填谷

  • 数据管道和流式处理(了解即可)

[外链图片转存中…(img-HTzhJWIe-1628407517501)]

image

最后

以上就是眼睛大寒风为你收集整理的HDU1166 敌兵布阵【线段树,Java数据结构和算法面试题及答案的全部内容,希望文章能够帮你解决HDU1166 敌兵布阵【线段树,Java数据结构和算法面试题及答案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部