-
个人简介
我的主页
普及组笔记**:**
目录:
- 递归
- 深搜
- 广搜
- 链表
递归**:**
定义:
函数的自我调用。
思路:
在n个相同连续的小问题中,能用函数解决当前问题,就用此函数解决上一个问题、下一个问题。
例题:
2、递归求等差数列
3、递归求等比数列
深搜(dfs):
思路:
不断向下进行搜索,直到不满足条件时,返回上一层。
Code:
#include <bits/stdc++.h>
using namespace std;
void dfs(参数){
** **if(终止条件){
** **return ;
** **}
** **执行语句
** **dfs(参数);
}
int main(){
** **dfs(参数);
** **return 0;
}
例题**:**
广搜(bfs):
思路:
将当前位置可达到的所有位置入栈,并遍历栈。
Code:
#include <bits/stdc++.h>
using namespace std;
struct Node{
** **int pos,cnt;
};
queue q;
void bfs(int pos,int cnt){
** **Node h,t;
** **t={pos,cnt};
** **q.push(t);
** **while(!q.empty()){
** **h=q.top();
** **q.pop();
** **pos=h.pos;
** **cnt=h.cnt;
** **for(int i=1;i<=4;i++){
** **npos=……;
** **ncnt=……;
** **if(满足条件){
** **cout<<npos<<" "<<ncnt<<endl;
** **return ;
** **}
** **if(入栈条件){
** **q.push(npos,ncnt);
** **}
** **}
** **}
}
int main(){
** **bfs(pos,cnt);
** **return 0;
}
例题:
1.细胞数量
2.填涂颜色
二分:
定义:
顾名思义,每次取中间的那个值。
Code:
bool check(int x){
** **return 条件;
}
int main(){
** **while(l<=r){
** **int mid=l+r>>1;
** **if(check(mid)){
** **cout<<mid;
** **break;
** **}
** **}
}
链表**:**
特点**:**
插入、删除速度快,O(1)。 访问速度慢,O(n);
插入:
在i后面插入x。
Code:
单向链表**:**
struct Node{
** int nxt; **
};
lst[x].nxt=lst[i].nxt;
lst[i].nxt=x;
双向链表:
struct Node{
** int nxt,pre; **
};
lst[x].nxt=lst[i].nxt;
lst[lst[i].nxt].pre=x;
lst[lst[lst[i].nxt].pre].pre=i;
lst[i].nxt=x;
删除:
在将i后面的x删掉。
单向链表:
struct Node{
** int nxt; **
};
lst[i].nxt=lst[lst[i].nxt].x=nxt;
双向链表:
struct Node{
** int nxt,pre; **
};
lst[lst[lst[i].nxt].nxt].pre=i;
lst[i].nxt=lst[lst[i].nxt].nxt;
例题:
1.单向链表
2.词链
模拟:
例题:
1.聊天流量
2.数轴旅游
lambda函数**:**
定义**:**
函数里的函数。
Code:
int main(){
** **auto 函数名=[&] (参数){
** **执行语句;
** **};
}
增强for循环:
思路:
将数组中的每一个数都赋值给一个变量,并遍历这个变量。
Code:
for(auto i : 数组){
** **//将数组中的数赋值给i,并遍历
}
重载运算符:
思路:
重新定义运算符。
Code:
friend auto operator 符号 ( 变量1,变量2){
** **return 条件;
}
好题
-
最近活动
- 2024.12.1日图灵提高组月赛补题 作业
- 2024.12.1日图灵普及组月赛补题 作业
- 2024.11.22 ~ 11.24 提高组第三周周赛补题 作业
- 2024.11.22 ~ 11.24 提高组第三周周赛 OI
- 2024.11.8 ~ 11.10 普及组第一周周赛 OI
- 2024.11.15 ~ 11.17 提高组第二周周赛补题 作业
- 2024.11.8 ~ 11.10 提高组第一周周赛补题 作业
- 2024.11.8 ~ 11.10 提高组第一周周赛 IOI
- 10.25 CSP-J 模拟赛补题 作业
- 2024.10.25 图灵 CSP-J 考前模拟 ACM/ICPC
- 2024.10.20 普及组 10 月月赛 - 补题场 作业
- 2024.10.20图灵编程CSP-J模拟赛 ACM/ICPC
- 10.13普及组模拟赛补题场 IOI
- 2024.10.13 图灵 CSP-J 赛前第二次训练赛 ACM/ICPC
- 2024.9.30 图灵 CSP-J 普及组 试题 ACM/ICPC
- 2024年8月29日 CSP-J初赛模拟 OI
- 2024年8月22日CSP-J初赛模拟赛 OI
- 历年CSP初赛真题 作业
- 2024年8月16日CSP-J初赛模拟赛 OI
- 2024.8.5普及集训第三天(追光班) IOI
- 2024.8.4普及集训第二天(追光班) IOI
- 2024.8.3普及集训第一天(追光班) IOI
- 2024年8月2日 初赛练习(6)【普及组】 OI
- 2024年7月5日 初赛练习(2)【普及组】 OI
- 2024 六月 图灵初赛月赛 - 普及组 作业
- 2024年6月第二场周赛 普及组-补题 作业
- 2024年6月第一场周赛 普及组-补题 作业
- 2024图灵5月月赛 - 普及组 作业
- 2024 图灵五月月赛 - 普及组 ACM/ICPC
- 2024.5.9周赛补题-普及组 作业
- 2024.5.12 市北区市赛前集中提高训练 - 小学组 OI
- 2024 图灵4月月赛 - 普及组 OI
- 2022-2023年市北区区赛历年真题 - 初中组 IOI
- 2024.3.31 图灵三月月赛 - 普及组 补题场 作业
- 图灵三月月赛 - 普及组 赛题 ACM/ICPC
- 2024年3⽉第三场周赛-入门/提高 IOI
- 2024.3.18 周赛补题-普及/提高 作业
- 2024年3⽉第二场周赛-入门/提高 IOI
- 2024.3.11 周赛补题-入门/提高组 作业
- 2024年3⽉第⼀场周赛-入门/提高 IOI
- 2024 新春贺岁 思维模拟赛 div.2 ACM/ICPC
- 2023.4.8 青岛市图灵编程杯 周赛补题场 作业
- 2023.3.25 青岛市图灵编程杯 周赛 IOI
- 2023.3.18 青岛市图灵编程杯 周赛补题场 作业
-
Stat
-
Rating