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

分成sum接近的2个集合,返回相对小的sum

题目描述:给定一个正数数组arr,请把arr中所有的数分成两个集合,尽量让两个集合的累加和接近,返回最接近的情况下,较小集合的累加和sum。

way:选还是不选

//arr[index...]可以自由选择,返回累加和尽量接近rest,但不能超过rest的情况下,最接近的值

#include<iostream>
#include<vector>
using namespace std;//arr[index...]可以自由选择,返回累加和尽量接近rest,但不能超过rest的情况下,最接近的值
int process(vector<int>arr, int index, int rest)
{//没有数可选if(index==arr.size()){return 0;}//如果不选当前数int p1=process(arr,index+1,rest);//如果选当前数(前提是可以选)int p2=0;if(rest-arr[index]>=0){p2=arr[index] + process(arr,index+1,rest-arr[index]);}return max(p1,p2);
}int way(vector<int>arr)
{//不合法的数组if(arr.size()<2) return -1;int sum=0,N=arr.size();for(int i=0; i<N; i++){sum+=arr[i];}return process(arr,0, sum>>1);
}

way2:dp版。

int dpWay(vector<int>arr)
{//不合法的数组if(arr.size()<2) return -1;int sum=0,N=arr.size();for(int i=0; i<N; i++){sum+=arr[i];}int half=(sum>>1);vector<vector<int>>dp(N+1, vector<int>(half+1));for(int index=N-1; index>=0; index--){for(int rest=0; rest<=half; rest++){int p1=dp[index+1][rest];int p2=0;if(rest-arr[index]>=0){p2=arr[index]+dp[index+1][rest-arr[index]];}dp[index][rest]=max(p1,p2);}}return dp[0][half];
}

相关文章:

分成sum接近的2个集合,返回相对小的sum

题目描述&#xff1a;给定一个正数数组arr&#xff0c;请把arr中所有的数分成两个集合&#xff0c;尽量让两个集合的累加和接近&#xff0c;返回最接近的情况下&#xff0c;较小集合的累加和sum。 way&#xff1a;选还是不选 //arr[index...]可以自由选择,返回累加和尽量接近…...

SpringBoot前置知识01-SPI接口

SpringBoot前置知识-SPI接口 介绍 Java中SPI是一种服务发现机制&#xff0c;或者说是一种思想&#xff0c;亦是一种约定。其实JDK中的JDBC就是使用了这种用思想&#xff0c;JDBC在JDK中只定义了接口&#xff0c;并没有实现类&#xff0c;连接什么数据库就要引入什么数据库的驱…...

数学建模--LaTeX的基本使用

目录 1.回顾 2.设置这个页眉和页脚 3.对于字体的相关设置 4.对于这个分级标题的设置 5.列表的使用 6.插入图片 1.回顾 &#xff08;1&#xff09;昨天我们了解到了这个latex的使用基本常识&#xff0c;以及这个宏包的概念&#xff0c;区域的划分&#xff0c;不同的代码代…...

授权调用: 介绍 Transformers 智能体 2.0

简要概述 我们推出了 Transformers 智能体 2.0&#xff01; ⇒ &#x1f381; 在现有智能体类型的基础上&#xff0c;我们新增了两种能够 根据历史观察解决复杂任务的智能体。 ⇒ &#x1f4a1; 我们致力于让代码 清晰、模块化&#xff0c;并确保最终提示和工具等通用属性透明化…...

流媒体内网穿透/组网/视频协议转换EasyNTS上云网关如何更改密码?

EasyNTS上云网关的主要作用是解决异地视频共享/组网/上云的需求&#xff0c;网页对域名进行添加映射时&#xff0c;添加成功后会生成一个外网访问地址&#xff0c;在浏览器中输入外网访问地址&#xff0c;即可查看内网应用。无需开放端口&#xff0c;EasyNTS上云网关平台会向Ea…...

HTML5的标签(文本链接、图片路径详解)

目录 前言 一、文本链接 超链接表述 二、图片路径详解 绝对路径 相对路径 网络路径 前言 一、文本链接 超链接表述 HTML 使用标签<a>来设置超文本链接 超链接可以是一个字&#xff0c;一个词&#xff0c;或者一组词&#xff0c;也可以是一幅图像&#xff0c;…...

React Native 之 Linking(链接)(十五)

