- 博客(15)
- 收藏
- 关注
原创 二分总结(超详细版)四大模块,10分钟带你学会二分(一)
其中r 表示的查找区间终点的下一个位置;l==r 时表示查找区间为空, 停止查找4.二分查找时间复杂度:log2(n)三.二分查找使用场合1.元素查找需要在序列中查找某个元素,查找相关题型,可以考虑使用二分,通常用于优化,避免超时。2.判断元素是否存在优先考虑能否使用标记数组,能用标记数组,优先使用标记数组;如果查找的是字符串或者数据范围太大,无法使用标记数组,考虑使用二分查找。1.序列 a 中的所有元素都是唯一的,都是不同的;否则无法确定 x所处的位置。2.使用二分查找的前提是:a 序列必须有序!
2024-03-10 12:18:29 272 1
原创 矩形切割c++(我所做的最难二分)
小科在平面上画了N个矩形,矩形都平行于坐标轴且互不重叠。所有矩形的顶点都是整点。要求画一根平行于y轴的直线x = d(d是整数) ,使得这些矩形落在直线左边的面积之和必须大于等于落在右边的面积之和,且两边面积之差最小,如果有多个满足条件的直线,那么优先选择d值较小的。第1行:一个整数N,表示矩形的数量(1
2024-03-02 19:17:47 238
原创 科丁博士能出牌吗
科丁博士很喜欢打牌,他的牌打的也很好。科丁博士的上家出了4张x, 现在轮到科丁博士出牌了,如果科丁博士手上所有大于x的牌中有某种牌不少于4张,那么科丁博士就可以压过上家,请你帮助科丁博士算一算他手上的牌能否压过上家?科丁星的扑克牌有10^9 种牌,牌上的数字分别从1到10^9 (没有J Q K和大小王)。不像我们地球人每种牌有4张,科丁星的扑克牌每种牌有8张,也就是说科丁星的每副牌有8*10^9 张。第1行:两个整数n, x(分别代表科丁博士手上牌的数量和科丁博士上家出牌的大小)希望大家喜欢(❤ ω ❤)
2024-02-05 14:39:38 457 1
原创 K11734 完美照片(前缀和差分训练例题)
题目描述科丁博士为了更好宣传科丁星系,想拍一张科丁战士的宣传照片。但是科丁博士想拍一张“完美的”照片,“完美的”是指是照片中的女战士和男战士的数量相等。他让N(1≤N≤50000)个科丁战士占成一条直线,每个战士都有各自的坐标,坐标的范围是0到10^9,同时每个战士用0和1来表示性别,0表示是女战士,1表示是男战士。请帮助科丁博士计算出一个区间,使这个区间能够达到“完美”,并使得区间尽可能大。区间的大小为区间内最右边的战士的坐标减去最左边的战士的坐标。
2024-01-30 19:35:11 267
原创 c++ K11734 完美照片
但是科丁博士想拍一张“完美的”照片,“完美的”是指是照片中的女战士和男战士的数量相等。他让N(1≤N≤50000)个科丁战士占成一条直线,每个战士都有各自的坐标,坐标的范围是0到10^9,同时每个战士用0和1来表示性别,0表示是女战士,1表示是男战士。区间的大小为区间内最右边的战士的坐标减去最左边的战士的坐标。接下来N行,每行两个整数,分别代表战士i的性别和此战士的坐标。输入中,每种性别至少有一名战士,没有两个战士的坐标相同。对于100%的数据,1≤N≤50000。1行,一个整数,最大的区间的大小。
2023-08-10 09:06:14 204 4
原创 最大子段和
给出一段序列,选出其中连续且非空的一段使得这段和最大。输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度。第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。输入文件maxsum1.out,仅包括1个整数,为最大的子段和是多少。子段的最小长度为1。
2023-07-29 10:12:42 83 1
原创 最长上升子序列(Longest Increasing Subsequence,LIS)
初始时,dp数组的所有元素都赋值为1,因为以单个元素结尾的最长上升子序列的长度必定为1。接下来,我们遍历整个序列,对于序列中的每个元素i,我们再次遍历该元素前面的元素j,如果j比i小,就说明可以将j加入到以i结尾的最长上升子序列中,这时就需要更新dp[i]的值。例如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,有(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8).你的任务,就是对于给定的序列,求出最长上升子序列的长度。
2023-07-26 17:30:50 126 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人