学校集训
文章平均质量分 66
laruat
SSL
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于树链剖分
树链剖分模板题顾名思义,即是把树的形态用线性链表表示出来。那么首先就是要造个树。ll siz[N],dep[N],son[N],fa[N];//son是以x为祖先的重儿子坐标 void build_tree(int now){ siz[now]=1;//初始化树的大小 for(int i=he[now];i;i=nxt[i]) { int tar=to[i]; if(tar==fa[now]) continue; fa[tar]=now,dep[tar]=dep[now]+1;原创 2022-02-19 08:40:02 · 195 阅读 · 0 评论 -
Day 11别问我中间发生了啥。
水到炸的数论 ? 莫队+树状数组 矩阵快速幂ABCADecription:给出 n个数字的一个序列A,你可以将他们分为若干组,每一组的权值是里面数字的异或和,求使得所有组权值和最小。Input第一行给出一个n接下来一行给出序列AOutput输出一行包括一个整数表示最小的权值和Sample Input:51 2 6 4 3Sample Output:2Data Constraint思路:异或来异或去,其实就是不进位的加法,那么最优的解法实际上是把所有异或起来原创 2021-08-25 09:08:11 · 278 阅读 · 0 评论 -
Splay
#include<iostream>#include<cstdio>#define N 100000#define push_up(x) t[x].size=t[t[x].son[0]].size+t[t[x].son[1]].size+1using namespace std;int n,m,l,r,root,tot;struct node{ int size,son[2],mark,val,pre; void init(int x,int fa) {原创 2021-08-21 11:53:44 · 134 阅读 · 0 评论 -
DAY 6
数论 模拟 数论 数论?AADecription:C(n,m)=P(n,m)m!=n!m!(n−m)!C(n,m)=\frac{P(n,m)}{m!}=\frac{n!}{m!(n-m)!}C(n,m)=m!P(n,m)=m!(n−m)!n!,判断其结果奇偶性InputOutputSample Input:27 38 2Sample Output:10思路求啥找啥,就把阶乘中的2的个数预处理出来,之后看一下如果分子的2的数量大于分母那么其一定为偶数,反之则原创 2021-08-20 11:06:24 · 193 阅读 · 0 评论 -
Treap(AVL)板子
神仙东西高级的呀,100多行,调了我亿点点时间。哦也,过了直接放代码,代码有注释。#include<iostream>#include<cstdio>#include<cstdlib>#define N 100000#define INF 1000000000 using namespace std;int n,opt,x;int son[N+1][2],val[N+1],data[N+1],size[N+1],tot,cnt[N+1],root;i原创 2021-08-18 21:18:59 · 288 阅读 · 1 评论 -
Day 5
题目序号Decription:Input输入要求Output输出要求Sample Input:56 67 78 89 910 1Sample Output:6666667777777888888881755646112866758思路:很显然从数据规模和这些诡异的数字轻松得知此题是数论,那么怎么做呢,首先我们要输出的结果是kkkkkk这个数,那么我们可以把它化成k*(10010^0100+10110^1101+…+10n10^n10n),那么很显然 赛原创 2021-08-17 07:57:15 · 276 阅读 · 0 评论 -
Count on a tree
树上主席树练习luogu P2633#include<iostream>#include<cstdio>#include<algorithm>#define N 100000#define NlogN 2500000 using namespace std;int n,m,a[N+1],b[N+1],tree[N+1],l[NlogN],r[NlogN],sum[NlogN],deep[N+1],f[N+1][31],tot,len,mid,u,v,k,l原创 2021-08-15 21:29:44 · 123 阅读 · 0 评论 -
主席树板子
主席树------以线段树为基础的线段树板子题如果我们要离线查询一个区间内的第k小或第k大的值,那么我们可以用主席树,保证复杂度在O(mlogn)内,对于板子题来讲是刚刚好的,那么我们先上代码。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#define N 4000000#define M 200000原创 2021-08-13 19:37:34 · 246 阅读 · 0 评论 -
打莫队板子
莫队算法有点像分块,但是他充分的利用了排序将时间复杂度优化到了极致,显然在luogu 19721e6下肯定试过不了的,主要是chen_zhe不让过,……原本1e5是可以的,所以优化到最好的顶多拿60分。#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define N 1000000using namespace std;int n,m,a[N+1],q,p原创 2021-08-13 10:25:42 · 220 阅读 · 0 评论 -
2021暑假集训Day 4
数论 背包 分块 数论? ABCD 后续更新ADecription:若数列A存在位置k,满足①i<k,ai<ai+1②i>=k,ai>ai+1则称该数列为单峰数列给出正整数n,求全排列n中存在多少个单峰数列Input给出1个正整数nOutput单峰数列个数(对10^9+7取模)Sample Input:3Sample Output:4Data Constraint20%:n ≤\leq≤ 1050%:n ≤\leq≤ 10^原创 2021-08-12 22:07:43 · 313 阅读 · 0 评论 -
2021暑假集训 Day 3
暴力出奇迹的一天ABCDADecription:有n个信号,第i个信号强度为bi。总体强度为各操作信号的强度之和。为保证信号强度需要删除某些信号。有m个操作人员,第i个人只会删除编号在L[i]和R[i]之间的信号,每删除一个信号,花费C[i]格能量。飞船一共有 k格能量,问在队友删除完信号后,总体强度最大是多少。Input第一行给出2个正整数n,m,k第二行给出n个信号的强度bi接下来m行,每行用L,R,C来描述一个操作人员Output总体最大强度Sample Inp原创 2021-08-11 20:42:35 · 548 阅读 · 2 评论 -
2021暑假集训 Day 2
回顾:就不知道今天为什么那么想尝试富文本编辑器了……A今天的第一题非常的无语呵,想了90min?而且差一个longlong就A了,别吧,心态炸裂。Decription:n个小球排成一列,第i个小球颜色为ai,定义小球i与j的距离为|(i-j)*(ai-aj)|,求所有小球间距离之和,i与j 和 j与i 不必重复计算。Input:第一行一个n第二行给出a1,a2,...,an-1,anOutput按照题目要求作答...原创 2021-08-10 19:58:27 · 261 阅读 · 0 评论 -
2021暑假集训 Day 1
学校刷题Day 1 -- 2021-8-9ABDADecription:定义操作a(X)B=((a&b)+a(a|b))>>1给出n个数ai每次用操作合并任意相邻ai求进行n-1次操作以后可能得到的最终结果所有结果从小到大输出Input第一行一个n第二行给出a1,a2,…,an-1,anOutput按题目要求作答Sample Input:41 4 3 2Sample Output:1 2Data Constraint30% n&原创 2021-08-09 21:03:57 · 312 阅读 · 0 评论
分享