07 2022 档案

摘要:位运算、离散化和区间合并 算法学习1. 位运算 1.1 使用背景 在进行位运算时,我们可以将数看为二进制数,而位运算也就是对于数特定位置的值进行运算。 1.2 例题 801. 二进制中1的个数 在找数字中的1的时候有两种常用方法。 当1<<i & x = 1时,第i位存在1 lowbit(x) = x & -x找出末位的1 参考代码 阅读全文
posted @ 2022-07-16 21:05 Dreaife 阅读(42) 评论(0) 推荐(0)
摘要:前缀和、差分和双指针 算法学习1. 前缀和 1.1 算法原理 所谓前缀和,就是记录下前方所有数据之和,当所需中间数据时,可以通过o(1)的时间复杂度将数据求出。 一维数组前缀和 求出1~i的所有项之和。 由于当运算到第i位时,前i-1位已经运算完成,故a[i] = a[i] + a[i-1]。 当需要[l,r]之和时,可以通过a 阅读全文
posted @ 2022-07-16 15:42 Dreaife 阅读(73) 评论(0) 推荐(0)
摘要:HTML学习 MDN官方文档 1. 结构 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale 阅读全文
posted @ 2022-07-15 17:58 Dreaife 阅读(98) 评论(0) 推荐(0)
摘要:Java核心技术卷 学习Day02java学习&复习,本文主要参照《Java核心技术卷》作为学习对象。 第四章 对象与类 1. 类 面向对象程序设计OOP 类:封装实例字段+方法 类>==继承(is a)/依赖(uses a)/聚合(has a)==>类 2. 预定义类 // Math // Date Date date = nul 阅读全文
posted @ 2022-07-14 04:55 Dreaife 阅读(32) 评论(0) 推荐(0)
摘要:高精度 学习记录高精度 平时我们对于加减乘除是直接使用+-*/来实现的,但当数的长度来到100、1000时,int、long long的存储范围就不够了,此时就是使用高精度的时候。 1. 高精度加法 A+B 1.1 运算原理 首先是大数之间的加法,可以模拟我们正常进行加法的步骤来进行运算。例如下图: 可以发现加法运 阅读全文
posted @ 2022-07-12 03:10 Dreaife 阅读(36) 评论(0) 推荐(0)
摘要:AcWing基础课学习 排序 1. 快速排序 1. 原理 对于一段无序的数列,若要将其排序,可以以此步骤进行: 对于一段的数列,可以先任取一点mid作为判断点。(其中mid一般为数列中点) 对于这段数列进行一次遍历,将大于mid的数放于右端,小于mid的数放于左端。 然后对于分配过的序列,选取其[l 阅读全文
posted @ 2022-07-08 02:58 Dreaife 阅读(37) 评论(0) 推荐(0)
摘要:java学习&复习,本文主要参照《Java核心技术卷》作为学习对象。 第一章 Java概述 java白皮书 简单性 面向对象 分布式 健壮性 安全性 体系结构中立 可移植性 解释型 高性能 多线程 动态性 Java applet 在网页中运行的Java程序:applet JavaScript与Jav 阅读全文
posted @ 2022-07-08 00:30 Dreaife 阅读(40) 评论(0) 推荐(0)
摘要:众所周知,github不能上传过大的文件。本人由于需将资料pdf上传备份,故参考多份博客得以解决。 对于已经将git在本地配置过的只需三步即可完成。若尚未配置好git,请先浏览其他博客完成git设置。 1 安装下载Git Large File Storage 要上传大文件首先需要获取对于git大文件 阅读全文
posted @ 2022-07-07 20:44 Dreaife 阅读(1285) 评论(3) 推荐(1)