
二分搜索
zhuifengmax
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT找硬币(二分,哈希,双指针)
有一天,她去了一家宇宙购物中心购物,结账时可以使用各种硬币付款。 但是,有一个特殊的付款要求:每张帐单,她只能使用恰好两个硬币来准确的支付消费金额。 给定她拥有的所有硬币的面额,请你帮她确定对于给定的金额,她是否可以找到两个硬币来支付。 输入格式 第一行包含两个整数 N 和 M,分别表示硬币数量以及需要支付的金额。 第二行包含 N 个整数,表示每个硬币的面额。 输出格式 输出一行,包含两个整数 V1,V2,表示所选的两个硬币的面额,使得 V1≤V2 并且 V1+V2=M。 如果答案不唯一,则输出 V1 最小原创 2021-01-19 09:45:14 · 130 阅读 · 0 评论 -
acwing每日一题:剪绳子
有N根绳子,第i根绳子长度为Li,现在需要M根等长的绳子,你可以对N根绳子进行任意裁剪(不能拼接),请你帮忙计算出这M根绳子最长的长度是多少。 输入格式 第一行包含2个正整数N、M,表示原始绳子的数量和需求绳子的数量。 第二行包含N个整数,其中第 i 个整数Li表示第 i 根绳子的长度。 输出格式 输出一个数字,表示裁剪后最长的长度,保留两位小数。 输入样例: 3 4 3 5 4 输出样例: 2.50 //利用二分的思想 #include <iostream> #include <al原创 2021-01-14 09:22:01 · 340 阅读 · 0 评论 -
子段和问题
一:求一个序列的最大字段和 采用动态规划的思想,直接看代码 #include <iostream> #include <algorithm> using namespace std; int arr[100]; int dp[100]; int main(void) { int n; cin >> n; int sum = -99999999; for (int i = 0; i < n; i++) { cin原创 2020-09-13 10:06:58 · 397 阅读 · 0 评论 -
数列分段 Section II
题目描述 对于给定的一个长度为N的正整数数列 A_{1\sim N}A1∼N,现要将其分成 MM(M\leq NM≤N)段,并要求每段连续,且每段和的最大值最小。 关于最大值最小: 例如一数列 4\ 2\ 4\ 5\ 14 2 4 5 1 要分成 33 段。 将其如下分段: [4\ 2][4\ 5][1][4 2][4 5][1] 第一段和为 66,第 22 段和为 99,第 33 段和为 11,...原创 2020-04-05 14:55:09 · 1741 阅读 · 2 评论