SPOJ 你能回答这些问题吗?

2023-12-01

我正在尝试解决这个问题SPOJ。我在线段树部分发现了这个问题,所以我很确定可能有一些使用线段树的可能解决方案。但我无法想出应该存储在树节点中的元数据。最大总和可以使用以下公式计算卡丹算法。但是如何使用线段树来计算它。如果我们只存储某个范围的算法输出,那么对于该特定范围的查询来说是正确的,但对于父母使用该值来说是不正确的。如果我们存储更多信息,例如负和前缀以及负和后缀。我能够解决一些测试用例。但它并不完全正确。请向我提供一些关于我应该如何处理元数据来解决这个特定问题的指示。 谢谢你的帮助。


您可以通过在前缀和上构建线段树来解决它

sum[i] = sum[i - 1] + a[i] 

然后将以下信息保存在节点中:

node.min   = the minimum sum[i], x <= i <= y 
            ([x, y] being the interval associated to node)
           = minimum(node.left.min, node.right.min)
node.max   = same but with maximum

node.best  = maximum(node.left.best,
                     node.right.best,
                     node.right.max - node.left.min
                    )

基本上,best字段给出关联区间中最大总和子数组的总和。这要么是两个子节点中的最大和子数组之一,要么是跨越两个子区间的序列,它是通过从右子节点中的最大值减去左子节点中的最小值获得的,我们也在可能的线性解:找到最小值sum[j], j < i对于每一个i,然后比较sum[i] - sum[j]与全球最大。

现在,要回答查询,您需要考虑其关联间隔构成查询间隔的节点,并执行类似于我们构建树的方式的操作。您应该尝试自己解决这个问题,但如果您遇到困难,请告诉我。

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

SPOJ 你能回答这些问题吗? 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 为什么 kubelet 运行在 kubernetes 主节点上?

    我已经使用 kubeadm 在本地笔记本电脑上部署了一个 kubernetes 集群 1 个主节点和 2 个工作节点 请注意 kubelet 也在主节点上运行 从我之前读过的文章来看 只有工作节点上才需要 kubelet 有人可以告诉我为什
  • perl - 用另一个字符替换每第 n 次(和多次)出现的字符

    有谁知道任何unix命令 perl脚本会在特定字符第n次重复出现的位置插入特定字符 可以作为十六进制 即7C 或实际字符 即 输入 IEperl script pl 3 data txt将用管道替换每个第 3 个 第 6 个 第 9 个 等
  • 自动更新 Ruby on Rails 中的created_by 和updated_by 值

    我正在尝试添加当前的user id into a created by and updated by自动字段 谁能帮我 这是数据架构 create table businesses force cascade do t t string b
  • 如何将依赖项包含到 EAR 中,文件名中不包含版本

    我正在创造 ear使用行家
  • 当选择多个项目时如何清除QListView的选择?

    我正在开发一个 Qt 应用程序 其中有一个 QListView 列表中的项目很少 我的应用程序需要根据用户的选择重新排列项目 一切工作正常 但我面临一个小问题 当我使用鼠标进行多重选择时 即通过拖动鼠标选择项目时 即使我做了一些重新排列操作
  • 结果的 var_dump 给出空值。但更深入的检查返回一个整数[重复]

    这个问题在这里已经有答案了 可能的重复 新的 Mysqli 对象为 Null 我刚刚开始为 MVC 框架构建数据库类 在构建这个时 我正在尝试简单的查询和表 以使其正常工作 我试图查询以下内容 从 mvc test 选择 这应该返回 3 行
  • HTML5 页脚 - 我无法删除的边距

    我已经创建了一个基于 HTML 5 Boilerplate 的网站 我想要一个基本上全白色的网站 但页脚的背景为灰色 问题是页脚下方有一个边距 并且很确定它是一个边距 而不是填充或白色边框 在我的灰色页脚下方留下了一条白色条带 为了在此处发
  • 两个线程可以同时读取同一个QList吗?

    对于线程来说相当陌生 我有一个线程在它们之间共享的 QList 它们都有自己可以工作的空间 并且 GUI 模型 视图 不断访问该列表 然后我得到了指向 QDataList size 的崩溃 调试并没有真正帮助我 因为如果我单步执行代码 并且
  • 如何在 Spring MVC 中正确配置 Stomp 和 SockJS 端点?

    这是 可能是以下内容的重复 Websocket InvalidStateError 连接尚未建立 我正在实施通知系统 并希望在用户登录时初始化套接字连接 并向他显示他的通知 以及如果发生某些事件 我的代码片段如下 websocket js
  • 在 LINQ to Entities 中使用 GLOB 函数

    我需要 SQLiteglob C 方法中必须返回的函数Expression
  • 如何在 C++ 中将字符串向量转换为整数向量?

    我有一个字符串向量 需要帮助弄清楚如何将其转换为整数向量 以便能够进行算术处理 谢谢 include
  • Youtube 请求无法完成,因为您已超出配额 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我的应用程序显示 Youtube V3 API 超出配额限制错误 我在 Google 控制台中的每日限制是 0 我无法更改该值 如何解决这个问题 单击旁边的小铅笔图标0并将其增加到1
  • $("#id") 仅选​​择第一个元素,但 $("div#id") 选择两个元素? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 div Hello buddy div div Hel
  • 跳过Delphi中的默认参数

    有没有办法跳过默认参数 假设我的方法声明是这样的 procedure MyProc1 var isAttr1 Boolean FALSE var isAttr2 Boolean FALSE var isAttr3 Boolean FALSE
  • 油漆组件不工作

    这可能是一个愚蠢的问题 但是我如何调用paintComponent 它根本不显示该对象 在其内部 公共类 Ball 扩展了 JPanel 实现了 Runnable public class Balls public static void
  • .htaccess 重定向域别名/停放域

    我有一个与 htaccess 相关的问题 例如 如果我有两个域 a com 和 b com 全部引用一台主机 b com 是 a com 的域别名 我希望访问 a com 的访问者将被引用到带有 www 的 url http www a c
  • Firebase JS API 身份验证 - 具有不同凭据的帐户存在

    我们在尝试解决此问题时遇到了实际问题 因此希望获得一些 Firebase 帮助 那些已经解决了相同问题的人 该应用程序是 React Native 0 43 2 并使用 Firebase JS API 最新 我们提供 Facebook 和
  • 为什么不鼓励 setAnimationDidStopSelector ?

    我在苹果关于 setAnimationDidStopSelector 的文档中看到以下内容 在 iOS 4 0 及更高版本中不鼓励使用此方法 如果您使用基于块的动画方法 则可以将委托的结束代码直接包含在块内 我尝试添加要放入动画块内的动画停
  • 将对象数组转换为单个对象

    例如 我有以下数组 name abc value 1 name xyz value 2 name abc value 3 name abc value 4 name xyz value 5 现在 我想通过分组将该数组减少为单个对象value
  • SPOJ 你能回答这些问题吗?

    我正在尝试解决这个问题SPOJ 我在线段树部分发现了这个问题 所以我很确定可能有一些使用线段树的可能解决方案 但我无法想出应该存储在树节点中的元数据 最大总和可以使用以下公式计算卡丹算法 但是如何使用线段树来计算它 如果我们只存储某个范围的