随笔分类 - ACM---差分
摘要:前置芝士:here 树上差分: 典型问题描述:给定一棵有N个点的树,所有节点的权值初始时都为0。 有K次操作,每次指定两个点u , v,将 u 到 v 路径上所有点的权值都+1。 请输出K次操作完毕后权值最大的那个点的权值。 朴素思路:不用多想,最暴力的做法就是我们找到 u 到 v 路径上的所有点并
阅读全文
摘要:Magic Stones 题解:here 每一次变换都会导致差分数组的两个相邻元素位置交换,但是大小是不变的; 要保证两个数组相等,所有的差分数组都是要一样的,包括第一个,也就是第一个数要相等 这里第一个数和最后一个数是不变的,所以题目正解为:比较这两个差分数组是否相同,如果相同,再看c数组和t数组
阅读全文
摘要:最高的牛 题解:我们一开始把所有牛的高度都设为\(h\),当给出\(a\),\(b\)时,就将其内部的牛的身高都减一,用差分就好了 AC_Code; 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<set> 5
阅读全文
摘要:二分(差分+思维) 当猜了一个数\(x\),总共有三种情况: 裁判说数大了,那么裁判说对的取值范围是(-∞,x] 裁判说数小了,那么裁判说对的取值范围是[x,+∞) 裁判说数一样,那么裁判说对的取值范围是[x,x] 那么我们只需要求最大有多少个区间重叠了就行了,问题就转化成了区间的修改,单点查询,可
阅读全文
摘要:二维差分数组构造: \(b\left [ i\right ]\left [ j\right ]=a\left [ i\right ]\left [ j\right ]-a\left [ i-1\right ]\left [ j\right ]-a\left [ i\right ]\left [ j-
阅读全文
摘要:一维差分:(博客图片来源:here) 设有一个序列\(a_{1},a_{2},a_{3},\cdots ,a_{4}\) 我们定义一个新的序列: \[\left\{\begin{matrix}b_{i}=a_{i} & i=1\\b_{i}=a_{i}-a_{i-1}& i\neq 1\end{ma
阅读全文