摘要: 传送:http://acm.hdu.edu.cn/showproblem.php?pid=6483 题意:有长度为$n$的数组,对于一个子区间$[l,r]$内,存在最大值$mx$与最小值$mi$,有$q$的询问,每个询问要求判断在某个子区间$[l,r]$内$[mi,mx]$的值是否连续存在,即$mi 阅读全文
posted @ 2019-04-16 20:30 Changer-qyz 阅读(307) 评论(0) 推荐(0) 编辑
摘要: ST表原理及实现:https://www.cnblogs.com/qq965921539/p/9608980.html ST表是通过离线预处理出子区间$[l,r]$的最值。其中$st[i][j]$代表的是子区间$[i,i+2^j-1]$的最值。 预处理的效率是$O(nlogn)$,查询的效率是$O( 阅读全文
posted @ 2019-04-16 20:18 Changer-qyz 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 推荐博客: 常见的几种组合博弈:http://www.cnblogs.com/ECJTUACM-873284962/p/6398385.html SG函数与SG定理:https://www.cnblogs.com/ECJTUACM-873284962/p/6921829.html SG函数:http 阅读全文
posted @ 2019-04-10 16:10 Changer-qyz 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 传送:http://codeforces.com/gym/102152/problem/K 题意:给定$n(n\le10^5)$个数$a_i(a_i\le10^9)$,对于任一个子数组中的数进行或操作,问所有的值有多少种? 分析: 假设现在想要求解区间$[1,i]$内的答案,那么需要先处理出$[1, 阅读全文
posted @ 2019-04-08 21:55 Changer-qyz 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 什么是最近公共祖先? 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。 换句话说,就是两个点在这棵树上距离最近的公共祖先节点。 所以LCA主要是用来处理当两个点仅有唯一一条确定的最短路径时的路径。 常用来求LCA的算法有:Tar 阅读全文
posted @ 2019-03-13 11:11 Changer-qyz 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 莫队 莫队算法的本质是一种暴力。 在一些区间(或树)上的问题,没有强制要求在线时,将区间(或树)上问题转换为离线去做。 1.普通莫队 算法介绍: 普通莫队,就是可离线,没有修改的莫队。这一类莫队算法的核心思想是:将整个数列区间划分$\sqrt{n}$块。再将多个询问进行升序$sort()$,改变处理 阅读全文
posted @ 2019-03-05 15:03 Changer-qyz 阅读(293) 评论(0) 推荐(0) 编辑
摘要: (咕咕咕,咕了快一年的bu题。。 A.CCPC直播 传送:http://acm.hdu.edu.cn/showproblem.php?pid=6297 题意:rt。 分析:模拟。 1 #include<bits/stdc++.h> 2 using namespace std; 3 int main( 阅读全文
posted @ 2019-03-01 19:42 Changer-qyz 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 咕咕咕。 camp补题。 传送门:https://www.zhixincode.com/contest/29/problems A.Aqours 题意:有一棵有根树,根节点为1,给出每个结点的父亲节点。其中根节点是 1 号点。i号结点的父亲为pi。保证1<=pi,而且对于2<=i<j<=n,有pi< 阅读全文
posted @ 2019-01-30 23:56 Changer-qyz 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 传送:http://codeforces.com/gym/101612 题意:给出一个大小为n的序列a[i],每次选其中一个数乘以一个正整数,问进行k步操作后最少剩下多少种数字,输出0≤k≤n,所有的k的答案。 注意这k步不一定是连续的。 分析: 对于每个数,可以有两种操作: 1. 先将有倍数的数变 阅读全文
posted @ 2018-11-16 10:47 Changer-qyz 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 传送:http://codeforces.com/gym/101612 题意:给定一个数n(<=1e18),将n分解为若干个数的成绩。要求这些数两两之间的差值不能大于1。 分析: 若n==2^k,则答案一定是-1。 然后,考虑若n==a^k,枚举k,二分求a。若n==a^x*(a+1)^y,枚举x, 阅读全文
posted @ 2018-11-16 01:33 Changer-qyz 阅读(276) 评论(0) 推荐(0) 编辑