ICode9

精准搜索请尝试: 精确搜索
  • 专题二树形结构 E - Can you answer these queries V2022-02-06 23:32:10

    题目 You are given a sequence A[1], A[2], ..., A[N] . ( |A[i]| <= 10000 , 1 <= N <= 10000 ). A query is defined as follows: Query(x1,y1,x2,y2) = Max { A[i]+A[i+1]+...+A[j] ; x1 <= i <= y1 , x2 <= j <= y2 and x1 <= x2 , y1 <= y2 }

  • [Ynoi2013] 对数据结构的爱2021-10-31 11:33:18

    一、题目 点此看题 二、解法 直接上线段树维护,其实可以把每一个区间看成一个函数 \(f(x)\),表示如果传进来的初值是 \(x\) 那么得到的值是 \(f(x)\),如果我们成功维护出每个区间的 \(f(x)\) 那么只需要进行 \(\log\) 次函数运算得到答案。 不难发现 \(f(x)\) 是分段的,设 \(c_i\) 表

  • LeetCode53 最大子序和2021-10-09 14:34:22

    LeetCode53 最大子序和 题目解题解题一:动态规划解题二:分治法 题目 解题 解题一:动态规划 // javascript var maxSubArray = function(nums) { let numLen = nums.length; let curSum = nums[0], maxSum = nums[0]; for (let i = 1; i < numLen; i++) {

  • CF380C Sereja and Brackets 题解2021-10-04 22:33:03

    题目大意 维护一段长度 \(|s|\leq 10^6\) 的括号串,需要回答 \(m\leq 10^5\) 次询问,每次询问给定区间 \([l,r]\),求 \([l,r]\) 的子序列中最长的合法括号串长度。 分析 考虑一个括号串的子序列中最长的合法括号串长度,不妨分别计算其中没有匹配的左括号和右括号个数。 不妨分治计算其

  • [NOI2005] 维护数列2021-09-02 21:01:20

    [NOI2005] 维护数列 一道锻炼代码能力的好(毒瘤)题! 历经 \(10h+\) , 终于过了这道题...用指针的人太少了, 只能自己查错, 而且由于空指针的存在, 指针本身需要特判的情况就更多. 但是无奈对于指针の爱...唉~ 这道题本身没有任何思维难度, 只要会一棵趁手的, 支持区间反转的平衡树

  • 13-53. 最大子序和2021-05-10 09:36:11

    题目描述: 解题思路: 可以使用动态规划或者分治算法 动态规划 对于求最大自序和,我们可以使用arr[i]来记录以下标 i 结尾的最大子序和,用一维数组来表示; 则有arr[i] = max(arr[i-1]+arr[i],arr[i]);即要么该arr[i]单独成一段,要么和前面arr[i-1]共同组成一段。 可写出方程 $$

  • P4513 小白逛公园2021-04-29 23:32:57

    1 P4513 小白逛公园 题目链接:https://www.luogu.com.cn/problem/P4513 2 题目描述 时间限制 \(1s\) | 空间限制 \(128M\) 在小新家附近有一条“公园路”,路的一边从南到北依次排着 \(n\) 个公园,小白早就看花了眼,自己也不清楚该去哪些公园玩了。 一开始,小白就根据公园的风景给

  • lc最大子序和2021-01-31 14:04:00

    输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解的序列【4,-1,2,1】 方法一:贪心: 思想: 如果当前所指元素之前的序列和(cur)小于0,则丢弃之前的序列max=nums[i],如果当前所指元素之前的序列和(cur)大于0,则当前元素加上之前的序列和,max=cur+nums[i] class Solution { public: int ma

  • Hot 100题刷题 Day 72021-01-25 23:02:37

    Day7 最大子序和 题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 题目解析: 动态规划,维护一个数表示以其为端点的最大子序列和,满足如下

  • 「线段树」你能回答这些问题吗2019-08-28 15:02:49

    给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一: 1、“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 \(max_{x≤l≤r≤y}\Sigma_{i = l}^rA[i]\)。 2、“2 x y”,把 A[x] 改成 y。 对于每个查询指令,输出一个整数表示答案。 输入格式 第一行两个整数N,M。 第二行N个整数A[

  • hdu 1540 Tunnel Warfare (线段树维护一维联通区间)2019-08-15 21:02:25

    题意: 一维线段上n个点,有摧毁和修复两种操作,询问某点最大的可达区域 思路: 线段树维护\(lsum\)代表区间左端点开始最长联通区域,\(rsum\)代表右端点开始最长联通区域.单点修改只有\(push_up\)操作,用左子树\(lsum\)更像\(lsum\),右子树\(rsum\)更新\(rsum\) #include<string>

  • UVA1400 Ray, Pass me the dishes!" 【线段树 区间合并】2019-05-07 18:50:21

    "Ray, Pass me the dishes!" UVA - 1400  https://vjudge.net/problem/UVA-1400   题意 给出一个长度为n的整数序列D,对m个询问做出回答,对询问(a,b)找到(x,y)使得a<=x<=y<=b且Dx+Dx+1+……+Dy最大。如有多组答案取字典序最小的一组。 题解 sum[i]记录结点i控制的区间[l,r]中区

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有