二分搜索
zhuifengmax
这个作者很懒,什么都没留下…
展开
-
PAT找硬币(二分,哈希,双指针)
有一天,她去了一家宇宙购物中心购物,结账时可以使用各种硬币付款。但是,有一个特殊的付款要求:每张帐单,她只能使用恰好两个硬币来准确的支付消费金额。给定她拥有的所有硬币的面额,请你帮她确定对于给定的金额,她是否可以找到两个硬币来支付。输入格式第一行包含两个整数 N 和 M,分别表示硬币数量以及需要支付的金额。第二行包含 N 个整数,表示每个硬币的面额。输出格式输出一行,包含两个整数 V1,V2,表示所选的两个硬币的面额,使得 V1≤V2 并且 V1+V2=M。如果答案不唯一,则输出 V1 最小原创 2021-01-19 09:45:14 · 100 阅读 · 0 评论 -
acwing每日一题:剪绳子
有N根绳子,第i根绳子长度为Li,现在需要M根等长的绳子,你可以对N根绳子进行任意裁剪(不能拼接),请你帮忙计算出这M根绳子最长的长度是多少。输入格式第一行包含2个正整数N、M,表示原始绳子的数量和需求绳子的数量。第二行包含N个整数,其中第 i 个整数Li表示第 i 根绳子的长度。输出格式输出一个数字,表示裁剪后最长的长度,保留两位小数。输入样例:3 43 5 4输出样例:2.50//利用二分的思想#include <iostream>#include <al原创 2021-01-14 09:22:01 · 232 阅读 · 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 · 355 阅读 · 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 · 1683 阅读 · 2 评论