1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU

这篇具有很好参考价值的文章主要介绍了1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1186. 删除一次得到子数组最大和

解题思路:如果没做过还不是很好想,当时自己第一反应是双指针,结果是个动态规划的题。

核心就是dp的定义,dp[i][k]表示以arr[i]结尾删除k次的最大和。看到这里其实就有一点思路了

dp[i][0]表示以arr[i]结尾删除0次的最大和;

dp[i][1]表示以arr[i]结尾删除1次的最大和,我们只需要统计max(dp[i][0],dp[i][1])即可。

dp[i][0] = dp[i-1][0]+arr[i](保留arr[i]之前的),arr[i](不保留arr[i]之前的)(有点不好理解,可以理解为如果前面结果为负数,直接从arr[i]开始重新计数)

dp[i][1] = dp[i-1][0](删arr[i]),dp[i-1][1]+arr[i](不删arr[i])

1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU,python,算法

 注意:dp0和dp1的顺序

1711. 大餐计数

解题思路:当时看到10的9次方,以为是动态规划的题目。

核心:就是枚举每一个数,然后统计它的左边出现过的可以和它形成2次幂的数出现的个数(这里是通过枚举2,4,8....来统计出现过的数,即是value不断左移就相当于value在不断乘以2,它的上限是最大值的两倍),然后把它放入cnt。

1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU,python,算法

1834. 单线程 CPU

解题思路:其实读完题目后,发现人脑可以很清楚的模拟cpu的行为,即把需要执行的任务放入cpu中,然后cpu选择执行时间短的任务去做,但是当你想用代码实现的时候发现处理起来还是有点难度。

核心:1.时间戳,有了这个你就可以知道,当任务的开始小于时间戳的时候,你需要把任务放入cpu中;2.指针,这个是为了让我们执行到每一个任务;3.将任务按照开始时间排序并和它的下标对应,因为输出结果需要输出下标。4.最小堆,我们需要一个最小堆来存储我们放入的任务,然后执行完一个后,弹出执行时间最少的那个。

1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU,python,算法

 文章来源地址https://www.toymoban.com/news/detail-596592.html

到了这里,关于1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++深度优先搜索的应用:在树上执行操作以后得到的最大分数

    深度优先搜索(DFS) 有一棵 n 个节点的无向树,节点编号为 0 到 n - 1 ,根节点编号为 0 。给你一个长度为 n - 1 的二维整数数组 edges 表示这棵树,其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 有一条边。 同时给你一个长度为 n 下标从 0 开始的整数数组 values ,其中 values[i] 表示第

    2024年02月05日
    浏览(33)
  • 2023-05-15LeetCode每日一题(按列翻转得到最大值等行数)

    点击跳转到题目位置 给定 m x n 矩阵 matrix 。 你可以从中选出任意数量的列并翻转其上的 每个 单元格。(即翻转后,单元格的值从 0 变成 1,或者从 1 变为 0 。) 返回 经过一些翻转后,行与行之间所有值都相等的最大行数 (1) 首先思考一个问题,如果光给 一行元素 的话,那

    2024年02月05日
    浏览(31)
  • 【图论】环问题(最小环、最大环、环计数)

    这里不考虑自环,若存在自环,答案与所有自环取最小值即可。 算法 解法一:dijkstra枚举边,复杂度 O ( M ( N + M ) l o g N ) O(M(N+M)logN) O ( M ( N + M ) l o g N ) 。对环上一条有向边 v → u v rightarrow u v → u ,从 u u u 到 v v v 的最短路 d d d 加上边长 w w w 就是包含该边的最小环长,因此

    2024年02月14日
    浏览(30)
  • 拓扑排序例题 P4017 最大食物链计数

    题目链接:P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。 给你一个食物网,

    2023年04月25日
    浏览(41)
  • 【教3妹学编程-算法题】最大频率元素计数

    2哥 : 3妹,最近有个电视剧《繁花》非常火🔥,你听说了吗? 3妹 :没有,最近一直在忙着找工作,哪有时间看电视啊 2哥 : 啊?大周末还不休息一下啊,这么辛苦。 3妹 :当然了,工作第一,娱乐第二!不过我听说这部剧被央视评为“孤品”, 以后有时间了一定要追一追。

    2024年01月20日
    浏览(27)
  • leetcode2529-正整数和负整数的最大计数

    题目: 给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。 换句话讲,如果 nums 中正整数的数目是 pos ,而负整数的数目是 neg ,返回 pos 和 neg 二者中的最大值。 注意: 0 既不是正整数也不是负整数。 示例 1: 示例 2: 示例 3: 分析: 这道题

    2024年04月14日
    浏览(23)
  • 【动态规划 区间dp 位运算】100259. 划分数组得到最小的值之和

    动态规划 区间dp 位运算 给你两个数组 nums 和 andValues,长度分别为 n 和 m。 数组的 值 等于该数组的 最后一个 元素。 你需要将 nums 划分为 m 个 不相交的连续 子数组,对于第 ith 个子数组 [li, ri],子数组元素的按位AND运算结果等于 andValues[i],换句话说,对所有的 1 = i = m,n

    2024年04月15日
    浏览(23)
  • [python]使用pyqt5搭建yolov8 竹签计数一次性筷子计数系统

    【官方框架地址】 github地址:https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8是一种先进的深度学习算法,用于目标检测任务,特别是针对图像中物体的实时检测。它是Yolov3和Yolov4之后的又一重要迭代,带来了诸多改进和新特性。本文将详细介绍Yolov8算法的原理、特点、

    2024年04月10日
    浏览(39)
  • 【洛谷 P4017】最大食物链计数 题解(深度优先搜索+动态规划+邻接表+记忆化搜索+剪枝)

    你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。 给你一个食物网,你要求出这个食物网中最大食物链的数量。 (这里的“最大食物链”,指的

    2024年04月15日
    浏览(22)
  • 动态规划之连续乘积最大子数组 & 连续和最大子数组

    给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例 2: 输入:nums = [1] 输出:

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包