
二分答案
xyc1719
努力会说谎,但努力不会是白费
展开
-
NOIP2012 Day2 借教室
【问题简述】给定一个数n表示教室数 接下来n个数r[i],表示每天可以借用的教室数量。 有m份订单,每份订单有三个数d[i],s[i],t[i]。表示从S[i]天到t[i]天,借用d[i]个教室。 现在询问能否满足所有订单。 如果能,则输出0 不能,则输出-1,换行输出最早不能满足的订单。【输入样例】4 3 2 5 4 3 2 1 3 3 2 4 4 2 4...原创 2018-07-06 19:01:47 · 395 阅读 · 1 评论 -
国庆七连测(二)多段线性函数
【冗长的题目描述】目标是使得f(y)尽可能的小,并求出y的取值范围。【算法1】根据数学证明,f(y)应该是成u形或者平底锅形,所以二分或者三分求“谷底”就可以了。复杂度为O(n* log2n)【算法2】rt,我们考虑多段的线性函数。对于每一个绝对值函数。y<li时,等于-y+li;li<=y<=ri时,(最小)等于0;y>ri时,等于yi-ri;将这n个函数...原创 2018-10-02 16:45:26 · 234 阅读 · 0 评论 -
国庆七天测(五)马里奥
【一句话题意】给一个图,有一些可以空岛可以落脚。左右相邻的空岛之间移动不需要梯子,在同一列的空岛之间上下移动需要长度大于等于高度差的梯子。问从起点到终点至少需要多长的梯子。【算法一】鉴于拥有固定长度的梯子,跑一遍bfs确定是否可行的复杂度是O(n)的,且答案关于梯子长度单调。我们可以二分答案,二分梯子的长度再check。总复杂度为O(nlogn)【算法二】格子图的求到某个点的最小值,一般可以用...原创 2018-10-05 15:09:42 · 134 阅读 · 0 评论 -
Copier
【题意】有n台机器,给出每台机器的复印时间ti,有m个订单,每个订单大小用ai表示。规定复印机必须从小到大开启,必须有复印件才能进行复印,开始时只有一份原件。问最小复印时间。【分析】妥妥的二分答案,关键在于整个程序的策略。【算法一】首先优先队列算出复印出1到n-1张的时间,同时是,第2到n台机器开启的时间。对于每个询问,如果小于n直接输出,其余情况我们可以二分时间判断能否印ai张复印件。优...原创 2018-10-21 19:06:20 · 270 阅读 · 0 评论 -
排名【二分答案】【数据结构+模拟】
【一句话题意】给定n个人的初始位置,再给出每个人的速度,问在无限长的跑道上前m次“追赶事件”(一个人超过另一个人)n,m<=1e5【分析】这道题二分答案乱搞,先二分时间,再归并排序求逆序对,然后有个不强和另一个超强的剪枝。(弱)如果二分出的mid,求得的逆序对个数等于m,则跳出循环。(强)如果逆序对个数已经大于m了,则结束归并排序。std是说,用链表模拟(或者说维护?)相对位置,再用优...原创 2018-11-06 16:03:48 · 179 阅读 · 0 评论