二分,分治
tiany7
人一我十,人十我万
展开
-
洛谷P1542 包裹快递(实数二分)
2020.6.18昨天晚上遇到了人生的大起大落再大起,俩队友先是因为毕业和疫情原因退役了。然后我就剩下孤家寡人了,一度颓废,今天早上没有抱任何希望地在群里问了问,结果真的找到了2024届有打过noip的学弟,在这地方真的不好找hhh,普及一等我已经感激不尽了。然后一下子又恢复了打acm的动力,acm可能是最后一次我能像高中一样去比拼战斗了,我真的很想在这个舞台上走远。不管怎么样,在一切最终下定论之前,我一定会继续拼下去的。你见过哪一个acmer因为可能比赛失利就不去准备比赛的?不可能,也绝不会发生在我身上原创 2020-06-18 15:22:00 · 330 阅读 · 0 评论 -
洛谷P2717 寒假作业(cdq分治+归并排序求逆序数)
2020.6.13君子做事得有担当,这个题目我确实不太明白什么意思,只会O(N^2)的朴素解法,看了下题解才发现有逆序数的弟弟顺序数,用归并就过了??先去打cf div2,等会再来研究代码:#include <bits/stdc++.h>using namespace std;#define limit (500000 + 5)//防止溢出#define INF 0x3f3f3f3f#define inf 0x3f3f3f3f3f#define lowbit(i) i&原创 2020-06-13 22:12:33 · 214 阅读 · 0 评论 -
洛谷P1704 寻找优美的做题曲线(排序+lis)
2020.6.13这道题有点坑的地方可能在于窝太菜了,老是忘了a代表的是下标而不是数值然后还得了42分。这道题思路特别白板,就是把所有必做的点排序,然后类似于分块预处理那样把点和点之间可能能做的点,即大于左端点但严格小于右端点的值全部拉进手开队列里然后做一遍lis(最长上升子序列)就行了。lis相信我不用多说了,不会没有人还不会吧。代码:#include <bits/stdc++.h>using namespace std;#define limit (500000 + 5)//防止原创 2020-06-13 18:40:39 · 162 阅读 · 0 评论 -
洛谷P1314 聪明的质检员(二分)
2020.6.13题意,找y与给出的标准值k的差值的最小值这道题是为数不多的好题之一。二分+bfs什么的可以练练,不过icpc不会出这么恶心的题就是了。这道题是二分专题,首先我们要找单调性,观察到数据全部为正数,那么首先想到w越大则yi越小。单调性就在这里了,想到二分基准值W。但是我们要求的|k - s|的最小值,而最小值的话就不一定具有单调性了,可能需要三分,但我也不确定这是个单峰函数,毕竟数学不好 。感到那么一丝诡异,想了想算了,写了再说。然后区间 [ l , r ] 的处理怎么办呢? 首先每次原创 2020-06-13 14:49:50 · 354 阅读 · 0 评论 -
洛谷P1928 外星密码(字符串模拟 + 分治 or dfs)
2020.6.10po一下解题报告证明我今天没偷懒。早上的闹钟+老爸的音乐让今天这起回笼觉引发的惨案格外壮烈,起来一看,艹,9点多了。然后赶紧起床锻炼,就来做题了。这道题看见多重压缩我们很容易想到只需要将最内层的压缩字串解压,其余可以按照规则把字符串逐层解压递归就行。这道题感觉有些膈应的地方是,虽然在一开始很容易就想到了子状态,但是却并不太好确定怎么将字符串正确地加起来。毕竟括号可以无限长,无限拓展,字符串地下标不好确定。后来看到有人说可以边读边做就恍然大雾了,这样连我手动模拟整数读入都省了。代码原创 2020-06-10 12:27:27 · 444 阅读 · 0 评论 -
洛谷P1966 火柴排队(cdq分治 + 逆序对)
2020.6.8练二分了当然要练练分治,这些基础的处理手段真的还是蛮好用的。这道题是问ai 和bi的平方和最小,最少需要的相邻的交换次数。手动模拟了一下感觉没什么思路。但是后来注意到每次只能移动相邻的。要想差值的平方和最小自然是两边根据值的大小排好序了对应的下标所指代的元素之差使得差值的平方和最小,顺便记录对应的下标。将用下标建立数组,按照下标将排好序的b的下标投射到a去。然后用类似于归并排序逆序对方法求逆序数就行了,因为我们已经对值的大小分别排好了序,任何不在自己下标上的元素都需要被移动到相应的位置上原创 2020-06-08 12:01:43 · 214 阅读 · 0 评论 -
洛谷P3743 kotori的设备(二分double)
2020.6.7祝我cf div2好运,连续两把不在状态了。代码:#include <bits/stdc++.h>using namespace std;#define limit (100000 + 5)//防止溢出#define INF 0x3f3f3f3f#define inf 0x3f3f3f3f3f#define lowbit(i) i&(-i)//一步两步#define EPS 1e-6#define FASTIO ios::sync_with_stdi原创 2020-06-07 21:13:29 · 252 阅读 · 0 评论 -
洛谷P3853 [TJOI] 路标放置 (二分)
2020.6.7今天练习的内容主要是二分,关键还是那个judge函数怎么写的问题,其他都还好.题意是给定n距离,m个标志桶,如何增加不超过k个桶使得桶与桶之间的最小间距最小。TJOI的这道题我感觉比较怀疑绿题难度是否妥当,因为太简单了。很自然的就是对放置最小距离进行二分,比较人性化的一点是输入已经被排好序了,省得多写一行sort了。然后就是思考judge函数怎么写。为什么不叫check和ch函数呢,因为个人对ch这个前缀有种强烈的反感,ch到底是代表ac自动机trie树或者splay树的child还是原创 2020-06-07 18:42:23 · 259 阅读 · 0 评论