URL Scheme是什么 URL Scheme是一种机制&#xff0c;主要用于在移动应用程序中打开另一个应用程序或执行特定操作。 定义与原理&#xff1a; URL Scheme允许应用程序通过特定的URL格式与其他应用程序进行交互。 它通过在应用程序中注册一个自定义的URL Scheme&#xff0c;并在…...

Java实现图书系统

首先实现一个图书管理系统,我们要知道有哪些元素? 1.用户分成为管理员和普通用户 2.书:书架 书 3.操作的是: 书架 目录 第一步:建包 第二步:搭建框架 首先:完成book中的方法 其次:完成BookList 然后:完成管理员界面和普通用户界面 最后:Main 第三步:细分方法 1.退…...

Git提交和配置命令

一、提交代码到仓库 在软件开发中&#xff0c;版本控制是一个至关重要的环节。而Git作为目前最流行的版本控制系统之一&#xff0c;为我们提供了便捷高效的代码管理和协作工具。在日常开发中&#xff0c;我们经常需要将本地代码提交到远程仓库&#xff0c;以便于团队协作和版本…...

已解决java.lang.ExceptionInInitializerError: 初始化程序中的异常错误的正确解决方法,亲测有效!!!

已解决java.lang.ExceptionInInitializerError: 初始化程序中的异常错误的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 分析错误栈信息 检查静态初始化块和静态变量 验证资源和配置 使用日志记录…...

报表显示中,是否具备条件格式功能设计?

**报表显示中确实具备条件格式功能设计**。条件格式是一种根据特定条件对单元格或单元格区域进行格式设置的功能&#xff0c;它可以帮助用户更直观地理解和分析数据。 通过条件格式&#xff0c;用户可以设置多种条件&#xff0c;如单元格值的大小、是否包含特定文本等&#xf…...

完全二叉树查找

描述 有一棵树&#xff0c;输出某一深度的所有节点&#xff0c;有则输出这些节点&#xff0c;无则输出EMPTY。该树是完全二叉树。 输入描述 输入有多组数据&#xff0c;遇到0时终止输入。 每组输入一个n(1<n<1000)&#xff0c;然后将树中的这n个节点依次输入&#xff…...

Web安全:SQL注入之时间盲注原理+步骤+实战操作

「作者简介」&#xff1a;2022年北京冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础对安全知识体系进行总结与归纳&#xff0c;著作适用于快速入门的 《网络安全自学教程》&#xff0c;内容涵盖系统安全、信息收集等…...

[JDK工具-10] jvisualvm 多合一故障处理工具

文章目录 1. 介绍2. 查看堆的变化3. 查看堆快照4. 导出堆快照文件5. 查看class对象加载信息6. CPU分析&#xff1a;发现cpu使用率最高的方法7. 查看线程快照&#xff1a;发现死锁问题 1. 介绍 VisualVM 是一款免费的&#xff0c;集成了多个 JDK 命令行工具的可视化工具&#xf…...

【GateWay】自定义RoutePredicateFactory

需求&#xff1a;对于本次请求的cookie中&#xff0c;如果userType不是vip的身份&#xff0c;不予访问 思路&#xff1a;因为要按照cookie参数进行判断&#xff0c;所以根据官方自带的CookieRoutePredicateFactory进行改造 创建自己的断言类&#xff0c;命名必须符合 xxxRout…...

今日总结2024/5/27

今日学习了状态压缩DP,状态压缩DP分为棋盘型(基于连通性)和集合型 Acwing.1064 小国王 在 nn的棋盘上放 k个国王&#xff0c;国王可攻击相邻的 8个格子&#xff0c;求使它们无法互相攻击的方案总数。 输入格式 共一行&#xff0c;包含两个整数 n和 k。 输出格式 共一行&…...

使用 Snort 进行入侵检测

使用 Snort 进行入侵检测 Snort 是一种流行的开源入侵检测系统。您可以在http://www.snort.org/上获取它。Snort 分析流量并尝试检测和记录可疑活动。Snort 还能够根据其所做的分析发送警报。 Snort 安装 在本课中&#xff0c;我们将从源代码安装。此外&#xff0c;我们不会安…...

C++ | Leetcode C++题解之第116题填充每个节点的下一个右侧节点指针

