摘要: 没看过一维ST表的可以移步 "https://www.cnblogs.com/tldr/p/11261351.html" 二维ST表的思路参考一维,每次维护一个step step的一个正方形 因此 洛谷P2216理想的正方形是一个很好的二维ST表 一般来说,二维ST表询问的是某一个状态,这样可以用一 阅读全文
posted @ 2019-07-29 12:53 一块钱的争论 阅读(128) 评论(0) 推荐(0) 编辑
摘要: A 完全k叉树 题意 已知完全$k$叉树有$n$个节点,求树上两个最远点的距离,节点之间的距离均为1。 基本思路 求树的深度$h$,则满$k$叉树的两点距离为$(h 1) 2$,对剩余一层的节点数$rest$做判断,若$rest k^{h 1}/k$则ans+2,否则若$rest 0,ans+1$ 阅读全文
posted @ 2019-07-29 12:20 一块钱的争论 阅读(167) 评论(0) 推荐(0) 编辑
摘要: ST表简介 ST表示解决RMQ问题的一种暴力手段,处理时间$O(n\log_{2}{n})$,查询时间$O(1)$,空间$O(n\log_{2}{n})$. 处理 ST表的第0列存放第一层数据,即原始数据; ST表的第1列存放第二层数据,即步长为$2^0$的$min/max$的数据; ST表的第2列 阅读全文
posted @ 2019-07-28 22:46 一块钱的争论 阅读(128) 评论(0) 推荐(0) 编辑
摘要: A题 原CF 438D The Child and Sequence 题意 给一串数字,m次操作,1.区间查询;2.区间取模;3.单点修改 基本思路 考虑到模如果大于区间的最大值,则取模没有意义。若小于则向下查询并修改,考虑到一个数每次取模最多为原数的$1/2$,则可认为修改次数不超过$\log{2 阅读全文
posted @ 2019-07-26 18:11 一块钱的争论 阅读(192) 评论(0) 推荐(0) 编辑
摘要: "P2278 [HNOI2003]操作系统" 基本思路 使用优先队列毋庸置疑,每次新来一个进程判断$start =now+q.top().run$,若大于,则队列头元素可在新元素到达前完成,直接到达完成状态即可; 若小于,且优先级不大于头元素,则插入队列;若优先级大于头元素,则需要中断,判断$sta 阅读全文
posted @ 2019-07-26 10:51 一块钱的争论 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 原hdu 2665 Kth number 题意 给$n$个数和$m$次查询,每个查询包含区间$[x,y]$,求区间内第$K$大的数 思路 可持久化线段树,即主席树,第一次建立一个空的线段树,使用$root$下标表示访问第几次时间,数据离散化后。注意下标从1开始。 注意$cnt$可能是乱序的,但是$r 阅读全文
posted @ 2019-07-25 20:46 一块钱的争论 阅读(267) 评论(0) 推荐(0) 编辑
摘要: A题 DIY Wooden Ladder 签到题,求n 2和第二大的最小值 c++ include define FOR(i,a,b) for(int i=a;i n m k; for(int i=1;i arr[i]; } FOR(i,0,20)f[i]=0; f[0]= k; for(int i 阅读全文
posted @ 2019-07-23 19:39 一块钱的争论 阅读(298) 评论(0) 推荐(0) 编辑
摘要: A题 Drinks Choosing 判断奇偶 c++ include using namespace std; int arr[2000]; int main() { int n,k;cin n k;int rem=0; for(int i=0;i num;arr[num]++; } for(in 阅读全文
posted @ 2019-07-23 13:09 一块钱的争论 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 基本思路 $$ \begin{array}{l} k,n,a,b,假设能完成游戏,则有\\ x_1+x_2=n\\ x_1 a+x_2 b using namespace std; typedef long long ll; ll q,k,n,a,b; int main() { cin q; whi 阅读全文
posted @ 2019-07-22 18:55 一块钱的争论 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 补题 原CF 1141F Graph Without Long Directed Paths 基本思路 染色问题,u和v记录边的两个顶点,dfs遍历。 有个问题是若边数=顶点数,为什么不能直接输出 1? c++ include using namespace std; typedef struct{ 阅读全文
posted @ 2019-07-22 15:50 一块钱的争论 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 原CF 1138A Sushi for Two 基本思路 每个状态之和之前的一个连续状态有关,并且取下限即可,若状态发生改变,计数器置零 c++ include using namespace std; int main() { int n;cin n;int num1=0,num2=0,sum=0 阅读全文
posted @ 2019-07-21 19:45 一块钱的争论 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 基本思路 树形dp入门题,0表示不选中1表示选中。 $$ \begin{array}{l} treedp[u][0]=max(treedp[u.boss][0],treedp[u.boss][1])\\ treedp[u][1]=treedp[u.boss][0]+arr[u]; \end{arra 阅读全文
posted @ 2019-07-21 13:43 一块钱的争论 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 基本思路: 单dfs暴力搜的复杂度为C(2N,N) N^2, N 12会超时,使用两个dfs,并记录过程的累和值将复杂度降低到C(2N,N) N c++ include using namespace std; typedef long long ll; ll arr[30][30],n; ll a 阅读全文
posted @ 2019-07-21 10:38 一块钱的争论 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 基本思路 一个结构体存储操作,另外一个存储节点,操作按时间排序并遍历即可。 c++ include using namespace std; typedef struct { int vertex,next,time; }OP;OP op[100010]; typedef struct{ int p 阅读全文
posted @ 2019-07-07 00:07 一块钱的争论 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 基本思路 两次dfs,第一次逆序,第二次计算连通分量的类别。待完善。 c++ include using namespace std; typedef struct{ int vertex,next; }NODE;NODE nodes[10010]; int end[10010]={0},m,n,i 阅读全文
posted @ 2019-07-06 23:49 一块钱的争论 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 大数据下秩优化节约50%时间 阅读全文
posted @ 2019-07-05 01:12 一块钱的争论 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 需要路径压缩 c++ include using namespace std; int arr[10010]={0}; int find(int a) {//路径压缩 // if(arr[a]==a)return a; // return arr[a]=find(arr[a]); if(arr[a] 阅读全文
posted @ 2019-07-05 00:37 一块钱的争论 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 前面考试周,抱歉拖了这么久。 A题 Alex and a Rhombus 基本思路 递推解决,n=1时,Count(1)=1;n 1时,Count(n)=Count(n 1)+(n 1) 4 c++ include using namespace std; int num[100005]; int 阅读全文
posted @ 2019-06-24 23:38 一块钱的争论 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 基本思路,使用差分数组 arr[i]=a[i] a[i 1]; c++ include define maxn 1000000 using namespace std; int arr[maxn],n; int lowbit(int x) { return x&( x); } void add(in 阅读全文
posted @ 2019-05-21 00:46 一块钱的争论 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 常规模板题,lowbit(x)=x& x;求和往左走,点加往右走。 c++ include define maxn 1000000 using namespace std; int arr[maxn];int n,m,x,y,d; int lowbit(int x) { return x&( x); 阅读全文
posted @ 2019-05-20 22:42 一块钱的争论 阅读(87) 评论(0) 推荐(0) 编辑