1. 结构体 1.1. 为什么有结构体 数组只能存储相同类型数据项的变量,实际生活中一类物体的各个数据参数类型大概率不相同。结构体使我们描述物体更加全面准确。 1.2. 什么是结构体 结构体是一种用户自定义的可用的数据类型,它允许用户存储不同类型的数据项。 举个例子,我们定义一个学生数据类型,这个类型包含该学生的年龄、身高、体重、名字。用C语言表示…
浅谈状态压缩 总览 状态压缩是什么 别名“二进制枚举”,核心是枚举。即将所有的情况枚举出来后对每种情况进行单独的讨论。对于每一个下标我将其称作 “非黑即白”(在某一情况中要么出现要么不出现)。 可以将其看作对数据范围小的布尔数组的压缩。但由于有位运算,使状态压缩操作起来比布尔数组简洁。(状态压缩能做的事情布尔数组都能做、只是写起来繁琐) 为什么能用…
前言 这篇文章用三道例题解释下单调栈 单调栈是什么 栈里的元素 严格或非严格 单调递增或递减 实现时要维护栈内的元素有序 例题一 Acwing1978(简单) 题目链接 https://www.acwing.com/problem/content/description/1980/ 题目 每天,农夫约翰的 N头奶牛都会穿过农场中间的马路。考虑约翰的…