随笔分类 - ----树状数组
摘要:这道题非常有意思首先我们可以发现,对于一个合法的三元组我们可以找到一个大小小于3的下标集合S与之对应那么我们就来考虑找到所有合法的这样的S当|S|=1时,显然都是成立的当|S|=2时,我们只需要保证s中两个元素i,j不满足a[i]#include#includeusi...
阅读全文
摘要:给定一个长度为 n 的正整数序列 a 1 ...a n . 现在有 m 次操作, 分为两种:• 1 l r t: 将区间 [l,r] 降序排序 (t = 0) 或升序排序 (t = 1)• 2 l r: 询问区间 [l,r] 内元素之积的十进制下最高位雅礼集训的题目,...
阅读全文
摘要:Jzoj1020:Dramatic是在太菜了。最近,他学习了有关逆序对的知识,并且掌握了计算一个序列逆序对个数的高效算法,因此,他兴冲冲的跑去向YY牛炫耀。YY牛对此不屑一顾,并打击Dramatic说:“这是在太小儿科了!”Dramatic很不甘心,于是在他的强烈要...
阅读全文
摘要:下面是一段实现冒泡排序算法的C++代码:for (int i=1;ia[j+1]) swap(a[j],a[j+1]);其中待排序的a数组是一个1~n的排列,swap函数将交换数组中对应位置的值。对于给定的数组a以及给定的非负整数k,使用这段代码执行了正好k次swap...
阅读全文
摘要:一开始有n个非负整数h[i](1#include#include#define N 1000010#define LL long longusing namespace std;int n,m,s[N];struct fenwick{ int w[N],S; inline void add(int ...
阅读全文
摘要:一开始有n个非负整数h[i](1#include#include#define N 1000010#define LL long longusing namespace std;int n,m,s[N];struct fenwick{ int w[N],S; inli...
阅读全文
摘要:居然是向量叉乘!考场上忘了怎么叉乘了。。。考完后发现可以推一波式子Σ(aj*bk-ak*bj)^2{1#include#include#define LL long long#define N 1000010 #define M 20170927 using name...
阅读全文
摘要:居然是向量叉乘!考场上忘了怎么叉乘了。。。考完后发现可以推一波式子Σ(aj*bk-ak*bj)^2{1#include#include#define LL long long#define N 1000010 #define M 20170927 using name...
阅读全文
摘要:题目背景 热烈庆祝北京师范大学附属实验中学成立100周年!问题描述 校庆筹备组的老师们正在寻找合适的地方来举办校庆庆典。 学生们的位置和可以举办庆典的位置在x轴的正半轴取值在[1,n]的整数位置上。 老师们选择的地点是会...
阅读全文
摘要:题目背景 热烈庆祝北京师范大学附属实验中学成立100周年!问题描述 校庆筹备组的老师们正在寻找合适的地方来举办校庆庆典。 学生们的位置和可以举办庆典的位置在x轴的正半轴取值在[1,n]的整数位置上。 老师们选择的地点是会...
阅读全文
摘要:nodgd的粉丝太多了,每天都会有很多人排队要签名。今天有n个人排队,每个人的身高都是一个整数,且互不相同。很不巧,nodgd今天去忙别的事情去了,就只好让这些粉丝们明天再来。同时nodgd提出了一个要求,每个人都要记住自己前面与多少个比自己高的人,以便于明天恢复到今...
阅读全文
摘要:nodgd的粉丝太多了,每天都会有很多人排队要签名。今天有n个人排队,每个人的身高都是一个整数,且互不相同。很不巧,nodgd今天去忙别的事情去了,就只好让这些粉丝们明天再来。同时nodgd提出了一个要求,每个人都要记住自己前面与多少个比自己高的人,以便于明天恢复到今...
阅读全文
摘要:给你一个1~n的排列A,询问一些区间内有多少对x,y使得A[x]|A[y]我们考虑将所有的询问按照r排序,让后分成两部分计算:1.A[i]|A[j] 且i>j2.A[i]|A[j] 且i#include#include#define N 200020using nam...
阅读全文
摘要:给你一个1~n的排列A,询问一些区间内有多少对x,y使得A[x]|A[y]我们考虑将所有的询问按照r排序,让后分成两部分计算:1.A[i]|A[j] 且i>j2.A[i]|A[j] 且i#include#include#define N 200020using nam...
阅读全文
摘要:更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f...
阅读全文
摘要:更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f...
阅读全文
摘要:额这个题么有一个很关键的点:结点个数依然为2N-1(证明可以看sam的讲稿)不难发现以下性质:区间定位个数+区间所覆盖的节点个数=2*区间长度所以问题变为,一个区间覆盖了多少个节点?我们可以求出所有的节点,然后这个问题就是一个二维偏序计数问题了具体用离线+按照r排序套...
阅读全文
摘要:额这个题么有一个很关键的点:结点个数依然为2N-1(证明可以看sam的讲稿)不难发现以下性质:区间定位个数+区间所覆盖的节点个数=2*区间长度所以问题变为,一个区间覆盖了多少个节点?我们可以求出所有的节点,然后这个问题就是一个二维偏序计数问题了具体用离线+按照r排序套...
阅读全文
摘要:我们先写裸的dp,设φ[i]表示长度为i的划分方案数,φ(0)=1有φ(i)=Σφ(j) (|sum[j,i]|#include#include#define N 200010 #define LL long long#define M 1000000007 usin...
阅读全文
摘要:我们先写裸的dp,设φ[i]表示长度为i的划分方案数,φ(0)=1有φ(i)=Σφ(j) (|sum[j,i]|#include#include#define N 200010 #define LL long long#define M 1000000007 usin...
阅读全文