From 49c9b9c6795778d36e9f534edc848229ad6454eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= <2064227687@qq.com> Date: Sat, 9 Oct 2021 09:38:49 +0800 Subject: [PATCH] 2 --- .vscode/settings.json | 18 ++++- README.md | 129 +++++++++++++++++++++++++++++++++++- tempCodeRunnerFile.cpp | 134 ++++++++++++++++++++++++++++++++++++++ tempCodeRunnerFile.exe | Bin 0 -> 61842 bytes test.cpp | 9 +++ test.exe | Bin 0 -> 99759 bytes 神奇的操作/1.cpp | 19 ++++++ 神奇的操作/1.exe | Bin 0 -> 63092 bytes 高精度/luogu_P1009.cpp | 57 ++++++++++++---- 高精度/luogu_P1009.exe | Bin 0 -> 60890 bytes 10 files changed, 351 insertions(+), 15 deletions(-) create mode 100644 tempCodeRunnerFile.cpp create mode 100644 tempCodeRunnerFile.exe create mode 100644 test.cpp create mode 100644 test.exe create mode 100644 神奇的操作/1.cpp create mode 100644 神奇的操作/1.exe create mode 100644 高精度/luogu_P1009.exe diff --git a/.vscode/settings.json b/.vscode/settings.json index 0cba2e6..9d29497 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,21 @@ { "files.associations": { - "iostream": "cpp" + "iostream": "cpp", + "ostream": "cpp", + "*.tcc": "cpp", + "bitset": "cpp", + "set": "cpp", + "random": "cpp", + "fstream": "cpp", + "functional": "cpp", + "future": "cpp", + "istream": "cpp", + "limits": "cpp", + "shared_mutex": "cpp", + "sstream": "cpp", + "streambuf": "cpp", + "regex": "cpp", + "tuple": "cpp", + "valarray": "cpp" } } \ No newline at end of file diff --git a/README.md b/README.md index 850d344..7fde662 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,36 @@ git status git add . git commit -m "" git push -u origin master + + +--- +# `# include ` ## 高精度 1. python打表 2. 高精加和高精乘 +```cpp +void pplus(int *a, int *c) +{ + int jw = 0; + for (int i = 0; i < 1000; i++) + { + c[i] += a[i] + jw; + jw = c[i] / 10; + c[i] %= 10; + } +} +void pmultiply(int *a, int c) +{ + int jw = 0; + for (int i = 0; i < 1000; i++) + { + a[i] = a[i] * c + jw; + jw = a[i] / 10; + a[i] %= 10; + } +} +``` + ## 筛法 1. 打表 @@ -59,4 +86,104 @@ void prime(int b) } } } -``` \ No newline at end of file +``` +## 矩阵旋转 +1. 找规律 + +--- +## 重定向 +```cpp +freopen(file,"r",stdin); +freopen(file,"w",stdout); +``` +## 随机数的产生 +1. 初始化随机数种子 `srand(time(NULL))` +2. rand() + + +## STL初步 +1. sort(开始,结束,比较函数) +```cpp +struct Node +{ + int a, b; +}; +Node a[100]; +bool cmp(Node a, Node b) +{ + if (a.a != b.a) + return a.a > b.a; + return a.b > b.b; +} +sort(a, a + 100, cmp); +``` + +2. 不定长数组 vector +```cpp +#include +vector a; +a.size() +a.resize() +a.push_back() +a.pop_back() +a.clear() +``` +3. 集合 set + +```cpp +#define ALL(x) x.begin(), x.end() +#define INS(x) inserter(x, x.begin()) + +set a, b; +typedef set::iterator SI; +a.insert(1); +a.count(1); +for (SI i = a.begin(); i != a.end(); i++) + ; //遍历 +set_union(ALL(a), ALL(b), INS(a)); //并集,放入a中 +set_intersection(ALL(a), ALL(b), INS(a)); //交集,放入a中 + +``` +4. 映射 map 类似python中的字典 +```cpp +map dict; +dict['r']=1;//这里dict使用的是string的方法,而dict[]使用的是int的方法 +``` +5. 栈(后进先出),队列(先进先出) +```cpp +stack s; +s.top(); +s.push(1); +s.pop(); +s.empty(); +queue x; +x.front(); +x.pop(); +x.push(1); +x.empty(); +``` +6. 优先级队列 + +```cpp +struct cmp +{ + bool operator()(const int a, const int b) + { + return a > b; + //当a>b时,返回ture,也就是说越大优先级越小 + //出队列时,先弹出小的,小的在队列top + } +}; +priority_queue, cmp> a; +a.push(1); +a.pop(); +a.top(); +a.size(); +a.empty(); +``` + +### 注意点 +1. vector作为参数或返回值时,尽量使用传引用,会改变传入的参数。或者直接全局变量,传都不要传。 +2. 结构体静态变量: static 变量名 + +--- diff --git a/tempCodeRunnerFile.cpp b/tempCodeRunnerFile.cpp new file mode 100644 index 0000000..ca80b9b --- /dev/null +++ b/tempCodeRunnerFile.cpp @@ -0,0 +1,134 @@ +#include +using namespace std; + +int main() +{ + int n; + cin >> n; + char start[10][11], end[10][11]; + for (int i = 0; i < n; i++) + cin >> start[i]; + for (int i = 0; i < n; i++) + cin >> end[i]; + int flag = 1; + for (int i = 0; i < n; i++) + for (int j = 0; j < n; j++) + { + if (start[i][j] != end[j][n - 1 - i]) + { + flag = 0; + break; + } + } + if (flag == 1) + { + cout << 1; + return 0; + } + flag = 1; + for (int i = 0; i < n; i++) + for (int j = 0; j < n; j++) + { + if (start[i][j] != end[n - 1 - i][n - 1 - j]) + { + // cout<= 0; i--) - { - while (sum[n][i] == 0) - i--; - cout << sum[n][i]; - } + display(sum[n]); return 0; } \ No newline at end of file diff --git a/高精度/luogu_P1009.exe b/高精度/luogu_P1009.exe new file mode 100644 index 0000000000000000000000000000000000000000..5a5def91bc87edd6b076e9731729999ca5e2c782 GIT binary patch literal 60890 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