逆序对 P1908 逆序对 题目描述 猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。 最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中 ai>aj 且 i<j的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对 2022-04-21
区间小于等于k的个数 区间小于等于k的个数 例题 在给定 N 长的数组 A 中进行 Q 次询问 [Li,Ri] 区间中不大于 Hi 的元素个数 思路 做这个题也是花了很久时间啊,做题看着代码改了一下午加一晚上,中间还做了道分块基础,今早还做不出,中午终于改对,感觉自己蠢爆了 然后讲思路,一般思路都是for套个while,但是这套我还没完全理解,下次更 这里是学习的这位的思路,严格鸽,日更大佬orz 考虑 2022-04-13 算法 模板 模板 树状数组
分块入门 分块入门 鸽子给了个链接https://www.luogu.com.cn/paste/btx82uof 稍微总结下 数列分块入门 2(区间加,区间求和) 题目链接 题目描述 给出一个长为 的数列,以及 个操作,操作涉及区间加法,询问区间内小于某个值 的元素个数。 输入格式 第一行输入一个数字 。 第二行输入 个数字,第 个数字为 ,以空格隔开。 接下来输入 行询问,每行输入 2022-04-12 算法 笔记 分块 数据结构
dfs序 定义 dfs序是对树进行dfs遍历得到的一个时间戳序列 dfs的模板 123456789int tot,in[N],out[N];//in表示进入节点的时间戳,out表示出节点的时间戳,in可以表示区间的左边界l,out可以表示区间的右边界rvoid dfs(int u){ in[u]=++tot; for(int i=0;i<t[x].size();i++) 2022-04-02 算法 笔记 模板 dfs序
树的果实 题意 你梦见了一棵树,这是一棵很茂密的树,因此它有很多的分支。 你注意到这颗树的有 nn 个果实,每一棵果实都有自己的编号,且标号为 11 的果实在最上面,像是一个根节点,树上的一个果实 uu 到另一个果实 vv 的距离,都恰好是一个整数 cc ,因为已经固定好了 11 号果实为根节点,所以这棵树的形状已经确定了,你想知道摘下一颗果实,会连带着把它的子树的果实也给摘下来。 而这个摘下 2022-04-02 算法 题解 dfs序 莫队
线段树模板 线段树模板-区间求和为例 建树 12345678910void build(int x,int l,int r) { if(l==r) { t[x]=a[l];//将线段上的值转换到树上 根据节点属性的设置来设置此处内容 return ; } int mid=(l+r)>>1; build(ls,l,mid); build(rs,mid+1,r); 2022-03-27 算法 模板 模板 线段树