
数据结构
文章平均质量分 80
做不完的ACM
加油,努力
展开
-
Splay树模板BZOJ3224
#include using namespace std;const int N = 1E5 + 7;int size[N], cnt[N], key[N], ch[N][2], f[N];int sz, rt;void clear(int x) {cnt[x]=size[x]=key[x]=ch[x][0]=ch[x][1]=f[x]=0;}int get(int原创 2018-01-11 10:03:52 · 185 阅读 · 0 评论 -
CCCP_2016四省 HDU5925
#include <bits/stdc++.h>using namespace std;using ll = long long ;const int dirx[] = {0, 0, 1, -1};const int diry[] = {1, -1, 0, 0};const int maxn = 207;bool vis[maxn*3][maxn*3]; //离散化后是图...原创 2018-04-24 20:55:33 · 167 阅读 · 0 评论 -
POJ2396 有上下界可行流求解
题目描述:现在要针对多赛区竞赛制定一个预算,该预算是一个行代表不同种类支出、列代表不同赛区支出的矩阵。组委会曾经开会讨论过各类支出的总和,以及各赛区所需支出的总和。另外,组委会还讨论了一些特殊的约束条件:例如,有人提出计算机中心至少需要1000K 里亚尔(伊朗货币),用于购买食物;也有人提出Sharif 赛区用于购买体恤衫的费用不能超过30000K 里亚尔。组委会的任务是制定一个满足所有约束条件且...原创 2018-05-03 02:34:39 · 130 阅读 · 0 评论 -
Codeforces 980E(树上贪心倍增)
题目链接: http://codeforces.com/contest/980/problem/EE. The Number Gamestime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe nation of Panel holds an a...原创 2018-05-09 22:54:33 · 1475 阅读 · 0 评论 -
2018年湘潭大学程序设计竞赛 H线段树染色
链接:https://www.nowcoder.com/acm/contest/105/H来源:牛客网题目描述n个桶按顺序排列,我们用1~n给桶标号。有两种操作: 1 l r c 区间[l,r]中的每个桶中都放入一个颜色为c的球 (1≤l,r ≤n,l≤r,0≤c≤60) 2 l r 查询区间[l,r]的桶中有多少种不同颜色的球 (1≤l,r ≤n,l≤r)输入描述:有多组数据,对于每...原创 2018-04-26 23:15:34 · 188 阅读 · 0 评论 -
Codeforces 965E 启发式合并
http://codeforces.com/contest/965/problem/EE. Short Codetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputArkady's code contains nn variables. Each v...原创 2018-04-27 18:42:00 · 374 阅读 · 0 评论 -
CF 980E(树上差分)树状数组
题目链接: http://codeforces.com/contest/980/problem/EE. The Number Gamestime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe nation of Panel holds an a...原创 2018-05-18 22:34:24 · 334 阅读 · 0 评论 -
单调栈POJ2796
Bill is developing a new mathematical theory for human emotions. His recent investigations are dedicated to studying how good or bad days influent people's memories about some period of life. A new id...原创 2018-05-06 19:51:44 · 150 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛 I:Neat Tree单调栈
链接:https://www.nowcoder.com/acm/contest/106/I来源:牛客网It’s universally acknowledged that there’re innumerable trees in the campus of HUST. There is a row of trees along the East-9 Road which con...原创 2018-05-06 20:48:19 · 237 阅读 · 0 评论 -
ZOJ3988 二分图匹配
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3988题意:给一个数组,对于每两个数加起来为素数那么就是一个集合,求不超过k个集合的最多数是多少解法:二分图匹配,先打素数筛,预处理边集,匹配完之后分两种情况k>匹配数,那么可以直接输出匹配数*2,否则可以选取匹配数*2+min(k-匹配数,剩余没有匹配的而且...原创 2018-05-08 12:24:50 · 259 阅读 · 0 评论 -
hrbust2371权值线段树+并查集
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2371讲解视频:https://www.bilibili.com/video/av16552942?from=search&seid=6401426487448027126题解:权值线段树+并查集很水,众人皆知。#in...原创 2018-05-21 21:04:57 · 273 阅读 · 1 评论 -
湖北省赛持久化字典树
题解:主席树维护,利用前缀和思想做差贪心。题目链接:https://www.nowcoder.com/acm/contest/104#question#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 7;struct node{ int nxt[2], v;}t[maxn * ...原创 2018-05-27 02:08:14 · 149 阅读 · 0 评论 -
HDU4417
题目大意为给定一个长度为n的区间,同时给出m个询问,每次询问在区间[l,r]中有多少个数小于或等于k。同样考虑用主席树来维护,每次只需要找到序列b中第一个等于k的数,那么要求的数必定在b[1]~b[upper_bound(k)]这个范围内,接下来就像线段树统计区间个数那样,若完全包含则直接加上e[rr].sum-e[ll].sum,否则就分两边递归统计。而建树什么的就直接套模板即可。还要注意一点,...原创 2018-05-24 01:09:43 · 622 阅读 · 0 评论 -
Codeforces 1006F Xor-Paths
题目链接:http://codeforces.com/contest/1006/problem/F题面:F. Xor-Pathstime limit per test3 secondsmemory limit per test 256 megabytesThere is a rectangular grid of size n×mn×m. Each cell has a num...原创 2018-07-17 09:51:01 · 388 阅读 · 0 评论 -
Wannafly挑战赛19 B单调队列
链接:https://www.nowcoder.com/acm/contest/131/B来源:牛客网 时间限制:C/C++ 4秒,其他语言8秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述矩阵 M 包含 R 行 C 列,第 i 行第 j 列的值为 Mi,j。请寻找一个子矩阵,使得这个子矩阵的和最大,且满足以下三...原创 2018-07-17 12:33:06 · 184 阅读 · 0 评论 -
SPOJ:Ada and Orange Tree (LCA+Bitset)
题目链接:https://vjudge.net/problem/SPOJ-ADAORANGAda the Ladybug lives near an orange tree. Instead of reading books, she investigates the oranges. The oranges on orange tree can be in up to 5*50 Shades o...原创 2018-04-24 19:21:15 · 304 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛 F:Sorting Trees
链接:https://www.nowcoder.com/acm/contest/106/F来源:牛客网It’s universally acknowledged that there’re innumerable trees in the campus of HUST. One day the tree manager of HUST asked you to sort N trees...原创 2018-04-30 20:02:27 · 193 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛C 可删除元素的并查集
链接:https://www.nowcoder.com/acm/contest/106/C来源:牛客网题目描述 It’s universally acknowledged that there’re innumerable trees in the campus of HUST. Thus a professional tree manager is needed....原创 2018-04-30 19:56:04 · 231 阅读 · 0 评论 -
Splay树区间翻转BZOJ3223
#include using namespace std;const int N = 1E5 + 7;int size[N], key[N], ch[N][2], f[N];bool rev[N];int sz, root;int get(int x) {return x==ch[f[x]][1];}void pushup(int x){ size[x] = si原创 2018-01-11 10:05:00 · 245 阅读 · 0 评论 -
Hihocoder1677
#include using namespace std;const int N = 1E5 + 7;int size[N], key[N], ch[N][2], f[N];char s[N];bool rev[N];int sz, root;int get(int x) {return x==ch[f[x]][1];}void pushup(int x){原创 2018-01-11 10:06:20 · 211 阅读 · 0 评论 -
SplayBZOJ1208
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1208#include using namespace std;const int N = 1E5 + 7, MOD = 1000000;int size[N], cnt[N], key[N], ch[N][2], f[N];int sz, rt;void c原创 2018-01-11 15:30:10 · 226 阅读 · 0 评论 -
BZOJ2038
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2038题意:有N个袜子,每个袜子有不同的颜色,给出M个询问,每次询问给出L,R,从L~R区间选择2个袜子,问2个袜子相同的概率,输出格式见题目。题解:轻松推下转化为求L,R里,设有K个不同的数,每个数出现的次数为a[i]。答案为 sigma(1~k)a[i]^2 - (r-l+1)/原创 2018-01-12 15:19:46 · 283 阅读 · 0 评论 -
线段树暴力修改HDU5930
先占坑,这题实在不会。。。。#include #include #include using namespace __gnu_pbds;using namespace std;#define SZ(X) ((int)X.size())#define mp make_pair#define pb push_back#define RALL(X) X.rbe原创 2018-01-26 23:40:18 · 293 阅读 · 0 评论 -
模拟HDU5929
链接http://acm.hdu.edu.cn/showproblem.php?pid=5929题意:给你一种数据结构以及操作,和一种位运算,最后询问:从‘栈’顶到低的运算顺序结果是多少解法:根据位运算,发现出现0,结果就是1,那么就记录两端0的位置就好,中间不管出现什么,结果大部分都是1,考虑还有反转操作,使用双端队列,用flag标记反转后的情况,然后根据需要添加元素记录位置,最后根据标原创 2018-01-26 23:41:38 · 163 阅读 · 0 评论 -
平面最近点对模板
#include #include #include #include #include using namespace std;typedef long long int ll;struct P{ ll x, y; bool operator }p[100050];ll dis(P &A, P &B) { return (A.x-B.x原创 2018-01-26 23:42:35 · 324 阅读 · 0 评论 -
牛客练习赛11 假的字符串
链接:https://www.nowcoder.com/acm/contest/59/B来源:牛客网题目描述给定n个字符串,互不相等,你可以任意指定字符之间的大小关系(即重定义字典序),求有多少个串可能成为字典序最小的串,并输出它们 输入描述:第一行一个数表示n之后n行每行一个字符串表示给定的字符串输出描述:第一行输出一个数x表示可行的字符串个数之后原创 2018-01-28 12:35:04 · 257 阅读 · 0 评论 -
2018年全国多校算法寒假训练营练习比赛(第四场)E
链接:https://www.nowcoder.com/acm/contest/76/E来源:牛客网 在战争时期,A国派出了许多间谍到其他国家去收集情报。因为间谍需要隐秘自己的身份,所以他们之间只是单向联系。所以,某个间谍只能单向联系到一部分的间谍。同时,间谍也不知道跟他联系的是谁。 HA是间谍们的老大,但他也只能联系到部分的间谍。HA现在有一项命令有告诉所有的间谍。HA想要知道他至少要告诉多少...原创 2018-02-12 01:29:15 · 250 阅读 · 0 评论 -
Tarjan模板
#include <bits/stdc++.h>using namespace std;#define SZ(X) ((int)X.size())#define mp make_pair#define pb push_back#define RALL(X) X.rbegin(),X.rend()#define ALL(X) X.begin(),X.end()using...原创 2018-02-12 01:30:00 · 149 阅读 · 0 评论 -
(2种状态最短路)nuboj 2473
题目链接:http://www.nbuoj.com/v8.8/Problems/Problem.php?pid=2473题意:中文题题解:见代码,注意初始建边。#include <bits/stdc++.h>using namespace std;#define pb push_back#define Pii pair<int,int> // first d...原创 2018-03-08 01:55:55 · 363 阅读 · 0 评论 -
POJ2117 割点
题目链接:https://vjudge.net/problem/POJ-2117题意:求去除一点后,形成的连通分支数的最大值。(使最多的网络不能跟原路线相连)顶点u是割项当且仅满足 (1) 或 (2)时:(1) 若u是树根,且u的孩子数 son>1 。因为没有u的后向边,以这些孩子为根的子树之间互不相连通,所以去掉u后将得到son个分支。(2)若u不是树根,且存在树边 ( u , v )...原创 2018-03-21 17:54:28 · 418 阅读 · 0 评论 -
Codeofrces 957E 数学二维偏序
题目链接:http://codeforces.com/contest/957/problem/EE. Contact ATCtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputArkady the air traffic controller is ...原创 2018-04-01 19:22:26 · 439 阅读 · 0 评论 -
第十六届金马五校 B:
链接:https://www.nowcoder.com/acm/contest/91/B来源:牛客网题目描述 在埃森哲,员工培训是最看重的内容,最近一年,我们投入了 9.41 亿美元用于员工培训和职业发展。截至 2018 财年末,我们会在全球范围内设立 100 所互联课堂,将互动科技与创新内容有机结合起来。按岗培训,按需定制,随时随地,本土化,区域化,虚拟化的培训会让你快速取得成长。小埃希望能通...原创 2018-04-16 21:38:00 · 253 阅读 · 0 评论 -
Codeforces 1004E
题目链接:http://codeforces.com/contest/1004/problem/E题目描述: 题意: 简单来说就是给你一颗n个节点的树,然后你自己选择一条长度不超过k个节点的路径(必须是一条树上的路径)。将这条路径看成一个点,问这个点到树上其他点的最远距离是多少? 题解:首先找到树的一条直径(两次DFS)。并且处理出直径起点到其他点的距离。 ...原创 2018-07-18 15:42:45 · 276 阅读 · 0 评论