- gf25008 的博客
《GF日记》——试卷——CSP-j 2023 学习笔记
- @ 2025-9-14 20:27:55
CSP-j 2023
一,选择题
1.
为无符号类型
为常量
为全局变量控制前缀,保持每次定义的原值
使用于类中
2.
3.
联合体/共用体:
所有内容共用内容之中最长一个的空间
插入:
引用:
函数:
传值调用 // %
传址
引用调用
指针变量:
*;
表示指向一个地址:
&; //&取地址符;
当:
;
//输出的是的内容;
当:
cout<<(*p); //输出的是p指向的地址中的内容;
指向指针的指针:
**;
例:
int a=3;
int *p=$a; //引用a的地址
cout<<a<<endl;
cout<<(&a)<<endl;
cout<<p<<endl;
cout<<(*p)<<endl; //=a
输出:
引用:
例:
int a;
void num(int &x){ //&x为引用
cout<<x;
return ;
}
int main(){
a=25008;
num(a);
return 0;
}
输出:
4.
链表:
方法:
画图
结构:
双向链表:
前指针 //指向前节点的后指针 数据 后指针 //指向后节点的前指针,末尾为
单向链表:
数据 | 后指针 //指向后节点的数据的地址,末尾为
5.
三叉树:
个数:
//根节点为层;
层数;
6.
枚举:
选一节:
————
选二节:
————————
选三节:
———————
规律:
我是谁 :方案数
我从哪里来?
边界值
7.
略
8.
前缀:
^
转化过程:
^
中缀:
(6 - ( 2 + 3 ) * 3 + 8 / 2 ) ^ 2 + 3
9.
八转二
10.
哈夫曼:
贪心算法
非前缀编码
11~14.
略
二,阅读程序
1.程序一
海伦公式
2.程序二
动态规划
Vector:
一维:
Vector<int> a;
a.push_back(数) //增加内存并将数存入
二维:
Vector<vector<int>> a;
a.push_back(数组) //增加内存并将数组存入
填表法
3.程序三
画图
三,完善程序
1.程序一
二分查找:
通过查找,结束查找
再根据题目填空
2.程序二
动态规划
完善程序 答题技巧:
判定题型
判断选项,排除法
选项带入代码,判断,蒙
变成程序阅读题,判断可行性
自行迭代,运行,判断对错
原文:
# CSP-j 2023
## 一,选择题
### 1.
$unsigned$ 为==无符号==类型
$const$ 为==常量==
$static$ 为==全局变量控制前缀==,保持==每次定义的原值==
$mutable$ 使用于==类==中
### 2.
$(八进制)$
$12345670$
$07654321$
$—————$
$22222211$
### 3.
$union$ 联合体/共用体:
所有内容==共用==内容之中==最长一个==的空间
### 插入:
#### 引用:
##### 函数:
传值调用 // $95$%
传址
引用调用
##### 指针变量:
$int$ *$p$;
表示==指向一个地址==:
$p=$&$a$; //&$=$取地址符;
###### 当:
$cout<<p$;
//输出的是$p$的内容;
###### 当:
cout<<(*p);
//输出的是p指向的地址中的内容;
##### 指向指针的指针:
$int$ **$q$;
##### 例:
```cpp
int a=3;
int *p=$a; //引用a的地址
cout<<a<<endl;
cout<<(&a)<<endl;
cout<<p<<endl;
cout<<(*p)<<endl; //=a
```
##### 输出:
$3$
$0x6ffelc$
$0x6ffelc$
$3$
#### 引用:
##### 例:
```cpp
int a;
void num(int &x){ //&x为引用
cout<<x;
return ;
}
int main(){
a=25008;
num(a);
return 0;
}
```
##### 输出:
$25008$
### 4.
#### 链表:
##### 方法:
画图
##### 结构:
###### 双向链表:
**前指针** //指向**前节点的后指针** $|$ 数据 $|$ **后指针** //指向**后节点的前指针**,**末尾**为 $null$
###### 单向链表:
数据 | **后指针** //指向**后节点的数据的地址**,**末尾**为 $null$
### 5.
#### 三叉树:
##### 个数:
//根节点为$1$层;
$3$<sup>层数$-1$</sup>;
### 6.
#### 枚举:
##### 选一节:
$1$ $2$ $3$ $4$ $5$ $6$ $7$———— $7$
##### 选二节:
$14$ $15$ $16$ $17$
$25$ $26$ $27$
$36$ $37$
$47$———————— $10$
##### 选三节:
$147$——————— $1$
#### 规律:
$1/$我是谁 $d[i]$:方案数
$2/$我从哪里来?
$d[i]+=d[i-3]$
$d[i]+=d[i-1]$
$d[i]=d[i-3]+d[i-1]$
$3/$边界值
$d[1]=2$
$d[2]=3$
$d[3]= 4$
### 7.
略
### 8.
#### 前缀:
$6$ $2$ $3$ $+$ $-$ $3$ $8$ $2$ $/$ $+$ $*$ $2$ ^ $3$ $+$
##### 转化过程:
$[$ $6$ $-$ $($ $2$ $+$ $3$ $)$ $]$ $*$ $[$ $3$ $+$ $8$ $/$ $2$ $]$ ^ $2$ $+$ $3$
#### 中缀:
(6 - ( 2 + 3 ) * 3 + 8 / 2 ) ^ 2 + 3
### 9.
#### 八转二
### 10.
#### 哈夫曼:
$1/$==贪心==算法
$2/$==非前缀==编码
### 11~14.
略
## 二,阅读程序
### 1.程序一
#### ==海伦公式==
### 2.程序二
#### ==动态规划==
##### Vector:
###### 一维:
```cpp
Vector<int> a;
a.push_back(数) //增加内存并将数存入
```
###### 二维:
```cpp
Vector<vector<int>> a;
a.push_back(数组) //增加内存并将数组存入
==填表法==
### 3.程序三
#### 画图
## 三,完善程序
### 1.程序一
#### 二分查找:
$1.$通过$l,r,check$查找,$l>r$结束查找
$2.$再根据题目填空
### 2.程序二
#### 动态规划
### 完善程序 答题技巧:
$1.$判定==题型==
$2.$判断选项,==排除法==
$3.$选项==带入代码==,判断,蒙
$4.$变成程序阅读题,==判断可行性==
$5.$自行==迭代,运行,判断对错==