摘要: 我们使用的方法是:根据数据把堆的形状搞出来,然后我们在这个堆里找最后一个插入的点,然后我们还原这个点插入之前的情况,然后重复此过程,我们就能得到插入序列啦。 现在问题来了,如何找到最后一个插入的点呢? 阅读题目可知,新节点的插入无论如何都是往左子树插入,所以这个节点一定是在根节点一路向左的地方。 至 阅读全文
posted @ 2019-10-06 10:42 攒一兜星星* 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一、getline()用的比较多的用法 (1) istream& getline (istream& is, string& str, char delim);(2) istream& getline (istream& is, string& str); 如果在使用getline()之前有使用sc 阅读全文
posted @ 2019-10-06 08:02 攒一兜星星* 阅读(2591) 评论(2) 推荐(2) 编辑
摘要: 题目描述 lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[a,b]区间内的所有数全部取反,也就是说把所有 阅读全文
posted @ 2019-10-05 21:54 攒一兜星星* 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题目描述 "第一分钟,X说,要有数列,于是便给定了一个正整数数列。 第二分钟,L说,要能修改,于是便有了对一段数中每个数都开平方(下取整)的操作。 第三分钟,k说,要能查询,于是便有了求一段数的和的操作。 第四分钟,彩虹喵说,要是noip难度,于是便有了数据范围。 第五分钟,诗人说,要有韵律,于是便 阅读全文
posted @ 2019-10-05 21:48 攒一兜星星* 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目描述 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度。 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为:∑(ai-bi)2 其中ai 表示第一列火柴中第i个火柴的高度,bi​表示第二列火柴中第 i 个火柴的高度。 每列火柴中相邻两根火柴的位置都 阅读全文
posted @ 2019-10-05 19:39 攒一兜星星* 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 1,pair的应用 pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是 阅读全文
posted @ 2019-10-05 06:54 攒一兜星星* 阅读(2155) 评论(0) 推荐(0) 编辑
摘要: 1结构 线段树是一个平衡的二元树,所有叶子到根的距离最多只差1。令整个区间的长度为N,则其有N个叶节点,每个叶节点代表一个单位区间,每个内部结点代表的区间为其两个儿子代表区间的联集。 2基本操作 线段树所要提供的是查询一个区间内的资讯,并允许修改操作。要使用线段树,此资讯必须满足对于区间与位于区间内 阅读全文
posted @ 2019-10-05 06:10 攒一兜星星* 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 链上分治主函数部分 归并前统计,假设归并的区间是[l,r],把他分成[l,mid],[mid+1,r] 阅读全文
posted @ 2019-10-04 20:40 攒一兜星星* 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-10-04 20:36 攒一兜星星* 阅读(144) 评论(0) 推荐(0) 编辑
摘要: check(j,s) 行,该行方的国王数,国王总集合 check看s本身合不合法 往前错,不会把最后一位舍掉 s等于0时跳出 j=n行末 shift把原来的所有元素+1即可 按格转移 1,2,上面两个已经铺过了,可以横着铺3,可以空着,留到下一行再铺,4,s不用变,直接换行即可 阅读全文
posted @ 2019-10-04 20:34 攒一兜星星* 阅读(116) 评论(0) 推荐(0) 编辑