[Acmer日志]2021/3/20星期六,天气多云,小冷

  • 今日算法
    • 树状数组
    • 差分树状数组
    • 双重树状数组——区间修改区间查询
  • 今日AC数: 1
  • 今日总结:
  • 明天目标
  • 今日鸡汤
  • 今日bgm

今日算法

今天主要是复习上星期的树状数组

  • 树状数组——单点修改区间查询
  • 差分树状数组——区间修改单点查询
  • 二重树状数组——区间修改区间查询

树状数组

用来解决区间求和问题。
设树状数组C[]与原数组A[], C中的第i项是原数组A从i开始前lowbit(i)项的和(可能有点难以理解)
如下图所示

lowbit(i)是i转化成二进制后从右往左数第一个1代表的值。
实现方法

int lowbit(int x) {return x & -x;
}

树状数组的构建方法(构建即更新)

void update(int i, int val) {while (i <= n) {c[i] += val;i += lowbit(i);}
}

求和方法

int sum (int i) {int ret = 0;while(i > 0) {ret += c[i];i -= lowbit(i);}return ret;
}

差分树状数组

首先要理解差分数组的概念

  • 差分数组:d[i]记录a[i] - a[i - 1]及原数组当前项与前一项的差。
  • 优点:前缀和的特殊含义
    代码实现:
