当前位置: 首页 > news >正文

电子商务网站建设论文总结徐州网站设计

电子商务网站建设论文总结,徐州网站设计,网站放到云服务器上怎么做,凡客网站目录优化目录 蓝桥杯2023年第十四届省赛真题-买瓜 题目描述 输入格式 输出格式 样例输入 样例输出 提示 【思路解析】 【代码实现】 蓝桥杯2023年第十四届省赛真题-买瓜 时间限制: 3s 内存限制: 320MB 提交: 796 解决: 69 题目描述 小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个…

目录

蓝桥杯2023年第十四届省赛真题-买瓜

题目描述

输入格式

输出格式

样例输入

样例输出

提示

【思路解析】

【代码实现】


蓝桥杯2023年第十四届省赛真题-买瓜

时间限制: 3s 内存限制: 320MB 提交: 796 解决: 69

题目描述

小蓝正在一个瓜摊上买瓜。瓜摊上共有 n 个瓜,每个瓜的重量为 Ai 。

小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。

小蓝希望买到的瓜的重量的和恰好为 m 。

请问小蓝至少要劈多少个瓜才能买到重量恰好为 m 的瓜。如果无论怎样小蓝都无法得到总重恰好为 m 的瓜,请输出 −1 。

输入格式

输入的第一行包含两个整数 n, m,用一个空格分隔,分别表示瓜的个数和小蓝想买到的瓜的总重量。

第二行包含 n 个整数 Ai,相邻整数之间使用一个空格分隔,分别表示每个瓜的重量。

输出格式

输出一行包含一个整数表示答案。

样例输入

复制

3 10
1 3 13

样例输出

复制

2

提示

对于 20% 的评测用例,∑n≤10;

对于 60% 的评测用例,∑n≤20;

对于所有评测用例,1 ≤n≤30,1≤ Ai ≤ 109 ,1 ≤ m ≤ 10^9

【思路解析】

这道题是一个很简单的递归可能性的罗列,但是每次递归有三个情况,则时间复杂度为O(3^N),时间复杂度过高,所以需要在递归过程中除掉那些完全不可能的解,使复杂度降低。

【代码实现】

package LQB;import java.util.Scanner;/*** @ProjectName: study3* @FileName: Ex4* @author:HWJ* @Data: 2023/9/17 21:54*/
public class Ex4 {static double[] subs; // subs[i]表示为西瓜i -西瓜n-1的西瓜质量和,用于对递归的降低可能性static double m;static int n;static int min = 40; // 因为n最大为30,所以最多劈瓜30次static double[] weights; // weights[i]表示为第i个西瓜的质量public static void main(String[] args) {Scanner input = new Scanner(System.in);n = input.nextInt();m = input.nextInt();weights = new double[n];subs = new double[n];for (int i = 0; i < n; i++) {weights[i] = input.nextInt();}subs[n - 1] = weights[n - 1];for (int i = n - 2; i >= 0; i--) {subs[i] = subs[i + 1] + weights[i];}int p = dfs(0, 0, 0);System.out.println(p == Integer.MAX_VALUE ? -1 : p);}// sum 表示现在搞定了多少西瓜   index 表示现在对第几个西瓜做决策   have表示现在已经劈了几次瓜了public static int dfs(double sum, int index, int have) {if (have >= min) { // 如果此时虽然满足要求但他大于了当前的最优情况,他不可能是最优解,直接排除掉return Integer.MAX_VALUE;}if (sum == m) { // 达到满足要求min = have; // 更新最小情况。return have;}if (sum > m) {return Integer.MAX_VALUE; // 此时不加任何西瓜 重量也已经超过了需要的重量,所以直接排除}if (index == n) {return Integer.MAX_VALUE; //此时已经使用了所有西瓜,也无法满足,直接排除掉}if (subs[index] + sum < m) {return Integer.MAX_VALUE; // 此时加上后面所有的西瓜也不满足条件,所以没有必要再递归了,}int p1 = dfs(sum + weights[index], index + 1, have);int p2 = dfs(sum + weights[index] / 2.0, index + 1, have + 1);int p3 = dfs(sum, index + 1, have);return Math.min(p1, Math.min(p2, p3));}}

http://www.tj-hxxt.cn/news/71403.html

相关文章:

  • 网站做等保是按照什么定级别的北京优化seo排名
  • 上海旅游网站建设搜索网
  • 网业认证怎么认证碉堡了seo博客
  • 如何做付费视频网站seo怎么做新手入门
  • 建筑工程招聘网西安优化网站公司
  • 有没有做任务给钱的网站网络视频营销平台
  • 为什么邮箱突然进不去了总提示正在进入不安全网站app开发公司排行榜
  • 普陀区网站建设电商平台推广费用大概要多少
  • 云相册网站怎么做橘子seo历史查询
  • 可信网站认证必须做googleplay安卓版下载
  • 北京网站seo排名优化贵阳百度推广电话
  • 学校教育网站建设ks刷粉网站推广马上刷
  • 有了源代码如何做网站市场调研报告范文3000字
  • 个人秀网站网站关键词收录查询
  • 西安建设工程信息网怎么看seo的基本步骤顺序正确的是
  • 做网站拍幕布照是什么意思推广的十种方式
  • 靖江市属于哪里有做网站的网站建设的整体流程有哪些
  • 怎么自己做个网站手游推广渠道
  • 贷款类网站怎样做太原seo排名外包
  • 信誉好的龙岗网站制作竞价什么意思
  • 哪些企业网站做的好创建网站步骤
  • 怎么用本机ip做网站厦门网站的关键词自动排名
  • 手机网站开发源码拼多多搜索关键词排名
  • 网站推广公司兴田德润在哪里微博营销推广策划方案
  • 长沙网站建站公司百度推广需要什么条件
  • 中英文双语的网站怎么建设二维码引流推广的平台
  • 六 网站建设方案.企业网站的功能
  • 新网站如何做百度百科整合营销传播
  • 分类信息网站开发一个具体网站的seo优化方案
  • 吉林系统建站怎么用品牌推广工作内容