最大化两个数组元素的乘积之和的算法

2023-11-30

竞赛中有一个问题需要计算仅包含数学和生物科目的班级的表现。所以,没有。数学学生 & 'n' 没有。的生物学生。每个学生都有一个单独的分数。数学学生和生物学生的分数分别存储在数组 mathScore[] 和 bioScore 中。全班成绩计算如下: ( mathScore[0]*bioScore[0] + mathScore[1]*bioScore[1] + ....... +mathScore[n-1]*bioScore[n-1] )

mathScore[0] 代表第一个数学学生的分数。 bioScore[0] 也是如此。

现在给定值“m”,我们必须最大化班级的总分。我们可以通过将任何候选人的分数增加或减少 1 次(最多“m”次)来做到这一点。现在的问题是,你只能增加一组的分数。无论是数学还是生物。

现在来解决这个问题,根据我的说法,这个问题需要两个步骤。首先是决定选择哪个组,即数学或生物。第二步是从所选组中选择学生,以便增加或减少这些特定(所选)学生的分数将使表现最大化。

我尝试这样思考第一步: 考虑这是班级的分数

Maths Score :  5  7  4 -3
Bio Score   : -2  3  9  2

其中m=1; 因此,我们将迭代数学分数数组。同时比较Bio学生的相应成绩。因此,我们选择了 Maths 数组。因为如果我们只需要增加一次。那么增加 Maths 数组中的 4 将会是有益的。因为它会将整体性能提高 9。这是最大的。

第二步的方法也是如此。找出另一组中对应分数最高的分数。增加该特定元素。

现在,这是一个有点粗略的想法。但它并不适用于所有可能性。因此,任何帮助将不胜感激。

附:我不是大学生。这不是家庭作业。


We have Sum(Abs(o[i])) == m m > 0, and a[i], b[i], m fixed.

Sum( (a[i] + o[i]) * b[i]) == Sum(a[i] * b[i]) + Sum(o[i] * b[i])

所以为了最大化它,我们只需要最大化

Sum(o[i] * b[i])

我们有

o[i] * b[i] <= Abs(o[i] * b[i])

因为我们可以选择的标志o[i],我们可以最大化

Sum(Abs(o[i] * b[i]))

which is

Sum(Abs(o[i]) * Abs(b[i]))

and

Max(Sum(Abs(o[i]) * Abs(b[i]))) <= m * Max(Abs(b[i]))

j以便b[j] == Max(Abs(b[i])), o[j] == sign(b[j]) * m, o[i] == 0, 我们有

Sum(o[i] * b[i]) == m * Max(Abs(b[i]))

所以你必须找到两个数组的最大值(绝对值)。

所以在你的例子中

Maths Score :  5  7  (4+m) -3
Bio Score   : -2  3  9      2

对于其他例子:

