数据结构
数据结构
zhujunhuan?
全宇宙第一帅,第一强,第一牛,第一(此处省略100000000000000000000000000000000个夸人的词语)
展开
-
c++普通平衡树(treap)模版,板子
treap模版原创 2022-08-11 10:33:12 · 267 阅读 · 0 评论 -
c++线段树
如题,已知一个数列,你需要进行下面两种操作:第一行包含两个整数 n,mn, mn,m,分别表示该数列数字的个数和操作的总个数。第二行包含 nnn 个用空格分隔的整数,其中第 iii 个数字表示数列第 iii 项的初始值。接下来 mmm 行每行包含 333 或 444 个整数,表示一个操作,具体如下:输出包含若干行整数,即为所有操作 2 的结果。样例输出 #1提示对于 30%30\%30% 的数据:n≤8n \le 8n≤8,m≤10m \le 10m≤10。对于 70%70\%70% 的数据:n≤原创 2022-07-09 20:54:56 · 239 阅读 · 0 评论 -
c++单调队列P3512 [POI2010]PIL-Pilots
原题网址:P3512#include<bits/stdc++.h>using namespace std;const int N = 3e6 + 10;int a[N];int ddd[N];//单调队列最大值int ddx[N];//单调队列最小值int n, k;int len;int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> k >> n; for原创 2022-02-21 20:43:05 · 453 阅读 · 0 评论 -
树状数组C++
思路没什么好说的直接上模版P3374:#include<bits/stdc++.h>using namespace std;const int N = 5e5 + 10;int n, m;int a[N];int s[N];int LLLOOOWWWBBBIIITTT (int x) { return x & (-x);}void Jia (int x, int y) { for (; x <= n; x += LLLOOOWWWBBBIIITTT (x原创 2022-02-10 19:01:08 · 485 阅读 · 0 评论 -
字符串哈希(哈希模版)
详细题目见洛谷P3370字符转哈希map做法(不要脸做法)#include<bits/stdc++.h>using namespace std;const int N = 1e4 + 10;string a[N];map <string, bool> m;int ans = 0;int main() { int n; scanf ("%d", &n); for (int i = 1; i <= n; i++) cin >> a[i];原创 2021-11-12 10:24:35 · 235 阅读 · 0 评论 -
c++csp-2021营业额统计
详细题目见洛谷P2234题目描述Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger 拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。经济管理学上定义了一种最小波动值来衡量这种情况:当最小波动值越大时,就说明营业情况越不稳定。原创 2021-11-11 19:55:25 · 642 阅读 · 0 评论 -
[CSP-J 2021] 小熊的果篮
今年普及组复赛好水,模拟250轻轻松松题目见小熊的果篮这题不就是链表吗?水的要死#include<bits/stdc++.h>#define N 200005using namespace std;struct Info { int x, pre, nxt;};Info a[N];int h[N];vector <int> v[2];int main() { int n; scanf ("%d", &n); for (int i = 1; i &原创 2021-11-12 11:02:07 · 1727 阅读 · 2 评论 -
二叉树问题(lca)
题目见:洛谷P3884#include<bits/stdc++.h>using namespace std;struct trees { int Left, Right, Father;};const int N = 110;trees a[N];int depth[N];int layer[N];bool h[N];void dfs (int x, int dep) { if (x == 0) return; depth[x] = dep; layer[dep]+原创 2021-11-11 20:31:50 · 333 阅读 · 0 评论 -
c++求先序排列 [NOIP2001 普及组]
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度 len≤8)。输入格式22行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式11行,表示一棵二叉树的先序。输入输出样例输入 #1BADCBDCA输出 #1ABCD#include<bits/stdc++.h>using namespace std;string a, b;int len;void dfs (int zhong, int zhlen, int原创 2021-11-11 18:27:36 · 367 阅读 · 0 评论 -
淘汰赛(二叉树)
有 2^n (n≤7) 个国家参加世界杯决赛圈且进入淘汰赛环节。我经知道各个国家的能力值,且都不相等。能力值高的国家和能力值低的国家踢比赛时高者获胜。1 号国家和 2 号国家踢一场比赛,胜者晋级。3 号国家和 4 号国家也踢一场,胜者晋级……晋级后的国家用相同的方法继续完成赛程,直到决出冠军。给出各个国家的能力值,请问亚军是哪个国家?输入格式无输出格式无输入输出样例输入 #134 2 3 1 10 5 9 7输出 #11#include<bits/stdc++.h>usi原创 2021-11-11 18:51:33 · 614 阅读 · 0 评论 -
c++stack栈的练习
1.后缀表达式所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。输入格式一行:一个字符串输出格式一行:对应的值输入 #13.5.2.-*7.+@输出 #116#include<bits/stdc++.h>#define N 1005usin原创 2021-11-08 19:55:04 · 123 阅读 · 0 评论