随笔分类 -  数据结构-树状数组

摘要:题目链接 "BZOJ2738" 题解 将矩阵中的位置取出来按权值排序 直接整体二分 + 二维BIT即可 cpp include include include define LL long long int define REP(i,n) for (int i = 1; i 57){if (c == 阅读全文
posted @ 2018-07-11 10:59 Mychael 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ5058" 题解 可以发现任意两个位置A,B最终位置关系的概率是相等的 如果数列是这样: CCCCACCCCBCCCC 那么最终有7种位置关系 (A,B) (A,C) (B,A) (B,C) (C,A) (C,B) (C,C) 手玩出$7 \t 阅读全文
posted @ 2018-07-09 15:52 Mychael 阅读(505) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3688" 题解 将点排序 设f[i][j][0|1]表示以第i点结尾,有j段,最后一段上升或者下降的方案数 以上升为例 $$f[i][j][0] = \sum\limits_{k = 1}^{i 1}\sum\limits_{y_k include include 阅读全文
posted @ 2018-07-03 20:33 Mychael 阅读(173) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P3676" 题解 我们先维护1为根的答案,再考虑换根 一开始的答案可以O(n)计算出来 考虑修改,记s[u]表示u为根的子树的权值和 当u节点产生v的增量时,只影响1u路径上的s,权值和都+v 而对答案的影响是 $$ \begin{alig 阅读全文
posted @ 2018-07-03 10:29 Mychael 阅读(184) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ" 题解 如果我们给A中所有字母按顺序编号,给B中所有字母编上相同的号码 对于B中同一种,显然号码应该升序 然后求逆序对即可 C++ include include include include include include include define Redg 阅读全文
posted @ 2018-06-28 08:57 Mychael 阅读(155) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2924" 题解 题面有误。。是45° 如果两个点间连线与x轴夹角在45°以内,那么它们之间连边 求最小路径覆盖 = 最长反链 由于45°比较难搞,我们利用复数翻转一下,逆时针旋转45° 这样就求一条从左上到右下的最长链 我们将所有点按x排序,令$f[i] 阅读全文
posted @ 2018-05-30 11:30 Mychael 阅读(173) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P3759" 题解 树状数组套主席树板题 C++ include include include include include include define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) define REP(i, 阅读全文
posted @ 2018-05-30 08:52 Mychael 阅读(238) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3236" 题解 没想到这题真的是如此暴力 C++ include include include include include include define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) define REP 阅读全文
posted @ 2018-05-16 08:31 Mychael 阅读(175) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3594" 题解 dp难题总是想不出来,, 首先要观察到一个很重要的性质,就是每次拔高一定是拔一段后缀 因为如果单独只拔前段的话,后面与前面的高度差距大了,不优反劣 然后很显然可以设出f[i][j]表示前i个玉米,第i棵必须选,且共拔高了j次的最大值 由之前的性质 阅读全文
posted @ 2018-05-14 20:48 Mychael 阅读(147) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ5157" 题解 我们只需计算每个位置为开头产生的贡献大小,就相当于之后每个大于当前位置的位置产生的贡献 + 1之和 离散化后用树状数组维护即可 要注意去重,后面计算的包含之前的,记录下来减去即可 C++ include include include include inclu 阅读全文
posted @ 2018-05-14 08:45 Mychael 阅读(209) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4888" 题解 要求所有连续异或和,转化为任意两个前缀和相减 要求最后的异或和,转化为求每一位1的出现次数 所以我们只需要对每一个i快速求出$sum[i] sum[j] \quad [j include include include include include d 阅读全文
posted @ 2018-05-11 17:08 Mychael 阅读(340) 评论(0) 推荐(0) 编辑
摘要:题目 Byteotian Interstellar Union有N个成员国。现在它发现了一颗新的星球,这颗星球的轨道被分为M份(第M份和第1份相邻),第i份上有第Ai个国家的太空站。 这个星球经常会下陨石雨。BIU已经预测了接下来K场陨石雨的情况。 BIU的第i个成员国希望能够收集Pi单位的陨石样本 阅读全文
posted @ 2018-04-09 19:45 Mychael 阅读(181) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示