随笔分类 - 数据结构-线段树
摘要:题意: 给一个序列,进行一下两种操作 $1$.交换下标为$x$与$x+1$的两个数 $2.$.求进行$K$轮冒泡排序之后的逆序对个数 思路: 首先要发现规律,我们假设位置对于$a[i]$左右有$b[i]$个比他大的数,那么每进行一轮冒泡排序,$b[i]=max(b[i]-1,0)$ 那么进行$K$轮
阅读全文
摘要:地址:https://www.luogu.com.cn/problem/P2572 题意: 给一个序列,进行一下五种操作: $1.$区间$[l,r]$全部变为$0$ $2.$区间$[l,r]$全部变为$1$ $3.$区间$[l,r]$内$0$全部变成$1$,$1$变成$0$ $4.$询问区间$[l,
阅读全文
摘要:偷懒了快两个月。。终于回来了 链接:https://ac.nowcoder.com/acm/contest/5803 A - 小A买彩票 题意: 买一张彩票需要$3$元,可能得到$1,2,3,4$元,问连续买n张彩票不亏损的概率是多少,要求以最简分数表示概率 思路: 用$dp[i][j]$表示买了$
阅读全文
摘要:NC14522 珂朵莉的数列(int128+树状数组) 题意: 珂朵莉有一个序列,有$n * ( n - 1 ) / 2$个子区间,求出每个子区间逆序对的对数 思路: 如果是只求整个序列的逆序对个数的话,直接从后向前树状数组动态加点统计当前有多少个小于当前点的数就好了 但是要算所有区间的对数的话,暴
阅读全文
摘要:A-Uint47 calculator(快速乘) 题意: 定义一堆变量然后进行加减乘除运算 思路: 这题难的地方在乘法,会超出long long的范围,所以要用到快速乘(原理跟快速幂类似) #include<iostream> #include<algorithm> #include<vector>
阅读全文
摘要:题意: [1,N]区间内开始为空,有两种操作1) 1 a 找到长度为a的区间,并且尽量开头靠左,返回最左的位置并check in. 2) 2 a b 将[a,b-1]区间check out. 思路: 线段树-区间合并,对于每个节点记录三个值.1).lsum表示该节点区间从左边开始的空的区间长度2).
阅读全文
摘要:A - Duplex Printing 思路:判断一下奇偶就好了 #include<iostream> #include<algorithm> #include<cstring> using namespace std; int main() { int n; cin>>n; int ans=n/2
阅读全文
摘要:目录: 16.91B.Queue(树状数组/线段树) 17.431C.K-Tree(树形DP+容斥) 18.1084D. The Fair Nut and the Best Path(树形DP) 19.1187C. Vasya And Array(构造) 20.768B. Code For 1(分治
阅读全文
摘要:感觉网上的题解都略微简略包括官方题解,所以打算写一个尽可能详细的 题目链接:https://ac.nowcoder.com/acm/contest/3005/H 题意: 每个车厢都有三个参数,colori ,li ,ri ,询问对于每个车厢,在其两边的车厢有多少对车厢颜色相同,并且颜色的范围在[li
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/3003/J 思路: 方法① f1(1)=k1+b1=(k1)+(b1) f2(f1(1))=k2∗(f1(1))+b2=k2∗k1+k2∗b1+b2=(k2∗k1)+(k2∗b1+b2) f3(f2(f1(1)))=
阅读全文

浙公网安备 33010602011771号