problemscpp
A collection of my answers to algorithm problems in c++.
acwing408.h
浏览该文件的文档.
1//
2// Created by tategotoazarasi on 24-5-7.
3//
4
5#ifndef PROBLEMSCPP_ACWING408_H
6#define PROBLEMSCPP_ACWING408_H
7
8#include "templates.h"
9#include <iostream>
10#include <map>
11#include <set>
12#include <stack>
13#include <unordered_map>
14#include <unordered_set>
15#include <utility>
16#include <vector>
17
18using namespace std;
19
20namespace acwing {
21 struct TreeNode {
22 int val;
25 TreeNode(int x): val(x), left(NULL), right(NULL) {}
26 };
27
28 namespace acwing3378 {
29 typedef struct student {
30 string name;
31 int score;
33 int main(istream & /*cin*/, ostream & /*cout*/);
34 };// namespace acwing3378
35
36 namespace acwing3376 {
37 typedef struct student {
38 string id;
40 int score;
42 int main(istream & /*cin*/, ostream & /*cout*/);
43 }// namespace acwing3376
44
45 namespace acwing3374 {
46 int main(istream & /*cin*/, ostream & /*cout*/);
47 }// namespace acwing3374
48
49 namespace acwing3757 {
50 struct ListNode {
51 int val;
52 struct ListNode *next;
53 };
54 void rearrangedList(struct ListNode *head);
55 void reverse(struct ListNode *head);
56 }// namespace acwing3757
57
58 namespace acwing3607 {
59 int main(istream & /*cin*/, ostream & /*cout*/);
60 }
61
62 namespace acwing3573 {
63 int main(istream & /*cin*/, ostream & /*cout*/);
64 }
65
66 namespace acwing3302_408 {
67 int main(istream & /*cin*/, ostream & /*cout*/);
68 }
69
70 namespace acwing3766 {
71 int pathSum(TreeNode *root, int level);
72 int pathSum(TreeNode *root);
73 }// namespace acwing3766
74
75 namespace acwing148 {
76 int main(istream & /*cin*/, ostream & /*cout*/);
77 }
78
79 namespace acwing836_408 {
80 int find(int x);
81 void merge(int x, int y);
82 int main(istream & /*cin*/, ostream & /*cout*/);
83 }// namespace acwing836_408
84
85 namespace acwing18 {
86 TreeNode *rebuild(vector<int> &inorder, int in_begin, int in_end, vector<int> &preorder, int pre_begin, int pre_end);
87 TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder);
88 }// namespace acwing18
89
93 namespace acwing3786 {
94 void insert(TreeNode *&root, int x);
95 void remove(TreeNode *&root, int x);
96 int get_pre(TreeNode *root, int x);
97 int get_suc(TreeNode *root, int x);
98 int main(istream & /*cin*/, ostream & /*cout*/);
99 }// namespace acwing3786
100
104 namespace acwing149 {
105 class huff_tree {
106 public:
107 u_int64_t val;
108 u_int64_t height;
109 vector<huff_tree *> children;
110 huff_tree(u_int64_t val, u_int64_t height, u_int64_t k): val(val), height(height), children(k, nullptr) {};
111 };
112 struct Compare {
113 bool operator()(huff_tree *const &a, huff_tree *const &b);
114 };
115 int main(istream & /*cin*/, ostream & /*cout*/);
116 }// namespace acwing149
117
121 namespace acwing831_408 {
122 vector<int> get_next(string s);
123 int main(istream & /*cin*/, ostream & /*cout*/);
124 }// namespace acwing831_408
125
129 namespace acwing3385 {
130 int main(istream & /*cin*/, ostream & /*cout*/);
131 }
132
136 namespace acwing3429 {
137 void dfs(vector<char> &stk, int p, ostream &, string s);
138 int main(istream & /*cin*/, ostream & /*cout*/);
139 }// namespace acwing3429
140
144 namespace acwing858_408 {
145 // Custom hash function for pair<int, int>
146 struct pair_hash {
147 template<class T1, class T2>
148 size_t operator()(const pair<T1, T2> &p) const;
149 };
150
151 // Custom equal function for pair<int, int>
152 struct pair_equal {
153 template<class T1, class T2>
154 bool operator()(const pair<T1, T2> &p1, const pair<T1, T2> &p2) const;
155 };
156
157 // Custom comparator for tuple<int, int, int>
159 bool operator()(const tuple<int, int, int> &t1, const tuple<int, int, int> &t2);
160 };
161 int main(istream & /*cin*/, ostream & /*cout*/);
162 }// namespace acwing858_408
163
167 namespace acwing849_408 {
168 int main(istream & /*cin*/, ostream & /*cout*/);
169 }
170
174 namespace acwing854_408 {
175 int main(istream & /*cin*/, ostream & /*cout*/);
176 }
177
181 namespace acwing848_408 {
182 int main(istream & /*cin*/, ostream & /*cout*/);
183 }
184
188 namespace acwing3402 {
189 int main(istream & /*cin*/, ostream & /*cout*/);
190 }
191
195 namespace acwing3472 {
196 void dfs(vector<vector<bool>> board, int current_row, vector<string> &ans, vector<int> &ans_stk);
197 int main(istream & /*cin*/, ostream & /*cout*/);
198 }// namespace acwing3472
199
203 namespace acwing3439 {
204 int main(istream & /*cin*/, ostream & /*cout*/);
205 }
206
210 namespace acwing3379 {
211 int main(istream & /*cin*/, ostream & /*cout*/);
212 }
213
217 namespace acwing3390 {
218 int main(istream & /*cin*/, ostream & /*cout*/);
219 }
220
224 namespace acwing3397 {
225 int main(istream & /*cin*/, ostream & /*cout*/);
226 }
227
231 namespace acwing3426 {
232 bool ended(vector<int> &candy);
233 int main(istream & /*cin*/, ostream & /*cout*/);
234 }// namespace acwing3426
235
239 namespace acwing3406 {
240 struct task {
241 string name;
242 string date_time;
243 double duration;
244 string raw_line;
245 };
246 int main(istream & /*cin*/, ostream & /*cout*/);
247 }// namespace acwing3406
248
252 namespace acwing3447 {
253 int main(istream & /*cin*/, ostream & /*cout*/);
254 }
255
259 namespace acwing3820 {
260 int findMissMin(vector<int> &nums);
261 }
262
266 namespace acwing840_408 {
267 int main(istream & /*cin*/, ostream & /*cout*/);
268 }
269
273 namespace acwing3542 {
274 int main(istream & /*cin*/, ostream & /*cout*/);
275 }
276
280 namespace acwing3581 {
281 int main(istream & /*cin*/, ostream & /*cout*/);
282 }
283
287 namespace acwing785_408 {
288 void qs(vector<int> &vec, int l, int r);
289 int main(istream & /*cin*/, ostream & /*cout*/);
290 }// namespace acwing785_408
291
295 namespace acwing3504 {
296 int main(istream & /*cin*/, ostream & /*cout*/);
297 }
298
302 namespace acwing1603 {
303 int main(istream & /*cin*/, ostream & /*cout*/);
304 }
305
309 namespace acwing3527 {
310 int main(istream & /*cin*/, ostream & /*cout*/);
311 }
312
316 namespace acwing3534 {
317 Matrix getMat(vector<Matrix *> &mat, int p);
318 int main(istream & /*cin*/, ostream & /*cout*/);
319 }// namespace acwing3534
320
324 namespace acwing3535 {
325 int main(istream & /*cin*/, ostream & /*cout*/);
326 }
327
331 namespace acwing3874 {
332 int main(istream & /*cin*/, ostream & /*cout*/);
333 }
334
338 namespace acwing52 {
339 int moreThanHalfNum_Solution(vector<int> &nums);
340 }
341
345 namespace acwing3392 {
346 int main(istream & /*cin*/, ostream & /*cout*/);
347 }
348
352 namespace acwing3433 {
353 int main(istream & /*cin*/, ostream & /*cout*/);
354 }
355
359 namespace acwing3441 {
360 int main(istream & /*cin*/, ostream & /*cout*/);
361 void draw(const vector<vector<char>> &g, int n, int level, vector<vector<char>> &canvas, int x, int y, int space);
362 }// namespace acwing3441
363
367 namespace acwing2 {
368 struct status {
369 int w;
370 vector<bool> free;
371 };
372 int main(istream & /*cin*/, ostream & /*cout*/);
373 }// namespace acwing2
374
378 namespace acwing3445 {
379 struct status {
380 int v;
381 vector<bool> free;
382 };
383 int main(istream & /*cin*/, ostream & /*cout*/);
384 }// namespace acwing3445
385
389 namespace acwing3442 {
390 int main(istream & /*cin*/, ostream & /*cout*/);
391 }// namespace acwing3442
392
396 namespace acwing3382 {
397 int main(istream & /*cin*/, ostream & /*cout*/);
398 }
399
403 namespace acwing3389 {
404 int main(istream & /*cin*/, ostream & /*cout*/);
405 }
406
410 namespace acwing3448 {
411 int main(istream & /*cin*/, ostream & /*cout*/);
412 }
413
417 namespace acwing3453 {
418 int main(istream & /*cin*/, ostream & /*cout*/);
419 }
420
424 namespace acwing3380 {
425 bool add(long long n);
426 int main(istream & /*cin*/, ostream & /*cout*/);
427 }// namespace acwing3380
428
432 namespace acwing3377 {
433 int main(istream & /*cin*/, ostream & /*cout*/);
434 }
435
439 namespace acwing3507 {
440 int main(istream & /*cin*/, ostream & /*cout*/);
441 }
442
446 namespace acwing3484 {
447 int main(istream & /*cin*/, ostream & /*cout*/);
448 }
449}// namespace acwing
450
451#endif//PROBLEMSCPP_ACWING408_H
struct acwing::acwing3378::student student
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:24
struct acwing::acwing3376::student student
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:54
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:76
void reverse(struct ListNode *head)
void rearrangedList(struct ListNode *head)
Definition: acwing408.cpp:125
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:161
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:196
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:223
int pathSum(TreeNode *root)
Definition: acwing408.cpp:307
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:325
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:375
void merge(int x, int y)
Definition: acwing408.cpp:361
vector< int > root
Definition: acwing408.cpp:349
TreeNode * rebuild(vector< int > &inorder, int in_begin, int in_end, vector< int > &preorder, int pre_begin, int pre_end)
Definition: acwing408.cpp:394
TreeNode * buildTree(vector< int > &preorder, vector< int > &inorder)
Definition: acwing408.cpp:426
void remove(TreeNode *&root, int x)
Definition: acwing408.cpp:476
int get_suc(TreeNode *root, int x)
Definition: acwing408.cpp:518
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:441
int get_pre(TreeNode *root, int x)
Definition: acwing408.cpp:508
void insert(TreeNode *&root, int x)
Definition: acwing408.cpp:460
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:536
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:601
vector< int > get_next(string p)
Definition: acwing408.cpp:589
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:624
void dfs(vector< char > &stk, int p, ostream &cout, string s)
Definition: acwing408.cpp:657
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:680
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:712
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:764
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:808
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:846
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:892
void dfs(vector< vector< bool > > board, int current_row, vector< string > &ans, vector< int > &ans_stk)
Definition: acwing408.cpp:1003
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1028
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1047
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1070
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1084
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1110
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1154
bool ended(vector< int > &candy)
Definition: acwing408.cpp:1145
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1186
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1213
int findMissMin(vector< int > &nums)
Definition: acwing408.cpp:1241
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1255
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1286
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1307
void qs(vector< int > &vec, int l, int r)
Definition: acwing408.cpp:1335
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1354
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1373
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1403
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1443
Matrix getMat(vector< Matrix * > &mat, int p)
Definition: acwing408.cpp:1529
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1509
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1554
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1607
int moreThanHalfNum_Solution(vector< int > &nums)
Definition: acwing408.cpp:1679
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1702
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1719
void draw(const vector< vector< char > > &g, int n, int level, vector< vector< char > > &canvas, int x, int y, int space)
Definition: acwing408.cpp:1746
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1766
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1806
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1839
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1874
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1900
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1919
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1942
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:1976
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:2002
bool add(unsigned long long n)
Definition: acwing408.cpp:1993
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:2024
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:2052
int main(istream &cin, ostream &cout)
Definition: acwing408.cpp:2072
int vec[100010]
Definition: pat.cpp:5095
TreeNode * right
Definition: acwing408.h:24
TreeNode(int x)
Definition: acwing408.h:25
TreeNode * left
Definition: acwing408.h:23
struct ListNode * next
Definition: acwing408.h:52
huff_tree(u_int64_t val, u_int64_t height, u_int64_t k)
Definition: acwing408.h:110
vector< huff_tree * > children
Definition: acwing408.h:109
bool operator()(huff_tree *const &a, huff_tree *const &b)
Definition: acwing408.cpp:529
size_t operator()(const pair< T1, T2 > &p) const
Definition: acwing408.cpp:695
bool operator()(const pair< T1, T2 > &p1, const pair< T1, T2 > &p2) const
Definition: acwing408.cpp:703
bool operator()(const tuple< int, int, int > &t1, const tuple< int, int, int > &t2)
Definition: acwing408.cpp:708
vector< bool > free
Definition: acwing408.h:370
矩阵
Definition: templates.h:107