总结
gaoshuzhendanten
这个作者很懒,什么都没留下…
展开
-
2020-11-21 一周总结线段树
总结之前先来点好玩的, 1.printf("%d%c",x," \n"[i==last]) ,非常骚气的换行,(在看别人题解时发现的)" \n"[i==last] ,当i==last 返回" \n"[1]就是’\n’,否则返回 ’ '; 2.读入10以上位的整数你还是只会用字符串吗,可以用整形数组 int a[N]; for(int i=0;i<N;i++) scanf("%1d",a[i]); //控制每次只读入一个整数 线段树1 维护区间的各种属性(最大值,最小值,区间和,最大公约数) 基操:原创 2020-11-21 19:08:29 · 90 阅读 · 0 评论 -
2020-11-8 一周总结 树状数组
树状数组 tr[i]的意义是 i-lowbit(i)+1到i长度为lowbit(i)的区间和 实现不难,难在做题时理清思路,知道该用树状数组 树状数组基本操作: 1.修改数列中某一个数 O(logn) 2.求前缀和 O(logn) 扩展操作: 1.修改连续区间的值 2.求某个点的值 问题基本类型:实质求某个区间和 基操: lowbit()2进制中排在末尾的1 int lowbit(int x) { return x&-x; } add(int x,int c) 在a[x]上+c void ad原创 2020-11-08 17:35:55 · 125 阅读 · 0 评论 -
2020-10-31 一周总结 并查集
并查集 分类问题,集合内具有传递性,对称性,反对称性 基操: find()寻找根节点 unio()合并集合{统计区间内点的个数,点到父亲节点距离} query()查询集合 分类问题:带权边做法,扩展域做法 eg 1:食物链 题目:动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。 A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是”1 X Y”,表示原创 2020-10-31 17:03:20 · 57 阅读 · 0 评论