HDU 1166 线段树

Flutter 完整学习文档 - 从入门到精通 Widget 就像乐高积木,Flutter 中所有的东西都是 Widget。一个按钮是 Widget,一段文字是 Widget,甚至布局、边距、对齐方式也是 Widget!"万物皆 Widget" 阅读详情

方法一:>o<
线段树
模板题
代码如下

#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
using namespace std;
const int maxn=500000+10;
struct tree{
    int lef,rig,mid,sum;
}t[maxn];
int cas,len,cnt,a;
void init(int a,int b,int n){
    t[n].lef=a,t[n].rig=b;
    t[n].mid=(a+b)/2,t[n].sum=0;
    if(a+1==b)
        return;
    init(a,(a+b)/2,2*n);//左子树---------左闭右开 
    init((a+b)/2,b,2*n+1);//右子树 
}
void creat(int pos,int val,int n){
    t[n].sum+=val;
    if(t[n].lef+1==t[n].rig)
        return;
    if(pos<t[n].mid)
        creat(pos,val,2*n);//左子树 
    else
        creat(pos,val,2*n+1);
}
int query(int x,int y,int n){
    if(t[n].lef==x&&t[n].rig==y)
        return t[n].sum;
    if(x<t[n].mid){
        if(y<=t[n].mid)
            return query(x,y,n*2);
        else
            return query(x,t[n].mid,2*n)+query(t[n].mid,y,2*n+1);
    }
    else
        return query(x,y,2*n+1);
}
int main(){
    scanf("%d",&cas),cnt=1;
    while(cas--){
        char ord[10];
        scanf("%d",&len),init(1,len+1,1);
        for(int i=1;i<=len;i++)
            scanf("%d",&a),creat(i,a,1);
        int x,y;
        printf("Case %d:\n",cnt++);
        while(scanf("%s",ord)){
            if(!strcmp(ord,"End"))
                break;
            scanf("%d%d",&x,&y);
            if(strcmp(ord,"Query")==0)
                printf("%d\n",query(x,y+1,1));
            else if(strcmp(ord,"Add")==0)
                creat(x,y,1);
            else if(strcmp(ord,"Sub")==0)
                creat(x,-y,1);
        }
    }
    return 0;
}
西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件 阅读详情

相关推荐

5-DOF机械臂课程设计(一)之正逆运动学

文章目录基本要求基本概念关节坐标系的建立正运动学求解DH参数表的建立逆运动学求解多解下解的选取源码下载后续 基本要求 ​ 开发上位机程序,要求有良好的界面,能提供关节空间下和笛卡尔坐 标下表示的目标位姿点和中间若干经过点的输入功能,进行轨迹规划, 并控制机械臂沿轨迹运动,最终完成目标抓取的任务。 基本概念 连杆长度 :2个相邻关节轴线之间的距离 连杆扭角 :2个相邻关节轴线之间的角度 连杆偏距 :2个关节坐标系的X轴之间的距离 关节角度 :关节变量 计算时需要加初始角度偏移 关节坐标系的建立 ​ 根据《机

Rosen的博客 5855

HDU1166敌兵布阵-线段树求和

HDU1166敌兵布阵-线段树求和 #include #include #include #include using namespace std; const int maxn = 200005*2; long long n,dat[2*maxn-1]; void init(int n_) { n = 1; while(n<n_)n*=2; for(int i

wxyfennie的博客 428

高通Camera PDAF调试实战:从Type2到Type3的避坑指南与Log分析技巧

本文深入解析高通Camera平台PDAF调试实战,重点对比Type2与Type3的核心差异,提供详细的配置迁移方案和Log分析技巧。针对常见兼容性问题如对焦速度变慢、低光失效等,给出具体解决方案,并分享性能优化案例与高级调试工具链,帮助开发者快速提升PDAF调试效率。

weixin_29164185的博客 408

简单线段树–hdu1166

简单线段树–hdu1166这题是一道非常基础的线段树题,最近开始集训打算把线段树重新捡起来写一次,结果发现写的简直差强人意,很多地方调试得非常辛苦,最后还参考了别人的线段树版,但是这次写线段树算是再一次加强了对线段树的理解,由于这个线段树还是比较裸的,所以直接套版都能过。相对是自己第一次敲线段树版,所以注解比较多,相对初学者来说比较清晰。希望以后在能够对更多的算法有自己的理解=-=下面附上hdu11

QuanQqqqq的博客 591

Neo4j 智能供应链应用源代码简析

本文简析Neo4j智能供应链应用的源代码,让你也可以快速开发自己的供应链应用。

Neo4j 开发者博客 1679

195、大模型蒸馏与压缩:知识蒸馏与VLA模型轻量化

