ICode9

精准搜索请尝试: 精确搜索
  • F. MEX Queries - 线段树 + 离散化2022-05-03 12:35:21

    F. MEX Queries 题意 1 l r 将区间l r 置 1 2 l r 将区间l r 置 0 3 l r 翻转区间l r(即 是1置0 是0置1) 求每次操作后值是0的最左位置编号 思路 用线段树维护 区间和 用一个lazy 标记当前结点 置1 置0 翻转 或者 无需操作(用于减少时间复杂度) 对于翻转操作 每次更新一个结点的lazy要

  • (线段树,add懒标记)洛谷模板题2022-05-02 18:00:17

    原题链接: 洛谷模板题 题目: 如题,已知一个数列,你需要进行下面两种操作: 1、将某区间每一个数加上 k。 2、求出某区间每一个数的和。 输入格式: 第一行包含两个整数 n,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始

  • cf1631 D. Range and Partition2022-05-01 18:32:13

    题意: 给定长为 n 的数组。对一个值域区间 \([x,y]\),若存在一种分法把原数组恰切成 k 段(subarray),每一段中大小在 \([x,y]\) 中的数都严格大于不在 \([x,y]\) 中的数,则称这个值域区间有效。找一个最短的值域区间并输出一种分段方案 \(1\le a_i\le n\) 思路: 如果能切成 \(k+1\) 段,那

  • 洛谷P3502 窗口的星星2022-04-30 22:31:49

    题目链接   运用扫描线的方法,每一次都用一个大小固定的小矩形去框住星星,大致过程如图所示   我们要求出小矩形最多可以框住多少颗星星,也就是求出来这个区间的最大值是多少,因为小矩形的移动过程中要维护区间最大值,所以我们可以选择用线段树去维护区间最大值,我们按照星星的纵坐

  • acwing区间2022-04-24 21:32:49

    首先区间个数可以转化为前缀和的形式 然后就是差分约束了 最少包含多少个数 就是不等式为a>=b+c 的形式 只要满足了最长路的不等式 其他所有的不等式也都满足 就是跑一遍最长路 差分约束的关键在于这个约束 一定要把所有的限制条件找出来 这个题看似只有一个区间个数的限制 其实

  • AcWing 4412. 构造数组2022-04-24 13:32:10

    AcWing 4412. 构造数组(三种解法) 思路分析 经分析可得, \[若a_i = a_j,则 b_i <= b_{i + 1} <= ... <= b_j\\ 又\because b_i=b_j\,\,\,\therefore b_i = b_{i + 1} = ... = b_j \]所以只需要去统计有多少个这样的区间,然后乘2即可(因为每一个区间都有两种选择) 法一:区间合并 基础 防止

  • 2021 ICPC 昆明站 F - Find the Maximum 题解2022-04-23 02:00:16

    题面看这里 题目大意 给你一个有 \(n\) 个节点的无根树,每个节点的权值为 \(b_i\),对于树上任意一条简单路径上的点集 \(V\),定义它的权值为 \(\displaystyle\frac {\sum_{u\in V}(-x^2+b_ux)}{|V|}\),其中 \(x\) 可以取任意实数,问你在树上所有的长度大于 \(1\) 的点集 \(V\) 中,可以

  • 【题解】UVA10559 方块消除 Blocks2022-04-22 12:31:22

    【题解】UVA10559 方块消除 Blocks 设计状态 \(f(i,j)\) 表示合并 \(i\) 区间至 \(j\) 区间可得的最大分数 但如果合并一段之后,前后两段接在了一起,那么接在一起的这段能产生的分数一定多于两段分别消除所得分数(因为 \((a+b)^2\geq a^2+b^2\) ) 那么可以考虑向当前区间后面再接 \(

  • 区间最值差2022-04-22 11:03:14

    链接:http://poj.org/problem?id=3468 难度不大,注意细节 1 #include<cstdio> //分块,poj3468 2 #include<algorithm> 3 #include<cmath> 4 #define ll long long 5 #define N 100010 6 using namespace std; 7 ll a[N],sum[N],add[N]; 8 int L[N],R[N],d; 9

  • 动态规划 :P1063[NOIP2006 提高组] 能量项链 区间DP2022-04-21 10:31:37

    P1063[NOIP2006 提高组] 能量项链        思路与分析:   这显然是一个环形的区间DP问题,与环形石子合并,这题具体可以看我的做法:动态规划:洛谷P1880[NOI1995] 石子合并 区间DP 前缀和 - 朱朱成 - 博客园 (cnblogs.com)是一样的,我们可以把n个珠子拉成2n个,环形拉成链状的,就不具

  • 动态规划:P3146 [USACO16OPEN]248 G2022-04-20 09:31:34

     [USACO16OPEN]248 G    思路与推导过程:     这题还是挺细节的,是一题区间dp,我们构建的dp[i][j]并不是代表i j 区间内能合成的最优值,而是代表能这个区间能完全合并为一个什么数,如果不行,这个区间的DP值仍然是一开始赋的-inf,一个巨小值。我们为什么要这么构建呢,如果构建

  • 异或知识总结2022-04-20 09:02:12

    异或、异或和 的性质及应用总结 【知识总结】关于异或(xor)区间问题的总结

  • 动态规划:P3205[HNOI2010]合唱队 区间DP2022-04-20 09:00:09

    P3205[HNOI2010]合唱队    题目大意:     题目的意思其实就是给你一个最终的序列,问有几种方法可以排成最终的序列。(我一开始给理解成了是给你一个序列,问能派出多少种序列.......),所以显然是用区间DP:这题目给你了最终的序列,就相当于区间确定了,最终答案肯定就是DP[1][N],只是这

  • 「联合省选 2020 A」树2022-04-17 20:02:52

    「联合省选 2020 A」树 按位考虑。 对于一个点来说,其儿子到其的距离是 \(dep_v-u\)。 那么其儿子做出的贡献是 \(V_v+dep_v-dep_u\)。 在模 \(2^{i+1}\) 的意义下若 \(2_i\le V_v+dep_v-dep_u< 2^{i+1}\) 则 \(v\) 会对 \(u\) 产生一个 \(2^i\) 的贡献。 也就是说,我们求出以 \(u\)

  • java中的Random类2022-04-17 16:31:58

    Random类 (java.util)         Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。 相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两

  • AcWing 1275. 最大数2022-04-16 11:34:48

    题目传送门 题意: 给两种操作。 添加操作:向序列后添加一个数,序列长度变成 \(n+1\); 询问操作:询问这个序列中最后 \(L\) 个数中最大的数是多少。 思路:线段树裸题,通过单点修改和回溯中的\(pushup\)维护区间最大值。 #include <bits/stdc++.h> using namespace std; typedef long long

  • 关于二分搜索 简单、左侧区间、右侧区间2022-04-16 10:00:50

    4月15号阅文一面,问完八股之后被问到了二分搜索,我啪的一下就写出来了,很快啊!面试官也很高兴,想加大一点难度,让我写一下搜索左侧区间的二分搜索。 什么是搜索左侧区间的二分搜索呢?比如一个排序数组里有某个元素重复出现了多次,我们的二分搜索必须每次返回这个元素第一次出现的位置。比

  • 「JOISC 2022 Day4」鱼 22022-04-15 20:33:08

    考虑怎么样的鱼能取得最后的胜利,它一定是不断贪心地往两边吃,能吃就吃。 实现以上过程的一个朴素想法是,对左右两边分别维护”有效“单调栈,暴力扫一遍。 考虑用线段树维护上述过程,思考如何合并区间信息。 假设有 \(x\) 条鱼能在左子树中吃完所有的鱼,那么加入右区间后,它们的增广方向

  • CF1146G 题解2022-04-15 13:02:42

    CF1146G 题解 给一个 DP 的做法。 题意: 对长 \(n\) 的序列 \(a\),记 \(f(a)=(\sum\limits_{i=1}^na_i^2)+(\sum\limits_{i=1}^mc_i[\max\limits_{j=l_i}^{r_i}a_j>x_i])\),求 \(\max\limits_{\forall i\in[1,n],a_i\in[0,h]}f(a)\)。 做法: 显然需要区间 DP,设 \(f(l,r)\) 代表区间

  • P1429 平面最近点对2022-04-15 01:01:50

    感谢所有AC 传送门 思路        分治能解决这个题目吗?乍一看并不可行,如果把所有点中分,取左部分的最小距离和右部分的最小距离来作为所有点的最小距离,这样的分治策略明显是不正确的,因为这样就忽视了左部分和右部分中的点形成的点对,即一些跨界的距离可能是最短距离。这是分治所

  • D. Progressions Covering_线段树维护差分2022-04-14 20:01:17

    线段树维护差分 D. Progressions Covering 题目大意: 数列a原来全是0,可以无限次进行一种操作,每次操作可以选择一段长度为k的区间,对该区间的数字分别对应加上1,2,3,...,k。再给出数列b,问最少操作几次可以使得a数列的每一个数字不小于b数列中的对应数字。 思路和代码: 可以操作题目给

  • P5019-贪心&搜索2022-04-12 17:01:05

    P5019 春春是一名道路工程师,负责铺设一条长度为n的道路。 铺设道路的主要工作是填平下陷的地表。整段道路可以看作是 n块首尾相连的区域,一开始,第 i块区域下陷的深度为 d_i。 春春每天可以选择一段连续区间[L,R] ,填充这段区间中的每块区域,让其下陷深度减少1。在选择区间时,需要保证

  • [loj3695]鱼2022-04-10 13:31:47

    对于Subtask2,考虑如下做法—— 称$[l,r]$为"坏区间"当且仅当$\sum_{i=l}^{r}a_{i}<a_{l-1},a_{r+1}$($a_{0}$和$a_{n+1}$看作$\infty$) 此时,不难证明第$i$条鱼能存活当且仅当不存在覆盖$i$的坏区间(除$[1,n]$外) 如何求出坏区间:枚举左端点$l$,并不断找到下一个满足$\sum_{i=l}^{r}a_{i}

  • 洛谷P4688 掉进兔子洞 题解2022-04-05 20:34:17

    题面 传送门 给定一个长度为 \(N\) 的序列 \(a\) 以及 \(M\) 次询问,每次询问为三个区间 \([l_1,r_1],[l_2,r_2],[l_3,r_3]\)。把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和。 注意这里删掉指的是一个一个删,不是把等于这个值的数直接删完,比如三个区间是 \(

  • zuma——区间dp2022-04-05 11:04:28

    CF607B Zuma - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道很好的区间dp题。 这道题主要就是用回文字符串分析。状态表示为区间[i,j]的最小操作次数 我们可以画数轴。 1.当数轴只有一个单位的时候,f[i,i]=1。 2.当数轴上有两个单位时,如果a[i]与a[j]相同,f[i,j]=1;如果不同,f[i,j

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

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

ICode9版权所有