题目&#xff1a; 题解&#xff1a; class Solution { public:Node* connect(Node* root) {if (root nullptr) {return root;}// 从根节点开始Node* leftmost root;while (leftmost->left ! nullptr) {// 遍历这一层节点组织成的链表&#xff0c;为下一层的节点更新 next…...

计算机网络学习

文章目录 第一章信息时代的计算机网络因特网概述电路交换&#xff0c;分组交换&#xff0c;报文交换计算机网络的定义和分类计算机网络的性能指标常见的三种计算机网络体系计算机网络体系结构分层的必要性计算机网络体系结构分层思想举例计算机网络体系结构中的专用术语 第二章…...

代码随想录算法训练营第四天| 24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

24.两两交换链表中的节点 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 解题思路 很麻烦的一道题目&#xff0c;不是很理解。还是看视频文章才AC的。 解法1 …...

机器学习赋能粒子物理全局拟合:破解B介子衰变反常之谜

1. 项目概述&#xff1a;当粒子物理遇上机器学习 如果你在粒子物理领域&#xff0c;特别是味物理和超出标准模型&#xff08;BSM&#xff09;物理的探索前线工作过&#xff0c;那么对“全局拟合”这个词一定不会陌生。它就像是我们理论家和实验家之间的翻译官&#xff0c;把对撞…...

淘宝淘金币自动化终极指南:如何用5分钟完成30分钟日常任务

淘宝淘金币自动化终极指南&#xff1a;如何用5分钟完成30分钟日常任务 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi …...

【OpenClaw 进阶配置】如何让 MiniMax 搜索替代 SearXNG 作为 Web Search provider

【OpenClaw 进阶配置】如何让 MiniMax 搜索替代 SearXNG 作为 Web Search provider 标签: OpenClaw / MiniMax / 配置教程 / AI工具 踩坑记录 + 完整配置方案 前言 最近在配置 OpenClaw 的 web_search 工具,遇到了一个有意思的问题:明明已经在 tools.web.search.provider …...

如何为你的推特内容创作工具配置Taotoken大模型API

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 如何为你的推特内容创作工具配置Taotoken大模型API 假设你是一名社交媒体运营者&#xff0c;正在使用或开发一个自动生成推特文案的…...

MultiHighlight智能高亮插件架构解析与性能优化实践

MultiHighlight智能高亮插件架构解析与性能优化实践 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors &#x1f3a8;&#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 在复杂的代码阅读场景…...

深度实战:如何利用7zip引擎实现加密压缩包密码暴力破解

深度实战&#xff1a;如何利用7zip引擎实现加密压缩包密码暴力破解 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 在数字资产管理中&#…...

ISTA 2A-2011 (2022) 全解析|≤68kg 单个包装件部分模拟运输测试标准

前言ISTA 2A-2011 (2022) 属于 ISTA 2 系列部分模拟性能测试&#xff0c;专门针对重量不大于 68kg&#xff08;150lb&#xff09;的单个运输包装件设计&#xff0c;是中小型产品包装最常用的入门级运输验证标准。该标准通过温湿度、堆码压力、振动、冲击等测试模块&#xff0c;…...

如何快速上手Udeler:新手必看的完整Udemy课程下载指南

如何快速上手Udeler&#xff1a;新手必看的完整Udemy课程下载指南 【免费下载链接】udemy-downloader-gui A desktop application for downloading Udemy Courses 项目地址: https://gitcode.com/gh_mirrors/ud/udemy-downloader-gui 想要随时随地学习你购买的Udemy课程…...

如何在RK35XX设备上部署稳定高效的Ubuntu系统?

如何在RK35XX设备上部署稳定高效的Ubuntu系统&#xff1f; 【免费下载链接】ubuntu-rockchip Ubuntu for Rockchip RK35XX Devices 项目地址: https://gitcode.com/gh_mirrors/ub/ubuntu-rockchip 想要在Rockchip RK35XX系列开发板上获得接近原生Ubuntu的体验吗&#xf…...

Unity Package Manager缓存失效排错指南

1. 这不是“删库跑路”&#xff0c;而是Unity包管理器的静默失效现场 刚接手一个老项目&#xff0c;打开Unity编辑器就弹出红色报错&#xff1a; Library/PackageCache/com.unity.xxxxxx not found 。点开Project窗口&#xff0c;原本该显示的Package图标全灰了&#xff0c;I…...