返回顶部
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 52 下一页
摘要: 题意:RT. 题解:很明显的线段树维护区间最大值操作,但是我们同时还要维护最大值的个数,我们在build或者modify操作完子树然后push_up的时候,我们先从两个儿子取max更新父节点的最大值,然后再判断父节点的最大值是否和两个儿子相等,这样我们就成功的维护了区间最大值的个数.剩下的就是线段树 阅读全文
posted @ 2020-12-07 16:11 Rayotaku 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 在基础线段树的模板上做了优化,具体看eval函数和push_down. #include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pb push_back #define me m 阅读全文
posted @ 2020-12-07 16:00 Rayotaku 阅读(82) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pb push_back #define me memset #define rep(a,b,c) for(int a=b 阅读全文
posted @ 2020-12-07 13:40 Rayotaku 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题意:定义两个数$a,b$是朋友,如果:\(gcd(a,b)\),\(\frac{a}{gcd(a,b)}\),$\frac{gcd(a,b)}$能构成三角形,现在给你一个正整数$n$,问你$1-n$中有多少数没有朋友. 题解:首先考虑合数,设$a=b*c$,\(b\ge c\),\(b\ge 2, 阅读全文
posted @ 2020-12-02 20:43 Rayotaku 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一组不重复的序列$a$,每次可以选择一个数删除它左边或右边的一个数,并将选择的数append到数组$b$中,现在给你数组$b$,问有多少种方案数得到$b$. 题解:我们可以记录$b_i$在$a_i$中的位置,然后枚举$b_i$,取它在$a_i$的位置,然后看$a_$和$a_{i+1}$的情 阅读全文
posted @ 2020-12-02 16:29 Rayotaku 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一个分两层的圆盘,每层从12点方向均分插入$n$和$m$个隔板,当内层和外层的隔板相连时是不能通过的,有$q$个询问,每次给你内层或外层的两个点,判断是否能从一个点走到另外一个点. 题解: 因为是均分,所以内层和外层隔板相连的个数为$gcd(n,m)$,不懂的可以从角度方向来考虑,将$36 阅读全文
posted @ 2020-11-30 17:16 Rayotaku 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一组非递减的数,你可以对两个连续的数进行异或,使其合并为一个数,问最少操作多少次使得这组数不满足非递减. 题解:首先,给出的这组数是非递减的,我们考虑二进制,对于三个连续的非递减的最高位相同的数,我们可以将后面的两个异或,那么第一个数一定比合并的数大,所以当出现三个最高位相同的数时,操作数 阅读全文
posted @ 2020-11-30 00:51 Rayotaku 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题意:有一长度为$n$的平台,平台有的位置有木桩,可以使小球弹起来,小球必须从第$p$个位置开始,而且每次都会向右弹$k$个单位,然后有的位置是没有木桩的,你可以在这些的空的位置放一个木桩,需要花费$x$,在开始的时候,你可以删除前几个单位,每个单位花费$y$,问最少花费多少使得小球能够弹出平台外. 阅读全文
posted @ 2020-11-29 22:11 Rayotaku 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 题意:有$n$栋房子,每栋房子都有自己的颜色$c_i$,你每次可以对连续的长度为$k$的区间改变任何房子的颜色,问最少多少次可以使得所有房子颜色相同. 题解:因为只有$100$中颜色,所以我们可以直接枚举颜色,然后去遍历房子,如果房子颜色和当前枚举的不符,那么我们操作的次数就要++,并且跳到$j+k 阅读全文
posted @ 2020-11-29 21:54 Rayotaku 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题意:有一张$n$x$m$的图,图中每个点都关押着罪犯,在坐标$(r,c)$处有一个出口,每名罪犯每秒可以可以像上下最有移动一个单位或者不动,问所有罪犯能够逃离监狱的最少时间. 题解:直接算四个顶点到出口的值求个最大即可. 代码: #include <bits/stdc++.h> #define l 阅读全文
posted @ 2020-11-29 21:40 Rayotaku 阅读(85) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 52 下一页