bdfz_2024_summer/README.md
2024-08-16 17:06:26 +08:00

123 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# bdfz_2024_summer
# 竞赛的一些方法
1. 真正难的地方是通过题目给的信息和性质推出要用的算法
# 题目经验总结
## Day2
### [U111091 区间2段覆盖](./day2/U111091/U111091.md)
1. 不要以小单位的路段为前缀和最小单位,要以房屋为前缀和最小单位
### 排序
#### 稳定性
>隔着老远swap一般不稳定
>稳定:插入,归并,冒泡
## Day3
### [U86432 捞鱼(fish)](./day3/U86432/U86432.md)
1. 数据离散化是指把数据只保留有用的东西,在本题当中指的是把数据排序后保存顺序关系,让内存数组可以少一些
2. 看到哪个东西的数据量最少,实在不行就从那个东西下手
### [T490194 还原排列](./day3/T490194/T490194.md)
1. 学会使用`bool next_permutation(begin,end)` 进行排列组合没有下一个组合时会返回false下面是一个示例
```cpp
#include<bits/stdc++.h>
using namespace std;
typedef unsigned int u32;
ostream& operator<<(ostream &os,const vector<int> &v){
os<<"vector<int> [";
for(u32 i=0;i<v.size();i++){
os<<v[i]<<(i!=v.size()-1?",":"]");
}
return os;
}
int n;
int main(){
cin>>n;
vector<int> v(n);
for(int &i:v){
cin>>i;
}
cout<<"v:"<<v<<endl;
while(next_permutation(v.begin(),v.end())){
cout<<"v_pered"<<v<<endl;
}
}
```
## Day4
### [T435167 01 Sort](./day4/T435167/T435167.md)
#### 通过异色中转
#### 环
## Day5
### 需要学习的点
#### 区间最值
#### 弄懂分数取模出现很大的数字是什么鬼、
1. >费马小定理
2. >逆元
```cpp
// a/b%M
ll _ksm(ll a, ll b,ll M){
ll res = 1;
while(b) {
if(b & 1)
res = res * a % M;
a = a * a % M;
b >>= 1;
}
return res;
}
ll ksm(ll a,ll b,ll M){
return a * _ksm(b, M - 2,M) % M;
}
```
### 比赛疑问
#### [公平的竞争fair](./day5/statement.pdf)
##### $x=2+ {{x}\over{4}}$ => $x = {{8} \over 3}$是怎么得出来的
### [RMQ 区间最值问题](./day5/RMQ_by_chat.md)
>点击跳转
[自己手动实践](./day5/RMQ/st.cpp)
## Day6
[CSP-S1 模拟赛.pdf](./day6/CSP-S1%20模拟赛.pdf)
>??:4.13.14.20.21
### T9
1. 先与后或先&后|
### 快速幂学习笔记
[cpp模板](./day6/binaryExponentiation/binaryExponentiation.cpp)
## Day7
### 离线算法和在线算法
>有预处理和没有预处理的区别
### 逆元:学习笔记
[markdown](./day7/inverse/inverse_by_chat.md)
[pdf](./day7/inverse/inverse_by_chat.pdf)
### 线段树:学习笔记
[mardown](./day7/SegmentTree/SegmentTree.md)
[pdf](./day7/SegmentTree/SegmentTree.pdf)
### 待学:
>扫描线
>矩阵乘法
## Day9
### 字典树与异或极值
### [U88589](./day10/U88589/U88589.pdf)
> 值域线段树,线段树维护一个桶
## Day11
[树状数组MD](./day11/FenwickTree/FenwickTree.md)
[树状数组PDF](./day11/FenwickTree/FenwickTree.pdf)
## Day12
>二分图染色BFS遍历
## Day13
>单调队列