
基础 - 二分法,三分法
文章平均质量分 92
二分法,三分法
繁凡さん
只想当个小透明,就图一乐^q^,希望可以做出一些微小的贡献(目前研究方向:自然语言处理、深度学习中的对抗攻击、元学习,欢迎大佬们来与我交流^0^)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BZOJ 2135 刷题计划(贪心,求导,二分)【BZOJ 修复工程】
【BZOJ修复计划 #5】BZOJ 2135 刷题计划 【国家集训队作业】原创 2021-09-07 22:32:25 · 498 阅读 · 4 评论 -
P1024 一元三次方程求解(递归式二分)
我们判断两点(x)之间是否有根的依据是是否存在f(x)∗f(y)<0f(x) * f(y)<0f(x)∗f(y)<0然后由于题目中说根于根之间的差的绝对值大于等于1,以及范围只有-100到100所以我们可以直接枚举,每次+1,缩小范围,然后二分答案精确到0.001即可。需要注意的是由于我们枚举的时候是从-100到100挨个枚举的所以我们在输出的时候l和r我们只能输出一个,因为一个输出以后另一个由于循环一定会再次到达这个点。所以我们枚举到99,只输出r(l = i, r = i + 1.原创 2020-10-20 20:14:04 · 583 阅读 · 0 评论 -
poj 2728 Desert King(最小比率生成树 / 0-1分数规划 / 二分)
二分答案,我们要找最小的答案,如果有更小的答案说明 ∑W−Z∗∑L<=0∑W−Z∗∑L <= 0∑W−Z∗∑L<=0。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int N = 500007, INF = 0x3f3f3f3f;const double eps = 1e-6;do..原创 2020-09-11 21:43:01 · 261 阅读 · 0 评论 -
Luogu P4105 [HEOI2014]南园满地堆轻絮
最小化最大值,一眼就能看出来要二分。我们先通过题目中花里胡哨的方法构造出数据,然后因为题目中修改次数无限,随意修改,我们只要求修改差值的最大值,也就是说我们只需要维护最大值即可。我们只要找到差值最大的逆序对,答案就是最大的逆序对的一半。因为作为逆序对,前面的大于后面,差值最大的两个最终必须都要相等(因为要求最后的序列非严格单调递增,可以相等),那么我们不论是高的降低,还是低的增加,需要改的都是这个差值,肯定是一半最优。这样我们就可以O(n)O(n)O(n)解决。#include<iostream原创 2020-08-08 22:48:52 · 227 阅读 · 0 评论 -
解题报告:luoguP1462 通往奥格瑞玛的道路(二分、最短路)
我们直接二分答案,二分过路费,每次Dij判断走所有小于当前mid的路能否到达终点且最短路(总扣血)小于最大血量。因为数据中过路费最大为1e9, log2(1e9)<30log_2(1e9)<30log2(1e9)<30所以总时间复杂度为O(30∗nlogn)O(30 * nlogn)O(30∗nlogn),而n为1e41e41e4 ,所以稳过#include<queue>#include<iostream>#include<cstdio>.原创 2020-08-06 20:29:32 · 265 阅读 · 0 评论 -
解题报告 - 牛客练习赛63 C - 牛牛的揠苗助长(货仓选址+二分)
链接:https://ac.nowcoder.com/acm/contest/5531/C来源:牛客网题目描述牛牛有一块长度大小为n的菜园,他首先对这块菜园从1到n进行了编号,每一块地分别为1号、2号…n号菜地,然后他往每块菜地中都种下了一些水稻,一开始,第i块菜地中的水稻高度均为a[i]个单位。然后我们知道水稻的生长周期都是n天,也就是说每逢n天水稻就会长高一个单位。但是不巧的是整个菜园中每一块菜地的生长周期都错开了,具体来说,第1天的时候第1块菜地中的水稻长高一个单位,第2天的时候第2块菜地中的水原创 2020-05-30 10:36:18 · 366 阅读 · 0 评论 -
0x04.基本算法 — 二分和三分
目录二分1.整数域上的二分2.实数域上的二分声明:本系列博客是《算法竞赛进阶指南》+《算法竞赛入门经典》+《挑战程序设计竞赛》的学习笔记的目录,主要是因为我三本都买了 按照《算法竞赛进阶指南》的目录顺序学习,包含《算法竞赛进阶指南》的重要知识点、例题答案及我个人的学习心得和对该算法的补充拓展,仅用于学习交流。博客的内容大多都来源于《算法竞赛进阶指南》和网络(习题和代码可都是我自己敲哒) ,如果...原创 2020-04-23 12:37:00 · 1731 阅读 · 1 评论 -
P2759 奇怪的函数(二分答案,数学运算)
P2759 奇怪的函数范围2e92e92e9,直接枚举肯定超时,正着直接求答案求不出来,那么运用逆向思维,直接二分答案判断即可。这道题涉及简单的数学运算。要xx>=nx^x>=nxx>=n位数,而n位数==10n−1==10^{n-1}==10n−1,所以问题转换为二分答案,查找x使得xx>=10n−1x^x>=10^{n-1}xx>=10n−1,两边取l...原创 2020-04-16 17:06:24 · 390 阅读 · 0 评论 -
完全平方数(打表+二分)
链接:https://ac.nowcoder.com/acm/contest/5203/C来源:牛客网完全平方数题目描述多次查询[l,r][l,r][l,r]范围内的完全平方数个数 定义整数x为完全平方数当且仅当可以找到整数y使得y∗y=xy*y=xy∗y=x输入描述:第一行一个数n表示查询次数之后n行每行两个数l,r输出描述:对于每个查询,输出一个数表示答案示例1输入...原创 2020-04-14 21:44:52 · 1016 阅读 · 0 评论 -
牛客练习赛61 E 相似的子串(二分+哈希)难度⭐⭐⭐
相似的子串 链接时间限制:C/C++ 4秒,其他语言8秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给定一个字符串,要求取出k个位置不相交的子串,且他们之间任意两个的最长公共前缀的长度均不小于x。现在给出k,求最大的x。两个字符串str1,str2的公共前缀为x指str1和str2的长度均不小于x且这两个字符串的前x个字...原创 2020-04-11 09:33:19 · 268 阅读 · 0 评论 -
P3382 【模板】三分法,难度⭐⭐⭐
P3382 【模板】三分法法1 : 三分法对于一个二次函数[L,R]内取最值,选取两个点x=(2∗l+r)/3,y=(l+2∗r)/3若f(x)>f(y),那么[y,R]这一段可以舍弃(一定不会成为最优解),否则[l,x]这一段舍弃#include<iostream>#include<stdio.h>#include<string.h>#i...原创 2020-03-31 22:14:13 · 381 阅读 · 0 评论 -
POJ 3111 K Best (最大化平均值,贪心 二分)难度⭐⭐⭐
题目来源:【题意】有n个物品的重量和价值分别是wi,vi,从中选取k个物品使得单位重量的价值最大。输出格式:输出一行物品的编号。#include<iostream>#include<stdio.h>#include<algorithm>#define ls (p<<1)#define rs (p<<1|1)#defi...原创 2020-03-20 21:57:31 · 374 阅读 · 0 评论 -
P3743 kotori的设备(二分答案,思维,线性)难度⭐⭐⭐
题目链接题目背景kotori 有 n 个可同时使用的设备。题目描述第 i 个设备每秒消耗ai个单位能量。能量的使用是连续的,也就是说能量不是某时刻突然消耗的,而是匀速消耗。也就是说,对于任意实数 ,在 k 秒内消耗的能量均为k*ai 单位。在开始的时候第 i 个设备里存储着bi个单位能量。同时 kotori 又有一个可以给任意一个设备充电的充电宝,每秒可以给接通的设备充能p 个单位,充能...原创 2020-03-11 19:39:49 · 556 阅读 · 0 评论 -
P1102 A-B 数对(二分,映射)难度⭐
题目描述给出一串数以及一个数字C,要求计算出所有 A−B=CA−B=CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。输入格式输入共两行。第一行,两个整数 N,C。第二行,N 个整数,作为要求处理的那串数。输出格式一行,表示该串数中包含的满足 A−B=CA−B=CA−B=C 的数对的个数。4 11 1 2 33很简单的一道题,要注意的是映射的思想利用...原创 2020-03-10 16:23:16 · 533 阅读 · 0 评论 -
【题解】CF1070E Getting Deals Done(二分+思维)难度⭐⭐⭐
CF1070E Getting Deals Done题意翻译题目描述Polycarp有很多工作要做。最近他学会了一条新的时间管理技巧:“如果任务需要五分钟或更短时间,请立即执行”。Polycarp喜欢新技巧,但他不确定五分钟是最佳值。他认为这个值 d(分钟)应根据现有任务列表选择。Polycarp有一份长度为 n 的要完成的任务清单。第 i 个任务有一个需要的时间Pi,即它确切地需要 Pi...原创 2020-03-03 22:23:06 · 510 阅读 · 0 评论 -
【题解】P1419 寻找段落(二分+单调队列)难度⭐⭐⭐★
P1419 寻找段落首先二分答案,即:二分最大平均值。我们将a全部减去mid,问题转化为判断是否存在一个长度在s~t范围内的区间它的和为正,如果有说明还有更大的平均值。用前缀和和单调队列维护。不会单调队列的点这里然后用单调队列求出sum[i]-min(sum[i-t]~sum[i-s]),然后判断是否大于0即可。#include<bits/stdc++.h>using ...原创 2020-02-29 21:40:50 · 556 阅读 · 1 评论 -
【基础算法】二分法(二分答案,二分查找),三分法,Dinkelbach算法,算法详解+例题剖析
二分法例题1.二分法是一种快速寻找元素的方法,但又不是一种单纯的快速寻找的方法,其寻找的元素是需要一个单调有序的元素,所以在题目中如果遇到了需要排序然后寻找的,我们可以首要考虑二分法,前提是对于世界没有要求,二分法可以很迅速的找到我们所找到的元素。二分法的实现方式是:先将一串元素分为左右两部分,然后用中间值与所需值比较,若中间值较小,那么便取中间值与右边的边界的中间值,继续与所需值比较。...原创 2019-10-24 21:52:00 · 3300 阅读 · 4 评论