![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AcWing
文章平均质量分 53
霖承科技 LinChance
这个作者很懒,什么都没留下…
展开
-
730. 机器人跳跃问题
730. 机器人跳跃问题题目链接题意跳建筑( 0 - n ),0 位置上初始能量为 e,问最少多少能力能跳完所有建筑 过程中能力不小于 0假设机器人在第 k 个建筑,且它现在的能量值是 E,下一步它将跳到第 k+1 个建筑。如果 EH(k+1)>E,那么机器人就失去 EH(k+1)−E 的能量值,否则它将得到 )E−H(k+1) 的能量值。思路二分答案坑点溢出问题 (爆 long long int)算法一:二分答案时间复杂度O(log2n)O(log_2 n原创 2022-04-02 14:27:05 · 475 阅读 · 0 评论 -
790. 数的三次方根
790. 数的三次方根题目链接题意给定一个浮点数 n,求它的三次方根。思路二分答案坑点n 可能为负数算法一:二分答案时间复杂度O(log2n)O(log_2n)O(log2n)实现步骤二分答案 x判断 x * x * x 与 n 的关系 判断左右直到精度小于一定值 认为找到答案代码#include<bits/stdc++.h>#define endl '\n' #define int long longusing namespa原创 2022-04-02 12:45:45 · 261 阅读 · 0 评论 -
789. 数的范围
789. 数的范围题目链接题意给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。如果数组中不存在该元素,则返回 -1 -1。思路分别找右边界和左边界坑点找右边界 —— 找大于目标值和大于等于目标值的情况 mid=(l+r)/2while(1){ int mid=(l+r)/2; if(l==r) { break; } i原创 2022-03-31 21:52:40 · 190 阅读 · 0 评论 -
94. 递归实现排列型枚举
94. 递归实现排列型枚举题目题目链接题意把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。字典序较小的排在前面。思路固定枚举顺序(字典序)数组 st 表示状态 1选 0不选数组 num 存储当前选的序列递归枚举坑点理解 u 的含义(表示当前枚举序列的第几个位置上的数)恢复现场字典序算法一:DFS 递归时间复杂度O(n!)O(n!)O(n!)实现步骤定义状态数组 st、序列数组 num设定边界条件控制第一个数的遍历情况(从原创 2022-03-26 01:39:17 · 237 阅读 · 0 评论 -
93. 递归实现组合型枚举
93. 递归实现组合型枚举题目题目链接题意从 1∼n 这 n 个整数中随机选出 m 个,按照从小到大的顺序输出所有方案。思路枚举每个位置上可以选哪些数固定枚举顺序(从小到大)坑点u 表示当前枚举到第几个位置上的数需要剪枝(当u>1时,当前数需要比前一个数大)算法一:DFS 递归时间复杂度O(n!)O(n!)O(n!)实现步骤数组 st 记录选和不选的状态数组 num 记录选择的序列暴力枚举每一个数是否符合条件是否可选代码#include原创 2022-03-26 01:37:41 · 1588 阅读 · 0 评论 -
92. 递归实现指数型枚举
题目题目链接题意从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。思路n 个数 每个数有3个状态 没考虑、选、不选使用 st 数组标记 n 个数的状态dfs 深搜 树的先序遍历坑点需要 3 个状态进行标记恢复现场是个好习惯本质上是数的先序遍历 (左根右)算法一:DFS 递归时间复杂度O(2n)O(2^n)O(2n)实现步骤维护一个标记状态的数组 st判断边界条件两个分支 选 or 不选代码#include<bit原创 2022-03-25 17:43:35 · 700 阅读 · 0 评论 -
89. a^b
题目 题目链接 题意 求a的b次方取模p后的值 思路 快速幂 坑点 b是0,p是1的情况 代码 #include<bits/stdc++.h>#define endl '\n' #define int long longusing namespace std;const int N = 2e5+10;typedef long long ll;int qim(int a,int k,int p){//a^k%p的值//特殊情况+lon原创 2021-12-21 22:25:55 · 164 阅读 · 0 评论 -
1343. 挤牛奶
题目 题目链接 题意 农夫挤奶牛,给出n个农夫挤奶牛的开始时间和结束时间,求最长连续挤奶时间和最长连续无人挤奶时间,若有一农夫20结束 二农夫21开始,则中间有1分钟无人挤奶 思路 差分可做 给时间轴上标记状态,大于0则有人挤奶,等于0则无人挤奶,给挤奶时间区间上加一个数,最后遍历时间轴,找最长的大于0序列和最长的0序列 区间合并可做 模板就可以了 坑点 差分时注意0-2是3个数,但只有2秒,所以r-1 区间合..原创 2021-12-14 20:05:58 · 1122 阅读 · 0 评论 -
Acwing
货仓选址文章目录货仓选址题意思路坑点代码总结货仓选址题目链接题意输入一个整数表示要输入多少个数。输出一个数表示距离之和的最小值。思路1.仓库的地址可以是在Ai~An这个范围的左边或者是右边,或者是中间。2.在右边的话这个距离是asb(Ai-An)还要在加上An到仓库之间的距离。左边的话同理,经过比较得只要仓库的地址在Ai到An之间。坑点1.无。代码#include<iostream>#include<algorithm>using原创 2021-11-30 10:40:15 · 66 阅读 · 0 评论 -
AcWing 680. 剪绳子
AcWing 680. 剪绳子680. 剪绳子有 N 根绳子,第 i 根绳子长度为 Li,现在需要 M 根等长的绳子,你可以对 N 根绳子进行任意裁剪(不能拼接),请你帮忙计算出这 M 根绳子最长的长度是多少。输入格式第一行包含 2 个正整数 N、M,表示原始绳子的数量和需求绳子的数量。第二行包含 N 个整数,其中第 i 个整数 Li 表示第 i 根绳子的长度。输出格式输出一个数字,表示裁剪后最长的长度,保留两位小数。数据范围1≤N,M≤100000,0<Li<109样例输原创 2021-04-26 19:35:12 · 77 阅读 · 0 评论