折腾完这一整套流程,最大的感悟是:知识蒸馏不是简单的模型压缩,而是知识迁移的工程艺术。每一步都有坑,每个参数都可能影响最终性能。给后来者的建议是:先别急着上蒸馏,把teacher模型的推理延迟和显存占用测清楚,确定瓶颈在哪里——是计算量太大还是内存带宽不够,这决定了你该用蒸馏还是量化还是剪枝。蒸馏训练时一定要监控每一层的特征对齐loss,别只看总loss。如果某一层的对齐loss特别高,说明student在这一层学歪了,需要调整该层的损失权重或者增加该层的投影头容量。

sundong_81的博客 110

HDU 1166 敌兵布阵 线段树模板

HDU 1166 敌兵布阵 线段树模板 题目内容是线段树的单点修改和区间查询,可以用作线段树单点更新的模板。 [输入] 第一行一个整数T,表示有T组数据。 每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50)。 接下来每行有一条命令,命令有4种形式: (1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30) (2)Sub i j ,i和j为正整数,表示第

weixin_46283740的博客 417

成本中心(CO)和利润中心(PCA)是管理会计模块的核心组件

SAP中成本中心(CO)和利润中心(PCA)凭证处理存在差异:①外部交易(如费用支付、销售)会生成FI借贷凭证;②内部成本分摊和转移仅产生CO/PCA管理凭证,通过次级成本要素或利润中心转移科目记录,不涉及FI模块。核心区别在于是否涉及企业实际收支:实际收支触发FI凭证,内部核算仅生成管理会计凭证。系统通过这种机制实现财务会计与管理会计的集成与分离。

金牌架构师 1127

hdu 1166 线段树

//hdu 1166 far away from home //考察点:线段树的基本应用 //思路:建立一棵线段树,设置更新和查询操作,注意此题的区间不能重合,比如[1,10]会被分成[1,5]和[6,10]而不是[1,5]和[5,10]. //RunTime Error一次,原因:数组开小了,根据原理应该是2*(b-a)+1的,此题不知道怎么回事。 //Ac code 参考NotOnlySucc

陈氏春秋 490

华为OD机试2025C卷真题题库目录|机考题库 + 算法考点详解

本文整理华为OD 2025C卷 机试(机考)题库,提供高频考点精析与详细题目内容,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 3982

6、硬件工程师笔试面试知识器件篇——电容(2025版本)

本文系统介绍了电容器的基本原理、类型分类、应用场景及相关设计问题。首先阐述了电容的定义、工作原理及计算公式,详细分析了陶瓷、电解、薄膜、钽等不同类型电容的特性差异。针对高频电路设计,重点讨论了如何评估和优化电容器的寄生效应(ESR/ESL)、频率特性、温度特性等关键参数。文章还提供了PCB布局优化策略,包括缩短走线、多层板设计、去耦网络配置等方法。最后涵盖了电容器寿命计算、稳定性评估及电源电路设计中的纹波电流处理等实用内容,为硬件工程师提供了全面的电容器选型和应用指南。

XU157303764的博客 3868

hdu1166 敌兵布阵 线段树求和

