- 博客(171)
- 收藏
- 关注

原创 PAT-2021年冬季考试(满分)
PAT-2021年冬季考试 - Advanced Level贴贴这次满分的代码7-1 Fake News (20 分)#include <iostream>#include <map>using namespace std;int a[10010], vis[10010];int main() { ios::sync_with_stdio(false); cin.tie(0); int n, m, x; cin >> n >> m; w
2021-12-21 19:32:08
759

原创 pat甲级2021冬季考试(满分)
满分!!!第一次参加pat甲级就满分了很开心哈哈哈,看来这几天刷题没有白费哈哈。当时那个小时%24卡了我一个多小时,差点心态没了,还好被我意识到了哈哈哈
2021-12-19 16:38:30
1171
3
原创 520 钻石争霸赛 2022(满分)
前言单身狗不就来刷刷题咯,今年比较简单文章目录前言7-1 520表白7-2 分糖豆7-3 约会App7-4 关于奇数的等式7-5 我侬数7-6 非诚勿扰7-7 新式六合彩7-8 521序列7-1 520表白在 520 这个日子里,拼题 A 请你实现一个小功能,帮助用户向自己喜欢的数字表白。输入格式:输入在一行中给出一个不超过 1000 的正整数 N,是用户最喜欢的一个数字。输出格式:在一行中按以下格式输出对 N 的表白:N! 520!输入样例:233输出样例:233! 520!
2022-05-21 00:24:41
454
原创 各种模板汇总
前言存一些自己以前写的模板,方便自己找文章目录前言一、最短路1. spfa2.二、总结一、最短路1. spfa#include <iostream>#include <cstring>#include <queue> using namespace std;const int inf = 0x3f3f3f3f, N = 2e5 + 10;int e[N], w[N], ne[N], h[N], vis[N], dis[N], ret, n, m;
2022-04-07 12:44:34
838
原创 PTA-复数四则运算 (15 分)(最简写法)
PTA-复数四则运算 (15 分)像这种四则运算模拟,这样写最简单清晰了。#include <iostream>#include <cmath>#include <cstring>using namespace std;void f(double x, double y, int t) { if(t == 1){ if(y < 0) printf("(%.1lf%.1lfi)", x, y); else printf("(%.1lf+%.1lf
2022-04-05 10:27:16
1130
原创 刷题个人笔记
前言写一些刷题中经常忘记的用法。(想到啥就更新啥)文章目录前言一、字符串篇1.多组输入,以回车结束2.stringstream (处理空格分离的字符串)3.sscanf 和 sprintf二、重载运算符1.结构体内重载一、字符串篇1.多组输入,以回车结束string s; int x;while(cin >> s >> x) { ... if(cin.get() == '\n') break;}2.stringstream (处理空格分离的字符串)st
2022-03-26 22:30:45
805
原创 二分查找算法代码详细理解
前言以前写了好多次的二分查找了,但对于一些细节感觉还是没有领悟道,比如while循环里面是否加上等号,mid是否要加一等等,每次写的时候虽然都过了,但总感觉是稀里糊涂的过的,这次特意来深度理解下二分,解决自己所有困惑的地方。(不断更新)文章目录前言一、基本框架(数组查找某个数位置)二、灵活运用(数组查找第一个 >= k 的位置)一、基本框架(数组查找某个数位置)核心代码:int l = 0, r = len - 1, ans;while(l <= r) { int mid =
2022-03-24 22:56:58
2869
原创 1155 Heap Paths (30 分)
1155 Heap Paths (30 分)#include <iostream>#include <vector>using namespace std;vector<int> v;int a[1010], n, maxn = 1, minn = 1;void dfs(int u) { if(u > n) return; v.push_back(a[u]); dfs(u * 2 + 1); dfs(u * 2); for(int i = 1;
2022-02-23 22:53:32
100
原创 1151 LCA in a Binary Tree (30 分)
1151 LCA in a Binary Tree (30 分)#include <iostream>#include <map>using namespace std;map<int, int> m;int pre[10010], in[10010], n, M, x, y;void dfs(int root, int l1, int l2) { if(l1 > l2) return; int proot = m[pre[root]], px =
2022-02-23 22:52:58
103
原创 1147 Heaps (30 分)
1147 Heaps (30 分)#include <iostream>using namespace std;int a[2010], post[1010], ret, n, m, maxn, minn;void dfs(int u) { if(u > n) return; dfs(u * 2); dfs(u * 2 + 1); post[ret++] = a[u];}int main() { cin >> m >> n; while(m-
2022-02-23 22:52:20
92
原创 1143 Lowest Common Ancestor (30 分)
1143 Lowest Common Ancestor (30 分)#include <iostream>#include <map>using namespace std;map<int,int> m;int a[10100];int main() { int n, M, x, y, t; cin >> M >> n; for(int i = 0; i < n; ++i){ cin >> a[i]; m
2022-02-23 22:51:49
104
原创 1139 First Contact (30 分)
1139 First Contact (30 分)思路有空更新#include <iostream>#include <algorithm>#include <vector>#include <map>using namespace std;struct node{ int x, y;};vector<int> v[10000];map<int, map<int, int>> m;bool cmp(n
2022-02-23 22:51:18
117
原创 1135 Is It A Red-Black Tree (30 分)
1135 Is It A Red-Black Tree (30 分)#include <iostream>using namespace std;struct node{ int val; struct node *left, *right;};int a[50], n, k; node *build(node *root, int v) { if(root == NULL){ root = new node(); root->val = v; root-&g
2022-02-23 22:50:45
96
原创 1127 ZigZagging on a Tree (30 分)
1127 ZigZagging on a Tree (30 分)思路有空更新#include <iostream>#include <queue>#include <vector>using namespace std;struct node{ int l, r, h;}a[10050];vector<int> v[40];int in[40], post[40], maxh;int dfs(int l, int l1, int l2,
2022-02-23 22:49:00
104
原创 1123 Is It a Complete AVL Tree (30 分)
1123 Is It a Complete AVL Tree (30 分)模板题#include <iostream>using namespace std;int tree[500];struct node{ int val; struct node *left, *right;};node *rotateLeft(node *root) { node *t = root->right; root->right = t->left; t->lef
2022-02-23 22:48:15
121
原创 1119 Pre- and Post-order Traversals (30 分)
1119 Pre- and Post-order Traversals (30 分)思路有空更新#include <iostream>using namespace std;int pre[40], post[40], in[40], ret, f;void dfs(int l1, int l2, int l3, int l4) { if(l1 > l2) return; if(l1 == l2){ in[ret++] = pre[l1]; return; } i
2022-02-23 22:47:38
89
原创 1115 Counting Nodes in a BST (30 分)
1115 Counting Nodes in a BST (30 分)思路有空更新#include <iostream>using namespace std;int level[1100], maxh;struct node{ int value; struct node *left, *right;};node* build(node *root, int x) { if(root == NULL) { root = new node(); root->va
2022-02-23 22:45:35
89
原创 1111 Online Map (30 分)
1111 Online Map (30 分)思路有空更新#include <iostream>#include <cstring>#include <vector> using namespace std;const int inf = 0x3f3f3f3f;vector<int> p1, p2;int map1[550][550], map2[550][550], vis[550], dis[550], fast[550], cnt[550]
2022-01-29 21:02:04
182
原创 1107 Social Clusters (30 分)
1107 Social Clusters (30 分)思路有空更新#include <iostream>#include <set>#include <algorithm>using namespace std;int fa[2500], ret[2500];set<int> s;int find(int x) { if(fa[x] == x) return x; else return fa[x] = find(fa[x]);}int
2022-01-29 21:01:00
83
原创 1103 Integer Factorization (30 分)
1103 Integer Factorization (30 分)思路有空更新#include <iostream>#include <cmath>#include <vector> using namespace std;int a[25], N, n, k, p, maxf;vector<int> b(450), ans(450);void dfs(int x, int len, int sumf, int sum) { if(len &
2022-01-29 20:59:30
209
原创 1099 Build A Binary Search Tree (30 分)
1099 Build A Binary Search Tree (30 分)思路有空更新#include <iostream>#include <algorithm>#include <queue> using namespace std;struct node{ int l, r, value;}a[200];int b[200], ret;void dfs(int x) { if(a[x].l != -1) dfs(a[x].l); a[x].
2022-01-29 20:58:53
285
原创 1095 Cars on Campus (30 分)
1095 Cars on Campus (30 分)思路有空更新#include <iostream>#include <vector>#include <map>#include <algorithm>using namespace std;struct node{ string id; int time, flag;}a[10010]; vector<node> v;map<string, int> m;
2022-01-29 20:46:07
177
原创 1091 Acute Stroke (30 分)
1091 Acute Stroke (30 分)思路有空更新#include <iostream>#include <queue>using namespace std;int dir[6][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {-1, 0, 0}, {0, -1, 0}, {0, 0, -1}};struct node{ int x, y, z;};int a[1300][130][70], vis[1300][130][
2022-01-29 20:45:23
232
原创 1087 All Roads Lead to Rome (30 分)
1087 All Roads Lead to Rome (30 分)思路有空更新#include <iostream>#include <cstring>#include <map>using namespace std;const int inf = 0x3f3f3f3f;int e[250][250], vis[250], dis[250], path[250], ret[250], cnt[250], a[250], aa[250];double a
2022-01-29 20:44:47
558
原创 1080 Graduate Admission (30 分)
1080 Graduate Admission (30 分)思路有空更新#include <iostream>#include <vector>#include <algorithm>using namespace std;struct node{ int id, ge, gi, r, admit; double avg; int ch[10];}a[40050];int b[150];vector<int> v[150]; bool
2022-01-29 20:43:41
195
原创 1076 Forwards on Weibo (30 分)
1076 Forwards on Weibo (30 分)思路有空更新#include <iostream>#include <cstring>#include <vector>#include <queue>using namespace std;vector<int> v[1050];int n, l, k, x, m, vis[1050];int bfs(int x){ int level = 0, ret = 0; q
2022-01-29 20:42:59
87
原创 1072 Gas Station (30 分)
1072 Gas Station (30 分)#include <iostream>#include <cstring>using namespace std;const int inf = 0x3f3f3f3f;int map[1050][1050], vis[1050], dis[1050];int n, m, k, ds;void dijkstra(int s){ memset(vis, 0, sizeof vis); memset(dis, inf, siz
2022-01-29 20:42:11
153
原创 1068 Find More Coins (30 分)
1068 Find More Coins (30 分)#include <iostream>#include <vector>#include <algorithm>using namespace std;const int inf = 0x3f3f3f3f;vector<int> ans;int dp[10010], v[10010], vis[10010][110]; int main() { int n, m; cin >>
2022-01-27 23:54:37
108
原创 1064 Complete Binary Search Tree (30 分)
1064 Complete Binary Search Tree (30 分)#include <iostream>#include <algorithm> using namespace std;int a[1050], tree[1050], n, ret;void dfs(int root){ if(root > n) return; dfs(root * 2); tree[root] = a[ret++]; dfs(root * 2 + 1);}
2022-01-27 23:51:17
349
原创 1057 Stack (30 分)
1057 Stack (30 分)#include <iostream>#include <stack>using namespace std;const int N = 1e5 + 10;int a[N];stack<int> s;int lowbit(int x){ return x & -x;}void add(int x, int y){ for(int i = x; i < N; i += lowbit(i)) a[i]
2022-01-27 23:47:33
88
原创 1053 Path of Equal Weight (30 分)
1053 Path of Equal Weight (30 分)思路有空更新#include <iostream>#include <algorithm>#include <vector>using namespace std;vector<int> v[1010], path[1010];int weight[1010], a[1010];int n, m, s, ret;void dfs(int x, int h, int sum) {
2022-01-27 23:40:51
94
原创 1049 Counting Ones (30 分)
1049 Counting Ones (30 分)思路有空更新#include <iostream>using namespace std;int main(){ int n, wei = 1, now, left, right, ans = 0; cin >> n; while(n / wei){ now = n / wei % 10; //此时位上数字 left = n / (wei * 10); //左边数字 right = n % wei;
2022-01-27 23:38:24
180
原创 1045 Favorite Color Stripe (30 分)
1045 Favorite Color Stripe (30 分)思路有空更新#include <iostream>using namespace std;int a[10010], vis[10010], dp[10010];int main() { int n, m, l, x, ret = 0; cin >> n >> m; for(int i = 1; i <= m; ++i){ cin >> x; vis[x] = i;
2022-01-27 23:37:49
187
原创 1038 Recover the Smallest Number (30 分)
1038 Recover the Smallest Number (30 分)思路有空更新#include <iostream>#include <algorithm>#include <vector>using namespace std;bool cmp(string a, string b){ return a + b < b + a;}int main() { int n; cin >> n; vector<stri
2022-01-27 23:37:13
62
原创 1034 Head of a Gang (30 分)
1034 Head of a Gang (30 分)思路有空更新#include <iostream>#include <map>using namespace std;map<string, string> fa;map<string, int> weight, ret, sum, ans;string find(string x){ string y = x; while(x != fa[x]) x = fa[x]; if(weight
2022-01-27 23:36:35
184
原创 1030 Travel Plan (30 分)
1030 Travel Plan (30 分)思路有空更新#include <iostream>#include <cstring>using namespace std;const int inf = 0x3f3f3f3f;int map[550][550], vis[550], dis[550], path[550];int a[550][550], sum[550];int n, m, S, D;void dijkstra(int s){ memset(di
2022-01-27 23:35:44
335
原创 1022 Digital Library (30 分)
1022 Digital Library (30 分)思路有空更新#include <iostream>#include <sstream>#include <algorithm>#include <vector>#include <map>using namespace std;map<string, vector<string> > m;int main() { int n, M, x; strin
2022-01-27 23:34:23
67
原创 7-4 Helping the Couriers (30 分)
7-4 Helping the Couriers (30 分)Gao recently took a part time job as a courier(快递员). Every time as he picks up N packages from the distribution center, he would always try to find the best way to deliver those packages so that he can finish this round as q
2021-12-23 17:21:03
574
原创 7-3 Size of Military Unit (25 分)
7-3 Size of Military Unit (25 分)记忆化搜索,每次搜存每个点#include <iostream> #include <vector>using namespace std;vector<int> v[100100];int ans[100100];int dfs(int x) { for(int i = 0; i < v[x].size(); ++i) ans[x] += dfs(v[x][i]); return
2021-12-23 16:45:42
845
原创 7-2 Rank a Linked List (25 分)
7-2 Rank a Linked List (25 分)找到-1的点,从后往前找就行#include <iostream>#include <map>using namespace std;int a[100100];map<int, int> m;int main() { int n, root, ret = 1, x; cin >> n; for(int i = 0; i < n; ++i) { cin >> x
2021-12-23 16:39:43
2412
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人