随笔分类 - 数据结构---二分搜索
摘要:题目链接: https://cn.vjudge.net/problem/ZOJ-3278 题目大意: 给出两个数列A和B,长度分别为N,M (1<=N, M<=10^5, 1<=Ai, Bi<=10^5),求Cij = Ai * Bj中第K大的数 解题思路: 二分第k大,然后枚举a[i],二分b[i
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/UVA-1152 题目大意: 给出4个数组,每个数组有n个数,问有多少种方案在每个数组中选一个数,使得四个数相加为0. n <= 4000 解题思路: 两重循环求出a + b的所有情况 两重循环求出-c - d的所有情况 枚举a
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/ZOJ-3279 题目大意: 有1到n 那个level 每一个level有a[i]只蚂蚁两种操作 p a b 把第a个level的蚂蚁数量改成b q a 查询第a只蚂蚁在哪个level里。 解题思路: 用树状数组动态维护前缀和,
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-3484 题目大意: 给出一系列等差数列,给出第一项和最后一项和公差 这些等差数列中每个数出现的次数只有一个是奇数,找出这个数,并求出其出现的次数 解题思路: 二分枚举这个数,但是只是二分这个数字的话,找不到二分的条件。
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-1759 题目大意: N个灯泡离地H_i,满足H1 = A ,Hi = (Hi-1 + Hi+1)/2 – 1,HN = B ,求最大B 解题思路: 如果二分B,会变成无从下手,发现如果求出H2,那么就可以之后的所有高度
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-3662 题目大意: 求一条路径从1到n使第k+1大的边最小。 解题思路: 二分答案mid,当原边权小于等于mid新边权为0,否则新边权为1. 求最短路,若小于等于k说明满足条件 注意:最开始的l必须是0,而不是这些边中
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-3579 题目大意: 求的是一列数所有相互之间差值的序列的最中间的值是多少。 解题思路: 可以用二分套二分的方法求解第m大,和POJ-3685类似,这里的模板也差不多 枚举第m大x,判断小于等于x的数目是不是大于m,如果
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-3685 题目大意: 给出一个N*N的矩阵A,A[i][j]的值等于i2 + 100000 ×i + j2 - 100000 × j + i × j,求这个矩阵中第M小的数 解题思路: 此处需要二分第M值,设为x,然后再
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-2976 题目大意: 给定n个二元组(a,b),扔掉k个二元组,使得剩下的a元素之和与b元素之和的比率最大 解题思路: 扔掉k个球最大化平均值就是求取n-k个的最大化平均值 和POJ-3111类似 直接用最大化平均值模板
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-3104 题目大意: 有一些衣服,每件衣服有一定水量,有一个烘干机,每次可以烘一件衣服,每分钟可以烘掉k滴水。每件衣服每分钟可以自动蒸发掉一滴水,用烘干机烘衣服时不蒸发。问最少需要多少时间能烘干所有的衣服。 解题思路:
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-3273 题目大意: 给N个数,划分为M个块(不得打乱数顺序)。找到一个最好的划分方式,使得块的和的最大值 最小 解题思路: 首先是最大值最小 写出二分模板(需要确定上下界) 然后根据二分模板写chack函数
阅读全文
摘要:题目链接: https://cn.vjudge.net/problem/POJ-3111 题目大意: 卖宝救夫:Demy要卖珠宝,n件分别价值vi 重 wi,她希望保留k件使得 最大。 解题思路:
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2456 题目大意: 有n个牛栏,选m个放进牛,相当于一条线段上有 n 个点,选取 m 个点, 使得相邻点之间的最小距离值最大 解题思路: 二分枚举最小距离的最大值
阅读全文
摘要:【模板+讲解】二分答案 !阅读须知||阅读本博文前笔者认为读者已经学会(或了解)了: 1.基础语言与算法 2.标准二分法(二分思想) 3.二分查找 定义 二分答案与二分查找类似,即对有着单调性的答案进行二分,大多数情况下用于求解满足某种条件下的最大(小)值。 答案单调性 答案的单调性大多数情况下可以
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-1064 题目大意: 有N条绳子,长度分别是Li,如果从中切割出k条长度相同的绳子,最长多少 解题思路: 二分答案,判断当前解是否可行,由于是浮点数,可以考虑循环100次求值
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2852 题目大意: 题意: 给出三种操作, 0 在容器中插入一个数。 1 在容器中删除一个数。 2 求出容器中大于a的第k大元素。 解题思路: 用树状数组维护每个值,插入数字是add(x, 1),删除时
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-1840 题目大意: 给出一个5元3次方程,输入其5个系数,求它的解的个数 其中系数 ai∈[-50,50] 自变量xi∈[-50,0)∪(0,50] 注意:xi不为0 解题思路: 五重循环肯定TLE,所以选择三重循环+两重循
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2141 题目大意: 给ABC三个数组,给一个X,求是否存在Ai+Bj+Ck = X 思路: 等式转化成Ai+Bj = X-Ck 这样预处理出Ai+Bj的所有数字,然后循环k,二分查找X-Ck是否存在。
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2109 题目大意: 思路: 一开始以为需要大数,没想到一个pow就行了,真是涨姿势 考虑到数值存储问题和精度问题,这题最直观的思路应该是使用 高精度算法 求解。 而事实上,这题也可用公式法求解,但需要一些技巧。 开方公式:k
阅读全文

浙公网安备 33010602011771号