树状数组
HT008_123
家人们点点关注叭
展开
-
求逆序对
QAQ 这道题打暴力也就是n^2有50分 满分做法 树状数组 我们开一个数组,代表当前输入第x个数时,每个数有几个 我们每次输入一个数时,将它所对应的位置的数的数量+1,然后去查询它的后缀和,也就是当前数的逆序对个数,没给数的范围,以为要离散化,随便蒙了个大数,然后就A了#include <cstdio> #include <iostream> int tree[5000001]; int原创 2017-08-04 08:34:00 · 268 阅读 · 0 评论 -
[USACO18OPEN] Out of Sorts G
题目描述: 双向冒泡,问几次能够排好 题目分析: 先把数组排序,对于每个位置,求一下排完序后有多少个数不在前i个了 取Max即为答案 为什么呢 冒泡排序就是交换 对于(i-i+1)这个分割线,我们每一次冒泡会让一个不属于前面的到后面去,同时让一个不属于后面的到前面来,每一次能够让这个数-1,那么取Max即为答案 题目链接: BZOJ 4375 Luogu 4375 A...原创 2018-05-06 16:36:17 · 679 阅读 · 0 评论 -
[NOI2011] 阿狸的打字机
题目描述: 一道很神的AC自动机好题 题目分析: 对于AC自动机中的每一个节点,如果节点A的fail指向节点B 就会发现B对应的字符串一定在A对应的字符串中出现 联系一下fail指针的作用 利用这个性质 题目就变为了 Y有多少fail直接或者间接的指向X的结束位置 考虑到一个节点有且只有一个fail,那么由fial指针构成的图,就叫做fail树 现在询问变成了,在fail树中,...原创 2018-04-03 08:23:18 · 208 阅读 · 0 评论 -
[Shoi2007] 园丁的烦恼
题目描述: 有 N 个 点 每个点坐标为 X Y 有 M 个查询,每个查询表示一个矩形,问这个矩形里有几个点 题目分析: 二维矩形问题,直接怒打一发 离散化+树套树 然而怎么卡常也只有48分(雾 本题的正确做法是,离线搞! 我们把X Y 存起来,然后按照X升序排列,每次插入 Y ,查询 Y 就好了(雾 连离散化都不用打! 矩形割补求一下 题目链接: BZOJ 1935...原创 2018-03-30 08:44:55 · 369 阅读 · 0 评论 -
[Luogu 3415] 祭坛 (扫描线+BIT)
题目描述: 题目描述太长辣,而且难懂。 其实一个祭坛点只需要找它左边上边下边右边各一个点就可以形成一个需要的保护网。 那么一个祭坛点最多的保护层数即为MIN(上面水晶柱个数,下面水晶柱个数,左边水晶柱个数,右边水晶柱个数). 题目分析: 首先我们可以开一个Vector 记录每个行上有多少的水晶柱. 二分一个答案 用扫描线从上到下扫描。 维护两个数组 UP&DOWN ...原创 2018-02-23 17:06:25 · 280 阅读 · 0 评论 -
LG R7
T1 BFS暴力模拟#include <cstdio> #include <iostream> #include <queue> #include <cstring> #include <ctime> using namespace std; const int maxm=5100; int head[maxm],to[2*maxm],net[2*maxm]; int cnt; struct nod原创 2017-11-06 16:25:16 · 273 阅读 · 0 评论 -
Jian
方法1:暴力模拟(n^2),得分35(20个点)#include <cstdio> #include <iostream> using namespace std; int a[1999999],s[1999999]; int tot1=0,tot2=0; int gcd(int a,int b) { if(!b) return a; return gcd(b,a%b); } voi原创 2017-10-06 18:45:55 · 245 阅读 · 0 评论 -
奶牛集会
QAQ 用声音进行升序排序,用树状数组记录比当前值(x)小的有几个,以及那些数的前缀和 ans+=(cnt(比其小的数的个数)* 当前值-前缀和)* voice 至于当前值大的值可以用当前的总和-前缀和,至于大的数的个数同理 再加上后面的数的贡献就行了#include <cstdio> #include <iostream> #include <algorithm> #include <qu原创 2017-08-04 21:21:07 · 553 阅读 · 0 评论 -
[国家集训队] 排队
题目描述: QAQ… 题目分析: 交换两个数字的顺序,动态求逆序对… BIT套动态开点权值线段树 BIT套平衡树 分块+BIT 强行CDQ都可以… 题目链接: Luogu 1975 BZOJ 2141 COGS 1871 Ac 代码: #include <cstdio> #include <iostream> #include <...原创 2018-05-08 09:59:02 · 345 阅读 · 0 评论