激光炸弹
Original Link 思想: 二维前缀和。 注意空间,数组不要开 long long。 注意给出的坐标的下标是从 $0$ 开始的。 循环遍历前缀和数组,维护一个最大价值即可。 代码: #include <bits/stdc++.h> using namespace std; con…
回文日期
Origin Link 思想: 字符串模拟。 对于第一个符合要求的年份,可以暴力枚举日期进行判断。 第二个年份,需要保证 ABABBABA 的形式,则只需枚举 AB 即可。 代码: #include<bits/stdc++.h> using namespace std; int y[2]…
截断数组
Original Link 思想: 前缀和。 特殊情况: 当数组元素小于三个时,无解。 当该数组所有数之和不为 $3$ 的整数倍时,无解。 设数组均分的值为 res,循环遍历前缀和数组 a。 设 i 为分割点,若 a[i] == res,说明将 i 作为分割点有可能成立,记录分割点数量为 cnt +…
改变数组元素
Original link 思想: 前缀和与差分。 对于 a[i] 的操作,构建差分数组 b[i] 记录被操作的区间。 利用前缀和可知所有被操作的区间,即 b[i] != 0 的区间。 代码: #include <bits/stdc++.h> using namespace std; c…
计算机组成原理:1. 计算机系统概论
1.1 计算机系统简介 1.1.1 计算机软硬件概念 计算机系统由硬件和软件两大部分组成: 硬件:是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等。 软件:由人们事先编制的具有各类特殊功能的程序组成,通常存放在计算机的主存或辅存内。 计算机性能…
编译原理:2. 词法分析
词法的(Lex-i-cal):与语言的单词或词汇有关,但有别于语言的文法和结构的。 词法分析器以字符流作为输入,生成一系列的名字、关键字和标点符号,同时抛弃单词之间的空白符和注释。程序中每一点都有可能出现空白符和注释;如果让语法分析器来处理它们就会使得语法分析过于复杂,这便是将词法分析从语法分析中分…
编译原理:1. 绪论
1.1 基本概念 程序设计语言源程序的执行基本有两种方式: 翻译:使用翻译程序,将源程序翻译成为低级语言目标程序,然后执行目标程序。 解释:使用解释程序,对源程序逐个语句边解释边执行。 编译器:可以阅读以某一种语言(源语言)编写的程序,并把该程序翻译成为一个等价的、用另一种语言(目标语言)编写的程序…
AC 自动机详解
前置知识 字典树 Trie Trie 是一种能够快速插入和查询字符串的多叉树结构。节点的编号各不相同,根节点编号为0,其他节点用来标识路径还可以标记单词插入的次数。边表示字符。 支持操作 Trie 维护字符串的集合,支持两种操作: 向集合中插入一个字符串:void insert(char *s) 在…