数据结构
文章平均质量分 55
数据结构
Chastelovee
这个作者很懒,什么都没留下…
展开
-
HDU 1166 敌兵布阵(树状数组+单点修改+区间查询)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166HDU 1166 敌兵布阵(树状数组+单点修改+区间查询)题意思路代码题意 有n个工兵营地,每个营地初始有初始的人数,接下来有四种操作:Add i j,i和j为正整数,表示第i个营地增加j个人Sub i j ,i和j为正整数,表示第i个营地减少j个人Query i j ,i和j为正整数,i<=j原创 2021-05-07 23:18:44 · 194 阅读 · 0 评论 -
PTA L2-011 玩转二叉树 (25 分)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805065406070784L2-011 玩转二叉树题意思路代码题意 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。思路 &原创 2021-04-23 22:33:32 · 485 阅读 · 0 评论 -
PTA L2-035 完全二叉树的层序遍历(25分)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/1336215880692482058L2-035 完全二叉树的层序遍历题意思路代码题意 给一个完全二叉树的后序遍历结果,输出此二叉树层序遍历的结果。思路 用结构体数组模拟树结构,根据后原创 2021-04-23 16:21:03 · 573 阅读 · 0 评论 -
2020 浙江省赛 E. Easy DP Problem(主席树)
题目链接:http://codeforces.com/gym/102770/problem/E2020 浙江省赛 E. Easy DP Problem题意思路代码题意 题目给出一个dp的方程,然后给出q个询问,每个询问有三个变量l,r,k,选择a[l ~ r]作为b数组,问dp[r−l+1][k]dp[ r − l + 1][k]dp[r−l+1][k]的值是多少。思路经过简单的模拟分析,容易发现最终的原创 2021-04-14 19:08:01 · 532 阅读 · 0 评论 -
2020 浙江省赛 B. Bin Packing Problem(线段树+map)
题目链接:https://codeforces.com/gym/102770/problem/B2020 浙江省赛 B. Bin Packing Problem题意思路代码题意有n个物品,每个物品的容量为a[i],有一种箱子(无数个),每个箱子的容量为c,将物品装入箱中,按照如下装法,请问最少各需要多少个箱子:第一种:每次选择从前往后找到第一个余下空间能够装下当前物品的箱子,把物品装入其中,若没找到,则增加一个箱子,将物品装入增加的箱子中。第二种,每次选择余下空间最小的且能装下当前物品的箱子,若原创 2021-04-13 22:27:42 · 598 阅读 · 0 评论 -
2020 浙江省赛 I. Invoking the Magic (并查集+离散化)
题目链接:https://codeforces.com/gym/102770/problem/II. Invoking the Magic题意思路代码题意 给n对袜子,每个袜子对应一个颜色,颜色用一个数字表示,保证这2n个数一定由n个不同的数各出现两次构成。将这些袜子分成若干组,使得每组内出现的数都在改组内出现恰好两次。最后最小化最大的组包含的袜子对数。思路问题可以转化为用并查集求各个连通块内包含的结点原创 2021-04-13 11:02:38 · 691 阅读 · 0 评论 -
Codeforces Round #442 (Div. 2) E. Danil and a Part-time Job(线段树+dfs序建树)
题目链接:https://codeforces.com/problemset/problem/877/E#这里写目录标题题意思路代码题意 给你一棵n个结点的树,每个结点代表一盏灯,灯只有亮和灭两种状态。现在只有两种操作get和pow,其中get操作是获取某个结点及其子树内的所有结点中灯亮的个数,而pow操作是将某个结点及其子树中的所有节点的灯的亮灭状态转换(亮变成灭,灭变成亮)。思路  原创 2021-03-31 00:12:05 · 130 阅读 · 0 评论 -
HDU1556 Color the ball(线段树模板+lazy标记)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556思路比较明显的线段树模板题,建立线段树进行维护区间修改和区间查询,需要打lazy标记,本题采用线段树结构体的写法。代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;const int maxn = 1e5+10;struct node{ i原创 2021-03-30 22:03:40 · 102 阅读 · 0 评论 -
数据结构:ST表——解决RMQ问题
RMQRMQ 是英文 Range Maximum/Minimum Query 的缩写,表示区间最大(最小)值。该类问题的解决方法有ST表,线段树等。题目引入洛谷ST表模板题题目大意给定nnn个数,有mmm个询问,对于每个询问,你需要回答区间[l,r][l,r][l,r]中的最大值。具体实现过程预处理部分,令dp[i][j]dp[i][j]dp[i][j]表示区间[i,i+2j−1][i,i+2^j-1][i,i+2j−1]的最大值,显然dp[i][0]=aidp[i][0]=a_idp[i原创 2021-02-16 18:30:28 · 264 阅读 · 0 评论