- huanghaoran 的博客
CSPJ初赛学习第三天
- @ 2026-7-8 10:02:02
模拟卷三分析
考情
单选目标分数:26 及以上,现分数 18
阅读程序目标分数:30 及其以上,现分数 27 分
总分数:45 / 70,至少可以提高 10 分到 55 / 70
零碎小知识
- 泛红填充算法 / 种子填充算法:基于 BFS 来实现,常用于填充/染色连通分量。
- 哈夫曼树基于贪心
- 按位异或可以用于交换两个变量的值,也可以用来判断两个变量是否相等
// 1. swap X Y
int x = 8, y = 5;
y = x ^ y;
x = x ^ y;
y = x ^ y;
// 2. x == y
if ((x ^ y) == 0)
单选专项
计算所占空间
数组是若干个相同元素的集合,每个元素的大小是唯一确定的,通常用字节(B)来表示。
| 关键字 | 大小 |
|---|---|
| int | 4B |
| long long | 8B |
| char | 1B |
| double | 8B |
数组大小 = 元素个数 元素大小
集合运算
学习blog:https://www.zhihu.com/tardis/zm/art/364688466?source_id=1005
阅读程序
第一题
分数要求:应该拿满分,目前被扣了 1.5
反省
没有完全吃透代码,只是大致了解了意思。
后面你应该这么做:
以后遇到这种题,要仔细阅读边界问题(如弹出删除之前判空,数组的最后一个位置),并在草稿纸上画图。
第二题
分数要求:应该拿满分,目前被扣了 1.5
计算粗心
第三题
应拿分数:
知识点补充
using pii = pair<int,int>表示用 pii 表示pair<int,int>- 常使用的名称有:vis(访问)、ans(答案)、tot(总数)、cnt(计数器、计数)、grid(表格),dp(动态规划)、cur(目前)、to(去),now(目前)
const表示不变量
反思
我没有读懂这道题的代码,以后看到很长,很复杂的代码,不要放弃,要理解大致意思,拿到简单题的分数(判断题做的很明显的或绝对是对的,选择题可以看出答案的,不涉及到程序功能的题或模拟题)。