//区间更新,单点查询
//树状差分数组
#include <bits/stdc++.h>
#define MAXN 100007
using namespace std;
int n;
int c[MAXN];
int lowbit(int x) {return x & -x;
}
void update(int p, int val) {while(p <= n) {c[p] += val;p += lowbit(p);}
}
int sum (int i) {int ret = 0;while(i > 0) {ret += c[i];i -= lowbit(i);}return ret;
}
int main(void) {int l, r;while(cin >> n, n) {memset(c, 0, sizeof(c));for (int i = 1; i <= n; ++i){cin >> l >> r;update(l, 1);update(r + 1, -1);}//这里的更新操作是关键,区间左端点为l,右端点为r,d[l]+val, d[r + 1]-valfor (int i = 1; i <= n; ++i){cout << sum(i);if (i != n)cout << " ";}cout << endl;}return 0;
}

双重树状数组——区间修改区间查询


利用差分树状数组完成区间求和,注意上图中公式的推导,需要同时维护两个树状数组
其他操作都和树状数组一样

今日AC数: 1

今日总结:

起床洗漱吃药干饭一气呵成,回宿舍听音乐然后做数学课后习题,午休后完成数学练习册,数学作业完成,已达成昨日目标。
傍晚撸铁练背,再次认识到自己的弱小、鸡肋。俯身单臂划船动作竟然能练到腰!
引体向上c10x6、高位下拉c10x4、正身换船c10x4、俯身单臂划船c15x4、卷腹c25x4
晚上318右聚餐,辛总川菜馆一棒子打死,避坑,回来给小棋做作业,发现用电脑写程序更方便(编程除了做题以外终于有用武之地了),被小棋贬为码农。
复习上星期的数学数组并完成日志总结。
虽然感觉不出进步,起码今天感觉不空虚

明天目标

今天目标完成了,飘了,感觉目标得高亿点点了。
今晚极有可能熬夜所以明天可能起来就中午了,遂打算按10.30起床开始,11.完成准备工作,静下心来学习线性代数5小时(到下午四点半,中间吃饭+两次休息30min),考虑去健身、干饭、回宿舍写做这星期的算法作业、洗澡、继续做作业、打游戏、刷一下b站、睡觉。

今日鸡汤

苦苦苦无限,
不苦苦无穷。
苦尽甘来日,
方知苦是功。

今日bgm

Rumors——ZAYN

[Acmer日志]2021/3/20星期六,天气多云,小冷相关推荐

  1. 【不忘初心】Win10_LTSC2021_19044.1381_X64_可更新[纯净精简版][2.52G](2021.11.20)

    此版可正常更新补丁,母版来自UUP WIN10_LTSC2021 19044.1288集成补丁到19044.1381为了保证稳定初心的系统全部都是离线精简和优化,非二次封装.系统纯净.流畅.进程少无任 ...

  2. 市面上主流编辑器介绍(2021/05/20)

    市面上主流编辑器介绍(2021/05/20) 背景 Markdown是一种有用的轻量级标记语言,后续Markdown简写为md. 富文本编辑器(Rich Text Editor,RTE)是一种可内嵌于 ...

  3. PowerBI视觉对象共计271组,2021.01.20日更新

    PowerBI视觉对象共计271组,2021.01.20日更新 内容包含导入文件和图标.预览图.文件名一致,在预览图内找到合适的可以直接在视觉对象文件夹搜索 下载地址:点击下载 超便宜 或者复制链接打 ...

  4. 2021.05.20最少数量的箭引爆气球

    2021.05.20最少数量的箭引爆气球 题目描述 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以纵坐标并不重要,因此只要知道开始和 ...

  5. 普转题比赛2021/7/20

    普转题比赛2021/7/20 射命丸文 考试ing 正解 帕秋莉·诺蕾姬 考试ing 雾雨魔理沙 考试ing 正解 伊吹萃香 考试ing 正解 知道这次是老刘出题就有一种不祥的预感,毕竟之前他出题的时 ...

  6. 日志2021年11月

    2021.11.2 1.CDD问题 车辆静止时纵向加速度传感器不为零,在程序中已添加偏移量96,但相同代码26日数据正常,27日有异常,需要后续跟进. 2.长安新能源测试报告 功能开,测试了AYC所有 ...

  7. GMOJ - 2021.07.20【普及组】模拟赛C组 - 排座椅(seat)、传球游戏(ball)、立体图(drawing)、间谍派遣、seek

    文章目录 luogu博客链接 GMOJ - 2021.07.20[普及组]模拟赛C组 - 排座椅(seat).传球游戏(ball).立体图(drawing).间谍派遣.seek T1 排座椅(seat ...

  8. 记第一次Python数据分析练习——2018年“泰迪杯”数据分析职业技能大赛B题(2021/5/20)

    文章目的 本人目前是应用统计专业大二(2021/5/20)的本科生,上学期上过Python课,但说实话讲的不深,过了一个学期也基本上忘光了. 最近深刻地觉得计算机专业真是好啊,以后我也要当程序员.JP ...

  9. 尚硅谷——谷粒商城项目开发记录——2021.11.20

    尚硅谷--谷粒商城项目开发记录--2021.11.20 概念: 1.SpringCloud Alibaba: 简介: Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此 ...

最新文章

  1. MATLAB数据处理快速学习教程
  2. c++计算eigen随笔(1)
  3. lumanager mysql密码_LuManager单独安装mysqli
  4. ALLyeSNO 优化版浩方 第二版 Ver 2007 06 15 清除广告 自动挤房间
  5. python特征工程插件_python特征工程
  6. opensource项目_最佳Opensource.com:科学
  7. OpenShift Security 16 - 用 RHACS 为加固应用镜像安全提供线索
  8. C语言 signal
  9. rtorrent -- PT机的下载利器
  10. 联想笔记本大写提示软件_联想威6 2021款怎么样?值得买吗?下面几点或许可以帮到您...
  11. 【数电】数电基础知识
  12. Win10系统安装office后excel等文件图标显示异常
  13. java计算机毕业设计文档资料管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  14. RK3399调试支持以太网
  15. 交叉编译Qt5.9.6
  16. SEO站内词库布局与关键词搜索排名秘诀
  17. 不重不漏的分析方法:MECE分析法
  18. 学校计算机室上机记录,学生上机记录表
  19. 电子邮件管理系统 android,IM800电子邮件管理系统
  20. JSR303后端校验详解

热门文章

  1. 在英语聊天室看见的一段恶搞
  2. 模型加速:深度学习模型的硬件加速:NVIDIAT240
  3. 射频链路学习-第一讲 射频通信系统
  4. js回车换成br标签(<br/>)
  5. godoc安装与自动生成API文档
  6. c语言字符串二维数组如何赋值,C语言二维数组字符串的赋值
  7. 使用Render Texture制作游戏中的摄像头
  8. 上传图片并将图片展示在页面中
  9. bipartite matching二分图匹配
  10. 移动端1px像素问题及解决办法