棋盘挑战
Original Link 思想: DFS。 注意棋盘的每一行,每一列及其有棋子存在的对角线的平行线上有且只有一个棋子。 递归处理,每一次递视为一次对是否放置棋子的判断,递归的层数视为棋盘的层数,每一层只能放置一个棋子。 对于递归的每一层,遍历这层棋盘的格子,判断以该格子的列和对角线的平行线上是否存…
数组操作
Origional Link 思想: 贪心,模拟。 首先对数组进行从小到大排序,再找到第一个 a[idx] != 0 的位置。 对于每次询问,以 base 记录当前数组已经减去的总值,判断时应当计算当前元素与 base 的差值。 若 a[idx] - base > 0 说明需要将后续所有元素减…
货仓选址
Origional Link 思想: 贪心。 设仓库选址最佳处为 $P$,此时在该位置左侧存在 $m$ 个货仓,右侧存在 $n$ 个货仓,总距离为 $L$。 若更改货仓位置为 $P-1$,则总长度变为 $L - m + n$。 若更改货仓位置为 $P + 1$,则总长度变为 $L + m - n$。…
浅谈 C/C++ 的输入输出
0. 叠甲,过 本人水平有限,语言组织能力低下,不保证绝佳的阅读体验,也不保证内容完全准确,如有错误和建议,欢迎指出。才怪。 1. 谈谈输入输出缓冲区 1.1 基本概念 你先别急,我知道你很急,但是别急,所以你先别急。 在了解输入输出输出缓冲区时,需要明确以下几个基本概念: 输入输出流 标准输入输出…
ABC的整除问题
原题链接 描述: 给定三个非负整数 $A,B,C$,且保证 $A\le B,C\ne 0$,求在区间 $[A, B]$ 中,存在多少个整数可以被 $C$ 整除? 输入格式: 第一行,一个整数 $T$,代表 $T$ 个测试样例。 接下来 $T$ 行,每行给出三个非负整数 $A,B,C$。 输出格式: …
最小正整数
Original Link 思想: 最大公约数和最小公倍数。 要求构造出的数末尾包含 $k$ 个 $0$,且可以被 $n$ 整除的最小整数; 则构造出的数必然也可以被 $10^k$ 整除,满足同时被 $n$ 和 $10^k$ 整除, 显然,该数为 $n$ 和 $10^k$ 的最小公倍数时即可满足条件…
寻找变化前的01序列
Original Link 思想: 模拟 用 res 记录出现的连续的 $1$ 的个数: 若出现 s[i] == '0' 则将其置零。 若 res == 5 则不输出任何内容。 其他情况下直接输出 s[i] 代码: #include <bits/stdc++.h> u…
青蛙跳
Origional Link 思想: 思维。 青蛙一共跳了 k 次,则: 当 k 为奇数时,向右边跳了 k / 2 + 1 次,向左边跳了 k / 2 次。 当 k 为偶数时,向右边跳了 k / 2 次,向左边跳了 k / 2 次。 代码: #include <bits/stdc++.h>…
数据库系统:2. 关系数据库
提出关系模型的是美国 IBM 公司的 E.F.Codd: 1970年提出关系数据模型,之后,提出了关系代数和关系演算的概念。 1972年提出了关系的第一、第二、第三范式。 1974年提出了关系的 BC 范式。 2.1 关系数据结构及形式化定义 按照数据模型的三个要素: 关系模型由关系数据结构; 关系…
计算机组成原理:3. 系统总线
在第一章中,我们分别了解了构成计算机的硬件,若要使得计算机正常工作,必须通过线路将各个器件进行连接,连接方式不同,对计算机工作的影响也不同。 3.1 总线的基本概念 3.1.1 总线的定义 计算机系统的五大部件之间的互连方式有两种: 分散连接:各部件之间使用单独的连线,以运算器为中心; 总线连接:将…