二分
文章平均质量分 55
AC__dream
道阻且长,行则将至;行而不辍,未来可期!
展开
-
(蓝桥真题)扫描游戏(计算几何+线段树二分)
(蓝桥真题)扫描游戏(计算几何+线段树二分)原创 2023-03-08 12:01:33 · 1329 阅读 · 1 评论 -
(蓝桥真题)技能升级(二分+思维)
(蓝桥真题)技能升级(二分+思维)原创 2023-03-06 09:48:03 · 580 阅读 · 2 评论 -
(2022牛客多校五)G-KFC Crazy Thursday(二分+哈希/Manacher)
给你一个n,以及一个长度为n的字符串,字符串由小写字母组成,然后问里面有多少个分别以k、f、c字母结尾的回文字符串。原创 2022-08-02 22:07:24 · 341 阅读 · 0 评论 -
(2022杭电多校三)1002-Boss Rush(状压DP+二分)
(2022杭电多校三)1002-Boss Rush(状压DP+二分)原创 2022-07-27 22:13:35 · 271 阅读 · 1 评论 -
(2022杭电多校三)1011.Taxi(曼哈顿最值+二分)
(2022杭电多校三)1011.Taxi(曼哈顿最值+二分)原创 2022-07-26 21:01:25 · 368 阅读 · 0 评论 -
Educational Codeforces Round 131 (Rated for Div. 2)C. Schedule Management(二分)
C. Schedule Management原创 2022-07-12 15:03:00 · 149 阅读 · 0 评论 -
(POJ-2985)The k-th Largest Group(并查集+树状数组)
题目链接:2985 -- The k-th Largest Group大致题意:就是一开始给你n个集合,每个集合里面有一个元素,然后有m次操作,每次操作有两种可能,一种是查询当前所有集合中第k大的集合的大小,也就是所有集合内部的元素个数第k大的集合的元素个数,另一种是合并某两个集合,合并后的集合将变为原来两个集合的大小之和,只有进行询问操作时会给出输出。分析:看到合并集合我们不难想到用并查集来解决,除此之外我们还需要用一个数组cnt来维护每个集合的大小,当然这都是一些较为基础的想法,在这里再提醒原创 2022-04-30 10:18:25 · 250 阅读 · 0 评论 -
(蓝桥杯)三体攻击(三维差分+前缀和+二分)
题目链接:1232. 三体攻击 - AcWing题库分析:做这道题之前需要先了解三维前缀和和差分的相关知识,不会三维前缀和的小伙伴可以看下这里:(校赛)星球大战(三维前缀和模板)_AC__dream的博客-CSDN博客三维差分和二维差分是类似的,先说一下二维差分,假如我们想让(x1,y1)与(x2,y2)之间的点的值都加k,那么我们可以令d[x1][y1]+=k;d[x1][y2+1]-=k;d[x2+1][y1]-=k;d[x2+1][]...原创 2022-03-08 09:43:21 · 628 阅读 · 0 评论 -
(POJ - 2739)Sum of Consecutive Prime Numbers(尺取或二分)
题目链接:Sum of Consecutive Prime Numbers - POJ 2739 - Virtual Judge中文题意:小 X 非常喜欢素数,所以经常研究素数的性质,这天他想知道一个数字是否能用若干个(或许是一个)连续的素数之和表示,并且想知道有多少种方法。例如,53 有两种表示方法 5 + 7 + 11 + 13 + 17 和 53。其中素数v必须是连续的并且一个素数只能使用一次。 现在给你一个整数 n,你要告诉他这个数字有多少种不同的连续素数和表示方式。Input多组数原创 2022-02-07 18:49:21 · 364 阅读 · 0 评论 -
(POJ - 3258)River Hopscotch(二分)
题目链接:River Hopscotch - POJ 3258 - Virtual Judge题意:每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一块岩石跳到另一块岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和距离起点 L 远的终点各有一块岩石 (1 ≤ L ≤ 10^9)。在起点和终点之间,有 N 块岩石 (0 ≤ N ≤ 50000),每块岩石与起点的距离分别为 Di (0 < Di < L)。在比赛过程中,奶牛轮流从起点出发,尝试到达终点,每一步只能从一原创 2022-02-08 15:45:00 · 115 阅读 · 0 评论 -
(POJ - 3579)Median(二分)
中文题意:现在有N个神秘的数字(A1,A2,A3….An),我们需要从这串数字中得到一个密码。得到密码的方式为:先计算每个数字之间的差:|Ai-Aj|(1<=i<j<=N),最后能得到C个差值。最终的密码为这些数的中位数。如果C是偶数,就规定中位数是第 C/2 小的差值。这道题和POJ-3579题做法差不多,我们也是通过二分答案来进行求解,对于每个待二分的数x,我们通过check函数来判断小于等于x的距离的数对有多少个,如果距离小于等于x的数对数目大于总数对数目的一半,那...原创 2022-02-08 10:15:00 · 439 阅读 · 0 评论 -
(POJ - 3685)Matrix(二分套二分)
中文题意:有一个N阶方阵 第i行,j列的值Aij =i^2 + 100000 × i + j^2 - 100000 × j + i × j,需要找出这个方阵的第M小值.先观察这个等式可以发现,Aij随i的增加而增加,所以我们就可以通过二分x来求取答案,每次二分的内容就是判断比x小的数的数目是否大于等于m,如果数目大于等于m,则当前二分值是大于等于答案的,反之当前二分值是小于答案的,具体二分过程如下:我们暴力枚举列数,每一列的数是单调递增的,所以对于每一列我们可以二分枚举,这样总的复杂度就是...原创 2022-02-07 10:15:00 · 248 阅读 · 0 评论 -
(HDU - 4553)约会安排(线段树+区间合并)
题目链接:约会安排 - HDU 4553 - Virtual Judge (ppsucxtt.cn)由于题目是中文的,题目大意我就不说了,下面直接说思路:对于屌丝的邀请,我们不能使用任何已经被占用的时间,而对于女神的邀请我们却可以无视屌丝的邀请,这就意味着他们之间的关系是具有优先级的,我们需要建立两棵线段树,一棵维护女神和屌丝的共同占用时间,另一棵只维护女神的占用时间。对于屌丝的邀请,我们只能在屌丝和女生共用的那棵线段树上查找,而对于女神的邀请我们就可以在两棵树上查找,只是我们要先在屌丝和女生共用的原创 2021-09-29 22:53:12 · 172 阅读 · 0 评论 -
HDU - 1540(Tunnel Warfare)二分+线段树
题目链接:Tunnel Warfare - HDU 1540 - Virtual Judge (ppsucxtt.cn)摧毁村庄和重建村庄都比较容易,就是一个线段树的单点修改操作,关键是如何查询与一个村庄直接或间接相关的村庄数量。两个相邻村庄相关需要满足什么条件呢?条件就是他们都没有被摧毁,那么我们就可以类似得到 l,l+1,……,r这些村庄相关的条件就是他们的区间和等于r-l+1,于是我们就知道了如何判断一个区间的村庄是否相关,因此我们就可以二分判断一个村庄左边和右边与它相关的村庄数目,然后加起来减一原创 2021-09-23 13:13:38 · 152 阅读 · 0 评论 -
危险任务(前缀和+二分+bfs)
题目链接:信息学奥赛比赛系统 | 危险任务 (qduoj.com)给定起点和终点,问起点与终点之间是否存在通路,这显然要用bfs求,这道题目与走迷宫问题非常像,唯一的不同就是这个并不一定只占据一个格子,他占据的是一个边长不一定为1的正方形,但与走迷宫问题的基本解题方法还是一样的,在走迷宫问题中我们只需要知道下一步要走的方格中存不存在障碍物即可,而这道题目这要求我们知道下一步要走的正方形内是否存在障碍物,这个在走迷宫时我们一定要在o(1)的复杂度内计算出来,这时候我们就需要预处理出来一个数组a[i][j]原创 2021-09-15 19:10:34 · 156 阅读 · 1 评论 -
求最大回文子串长度
今天我想介绍一下如何求最大回文子串长度,感觉思想还是挺好的给你一个字符串,让你找出其中的一个最长回文子串。先说一下如何判断一个字符串是不是回文子串吧,这个可以通过哈希直接判断,就是预处理出来两个哈希数组,一个正着来,一个反着来,然后直接比较两个字符串的哈希值是否相同就好了,哈希数组一般直接开成无符号长整形,让他自动溢出,进制数一般选择131或者13331,下面附上代码://预处理哈希数组int len=strlen(s+1);p[0]=1;//记录p进制下的次方for(int i=1;i原创 2021-08-26 16:16:08 · 423 阅读 · 0 评论 -
(POJ-3974)Palindrome
题目链接:3974 -- Palindrome (poj.org)题意:就是给一个字符串,然后求他最长回文子串的长度。在前面一个博客中我已详细介绍了这种问题的解决方法,在这里我就不详细说明了,注意是多组输入,下面直接上代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=1e6+10;原创 2021-08-26 17:20:43 · 207 阅读 · 0 评论 -
(HDU4614)Vases and Flowers(线段树+二分)
题目链接:https://acm.hdu.edu.cn/showproblem.php?pid=4614先给出中文翻译吧:爱丽丝是如此受欢迎,以至于她每天都能收到许多鲜花。她有 N 个花瓶,编号从 0 到 N-1。当她收到一些花时,她会试着把它们放在花瓶里,一花一瓶。她随机选择了花瓶 A 并尝试在花瓶中放入一朵花。如果花瓶里没有花,她会在里面放一朵花,否则她跳过这个花瓶。然后她会尝试放入花瓶 A+1、A+2、...、N-1,直到没有花或她尝试过花瓶 N-1。剩下的花将被丢弃。当然,有时她会打扫花瓶。原创 2021-08-21 16:26:20 · 106 阅读 · 0 评论 -
Data Structure(线段树+二分)
题目链接:https://acm.hdu.edu.cn/showproblem.php?pid=4217、题意:初始时有一个1~n的序列,需要执行m次操作,每次操作给出一个k,需要将当前序列中第k小的数字删掉,问删除掉的元素总和是多少?分析:如果单单将一个数字删掉,那就比较简单了,就是一个线段树问题,可是如何找到这个数字是关键,找第k小的数字我们可以通过二分来查找始点为1,终点为mid,然后通过不断更新mid来寻找,下面是代码:#include<iostream>#include原创 2021-08-21 11:46:17 · 131 阅读 · 0 评论