摘要: 笛卡尔树 介绍 笛卡尔树是形如上图的一棵树,满足 ①堆的性质,如本图,小根堆,儿子的值大于等于父亲的值 ②二叉搜索树性质,即左子树的点key(默认为下标)比根小,右子树的点key(默认为下标)比根大 显然,按中序遍历这棵树,可得原序列 和treap不同的是,树高不保证是log ③询问下标i到下标j之 阅读全文
posted @ 2020-08-27 21:41 ke_xin 阅读(36) 评论(0) 推荐(0) 编辑
摘要: CF869C The Intriguing Obsession 考虑不合法的情况: 1.一个岛连接的两个岛颜色相同。 2.相同颜色的岛之间连接 我们发现第三种颜色不会影响前两种颜色之间的连接,于是我们可以把问题分成3部分, AB,AC,BC,最后相乘。 那么两种颜色之间连接方案数就是下面的公式了: 阅读全文
posted @ 2020-08-27 20:38 ke_xin 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 高维前缀和 一维: for(int i=1;i<=n;i++) b[i]=b[i-1]+a[i]; 二维: for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+a[i][j]; 三维 阅读全文
posted @ 2020-08-27 19:59 ke_xin 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 集合的所有子集的值的和 【问题】: ​ 给一个集合,包含n个数。 ​ 规定集合的值为集合中所有元素的和。 ​ 求,该集合的所有子集的值的和。 【数据】: ​ [1, 2] ​ 子集是:[空集], [1], [2], [1, 2] ​ 答案是: 1 + 2 + (1 + 2) = 6; 【分析】: ​ 阅读全文
posted @ 2020-08-27 19:33 ke_xin 阅读(621) 评论(0) 推荐(0) 编辑