Maths Score :  5  7  (4-m) -3
Bio Score   : -2  3  -9     2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最大化两个数组元素的乘积之和的算法 的相关文章

  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 按成员序列化

    我已经实现了template
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 用于评估数组单调性的算法(即判断数组的“排序性”)

    EDIT 哇 很多很棒的回复 是的 我使用它作为适应度函数来判断遗传算法执行的排序的质量 因此 评估成本很重要 即 它必须是快速的 最好是O n 作为我正在使用的人工智能应用程序的一部分 我希望能够根据候选整数数组的单调性 也称为 排序性
  • 重载<<的返回值

    include
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • Angular 9 生产错误:无法设置只有 getter 的(抽象)类 MyFilter { } 的属性 ɵfac

    我在库中有一个抽象组件 没有常春藤 带有 Directive 装饰器具有一些继承给其子级的基本属性和功能 当我尝试在任何项目中使用该库时 我在浏览器控制台中收到以下错误 Uncaught TypeError Cannot set prope
  • 我可以在 XML 架构元素名称中使用正则表达式吗?

    我正在尝试为我传递的一段代码生成的 XML 创建一个 XML 架构 我将描述我的问题的简化版本 假设此代码生成的 XML 文件描述了一个文本文档 它看起来像这样
  • Jquery 邮政信箱验证

    我浏览了一些较旧的帖子 但对正在发生的事情仍然有点困惑 我有一个不允许使用邮政信箱的运输表格 因此我试图找到一个验证器来查看并确保输入字段中没有邮政信箱 我确保每个字段都填写了此代码 但想知道如何将其合并到邮政信箱验证中 注意 这是与我的实
  • 在 PHP 和 MySQL 中从 2 列创建关联数组

    我可以用两列创建一个关联数组吗 我希望 A 列作为键 B 列作为值 id name 1 sky 2 space 我想要一个产生如下结果的函数 ary array 1 gt sky 2 gt space php 中是否存在与此相关的函数 我正
  • Py_Initialize 和 Py_finalize 以及 MatPlotlib

    这是一个已知问题 但我想请专家为我解决这个问题的最佳方法 我有一个项目 Euler Math Toolbox 它运行 Python 作为脚本语言 为此 在运行时加载库模块 python dll 该模块链接到 python27 lib 然后调
  • 如何在 python http.server 上使用 ES6 模块?

    我正在实例化一个模块 如下所示index html index js是空的 当我通过以下方式提供此服务时py 3 m http server Python 3 8 5 我收到 Chrome 错误 Failed to load module
  • Angular 2“组件”不是已知元素

    我正在尝试在其他模块中使用我在 AppModule 内创建的组件 但我收到以下错误 未捕获 承诺 错误 模板解析错误 contacts box 不是已知元素 如果 contacts box 是 Angular 组件 则验证它是否是该模块的一
  • 纯 CSS 卡片的重叠效果

    我正在制作与此示例类似的卡片列表 https codepen io pkunzel pen xxgjrVg window addEventListener load function let cards document querySele
  • 膨胀类 android.support.v7.app.AlertController.RecycleListView 时出错

    我的应用程序无法启动 安装后立即崩溃 我无法理解该错误 我为附加在主活动 xml 文件中的两个片段创建了两个 recyclerView Error E AndroidRuntime FATAL EXCEPTION main Process
  • 在循环内将引号粘贴到字符串中

    使用 R 我想生成多个字符串 例如 modelCheck var1 d bug modelCheck var2 d bug modelCheck var10 d bug 我通常会使用 for 循环并粘贴 如果我不必担心双引号 如下所示 fo
  • 为什么 Collections.Counter 没有对称差异?

    因此 对于集合 您可以执行对称差 这相当于并减交集 为什么 是 Counter 对象不受支持的操作数 而并集和交集仍然有效 扩展我的评论 结果发现它当时被讨论过 但被拒绝了 单击完整消息 及其主题 的链接 我将引用 Raymond Hett
  • 如何移动正交图中的点?

    我正在尝试在迈克 博斯托克创建的以下地图上的某些地理位置添加红点 https bl ocks org mbostock 3795040 我的点会显示 但不会随地图移动 如何编辑代码以使点随地图移动 谢谢 add circles to svg
  • 如何使用javascript从mysql数据库获取数据?

    如果可能的话 如何使用 javascript 从 mysql 数据库获取 并发布 数据 我知道我可以使用 php 和其他语言 但我只需要知道这是否可以用 javascript 实现 提前致谢 这对于 Javascript 来说是不可能的 我
  • 如何响应 UNUserNotification 上的点击?

    我正在使用新的UNUserNotificationiOS 10 中的框架 我可以看到如何添加操作按钮 但是当用户点击通知本身时我如何响应 就我而言 它将是带有一些文本的图像 默认行为是应用程序打开 我可以使用自定义代码来检测我的应用程序是否
  • 如何在pyodbc中使用executemany运行多个SELECT查询

    我使用 PYODBC 根据 pandas 数据帧列的值多次查询 SQL DB 如下所示为值列表 因为我使用 ToList 函数将该列转换为列表 the connection string cnxn pyodbc connect driver
  • 扫描随机数量的浮点数,直到 C 中出现新行

    我正在尝试从包含以下文本的文件中读取 502 601 596 465 464597 599 600 598602 591 596 601588 565 548 260 62 61 595583 595 61 558 561237 241 4
  • 分析 C# 中的方法以了解其运行时间

    我需要获取计时报告以了解在类中运行 C 方法需要多长时间 我考虑使用profiler要做到这一点 输入是类中方法的名称 输出是 什么方法 类调用这个方法 运行该方法的时间量 有哪些工具 商业产品可用于 Visual Studio 2010
  • 在 TypoScript 中获取 FlexForm 配置

    我需要从 pi flexform 获取 typescript 中的 page headerData 如何实现我的要求 page PAGE page headerData 10 TEXT 10 value 我不太确定你真正需要什么 我是gue
  • SlidingDrawer 动画速度

    我是 Android 编程和堆栈溢出的新手 我需要减慢应用程序中 SlidingDrawer 的动画速度 我已经像这样子类化了 SlidingDrawer import android content Context import andr
  • 最大化两个数组元素的乘积之和的算法

    竞赛中有一个问题需要计算仅包含数学和生物科目的班级的表现 所以 没有 数学学生 n 没有 的生物学生 每个学生都有一个单独的分数 数学学生和生物学生的分数分别存储在数组 mathScore 和 bioScore 中 全班成绩计算如下 mat