import java.util.Scanner; class Node {// 结点类 int l, r; int sum; Node(int l, int r, int sum) { this.l = l; this.r = r; this.sum = sum; } } public class Main { static final int N = (int) (...

匿名攻城狮 742

YOLOv11 改进 - 注意力机制 | GC Block(GlobalContext Block)全局上下文块:三重变换捕获全局依赖,提升复杂场景鲁棒性

本文介绍了全局上下文块(GC Block)及其在YOLOv11中的集成应用。GC Block是GCNet的核心组件,结合了NLNet和SENet的优势,通过上下文建模、特征变换和特征融合三个模块,高效捕获特征图中的全局依赖关系,在提高模型性能的同时降低计算成本。我们将GC Block引入YOLOv11,在检测头部分的不同尺度特征图上应用该模块。实验表明,改进后的YOLOv11在目标检测任务中表现良好,展现了GC Block在实际应用中的价值。

魔改工程师的博客 949

敌兵布阵 HDU 1166 线段树

敌兵布阵 HDU 1166 线段树 题意 这个题是用中文来描写的,很简单,没什么弯。 解题思路 这个题肯定就是用线段树来做了,不过当时想了一下可不可用差分来做,因为不熟练就还是用了线段树来做,几乎就是模板题了。 代码实现 #include<cstdio> #include<cstring> #include<algorithm> #include&lt...

weixin_30715523的博客 191

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

HDU1166敌兵布阵【线段树】

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1166 #include<iostream> #include<algorithm> #include<cstring> #include<string> #include<cstdio> using namespace std; const int INF = 0x3f3f3f3f; const int MAXN = 1e5 + 7; int T, n;

Tw_light的博客 232

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HDU 1166 ZKW线段树 单点修改+区间求和

/** HDU 1166 ZKW线段树 https://vjudge.net/problem/HDU-1166 区间和+单点更新 */ #include&lt;bits/stdc++.h&gt; #define ll long long using namespace std; const int maxn = 1e5+7; int M,n,a[maxn&lt;&lt;2]; int d[...

布呗之路 350

hdu1166 敌兵布阵 线段树入门

渣渣做的线段树入门的题 题目地址:hdu1166 敌兵布阵 #include #include using namespace std; const int N = 50000+10; int a[N],p;//p是指向数组a的指针,每次新的数据记得初始化 int s_tree[3*N];//每个结点只存储工兵数量的和 void buit(int l,int r,int num){ if(l

#include 372

Hdu1166(线段树单点更新)

题目 Hdu1166敌兵布阵 题解 线段树简单模板题 #include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;string&gt; #include&lt;cstdio&gt; using namespace std; int tre[200000]; void build(int root,int l,int r) { if...

微风的博客 156

线段树入门经典题/HDU1166/HDU1754

今天学习了一下线段树最简单的单点的思想,一开始有点难懂,理解了的话就还好。这两道题本质都差不多,以后有时间可能会更其他线段树的思路分享,这里就先放题目和代码: HDU1166:题目描述 更新单点,求区间总和 #include<cstdio> #include<algorithm> using namespace std; const int MAXN=50005; int ...

弋墨尘的博客 455

敌兵布阵 1166 HDU 线段树

初识算法,花了一个下午理解了线段树的算法,然后开始做HDU上的1166题。 先说说对于线段树的一个理解:   比如要在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个(多次)询问,每个询问输入一个点,要求这个点在多少

mr_lee 6176

线段树模板整理 HDU1166 POJ3468

这两道题,都是裸的线段树,并且线段树维护的都是区间和。放在一起整理一下,毕竟之前只是按照板子敲过。 HDU 1166----单点修改,区间查询 (小声哔哔:用区间来代替单点,一样能A的。毕竟原理都一样。在Add()函数和update( )函数那里,就是if-else的区别?) //ac 单点修改 //HDU 1166 second #include<iostream> ...

117瓶果粒橙 243

hdu 1166 敌兵布阵(线段树入门第一题)

题目:hdu1166 敌兵布阵 题意:有N个兵营,每个兵营都给出了人数ai(下标从1开始),有四种命令: (1)”Add i j",表示第i个营地增加j人。 (2)“Sub i j”,表示第i个营地减少j人。 (3)“Query i j",查询第i个营地到第j个营地的总人数。 (4)”End“,表示命令结束。 这题用线段树来做,比暴力优化很多,注意用scanf会比用cin效率提

若世界是黑暗,那我便是黎明。 弱者为何而战!? 599

【完全版】线段树初学--HDU 1166 敌兵布阵

【完全版】线段树初学--HDU 1166 敌兵布阵 链接:click here~~ 题意: 第一行一个整数T,表示有T组数据。 每组数据第一行一个正整数N(N 接下来每行有一条命令,命令有4种形式: (1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30) (2)Sub i j ,i和j为正整数,表示第i个营地减少j个人(j不超过30); (3)Query

herongwei 的 BLOG 1228

线段树(单点更新)HDU1166、HDU1742

在上一篇博文里面,我提到了我不会线段树,现在就努力地学习啊! 今天AC一题感觉都很累,可能是状态不佳,在做HDU1166这题目时候,RE了无数次。 原因是:我的宏定义写错了,我已经不是第一犯这种错误了!我的宏写成了 #ifndef ONLINE_JUDEGE  freopen("in.txt","r",stdin); #endif 就是这个错误我调了两个小时……教训!!!每次出现R

u011044759的专栏 1372

hdu-1166 线段树

先前写过一个,今天对线段树有新理解——闭区间代替半开半闭区间 15ms的程序是怎么写的?? /* * hdu-1166 敌兵布阵 * mike-w * 2011-11-8 */ #include #include #include #define MAXN 50505 #define TSIZE 10000000 typedef struct _tnode { int l,r,

Mr. WA's Blog 459

HDU 1166 敌兵布阵 // 线段树

题目描述HDU 1166 敌兵布阵解题思路线段树的入门基础题. 题目要求支持下列操作: 1) 区间查询 (求和) 2) 单点更新 (加\减) // 具体还是看注释哈~^ ^参考代码#include <stdio.h> #define lson rt<<1 // 左儿子的下标 #define rson rt<<1|1 // 右儿子的下标 #define mid ((l + r) >>

FZU_zyt的专栏_(:з」∠)_ 474

HDU 1166(线段树单点更新)

HDU 1166       题意:1-n个堡垒,人数在不断变化,多次查询 l-r人数和; 思路:线段树的单点更新; #include #include #include #include #include #include #include #include #include #define INF 0x3fffffff #define MAXN 50001 #define ls

code_or_code 793
上一篇: poj 1469
下一篇: 2016.5.1
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值