摘要: 树形dp summary 树形dp的主要实现形式是dfs,在dfs中dp,主要的实现形式是$dp[i] [j] [0/1]$,i 是以 i 为根的子树,j 是表示在以 i 为根的子树中选择 j 个子节点,0表示这个节点不选,1表示选择这个节点。有的时候 j 或0/1这一维可以压掉 选择节点/边类 \ 阅读全文
posted @ 2020-08-15 11:11 ke_xin 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 区间DP https://oi-wiki.org/dp/interval/ 例1:石子合并 破环成链 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; 阅读全文
posted @ 2020-08-15 11:07 ke_xin 阅读(31) 评论(0) 推荐(0) 编辑
摘要: BST(Binary Search Tree)二叉搜索树 blog 是一棵空树或具有以下几种性质(简而言之,就是中序遍历有序)的树 若左子树不空,则左子树上所有结点的值均小于它的根结点的值 若右子树不空,则右子树上所有结点的值均大于它的根结点的值 左、右子树也分别为二叉搜索树 没有权值相等的结点。 阅读全文
posted @ 2020-08-14 00:28 ke_xin 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 树状数组 它能干的线段树都可(好像它最基本也就支持单点修改,区间求和——前缀和相减)。。。优点是码量very小 inline void update(int x,int v){ for(;x<=n;x+=x&(-x)) c[x]+=v; } inline int query(int x){ int 阅读全文
posted @ 2020-08-14 00:26 ke_xin 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 权值线段树 ——维护某个区间内数组元素出现的次数 权值线段树会采用离散化或动态开点的策略优化空间。单次操作时间复杂度O(logn) 权值线段树和简单线段树的区别 权值线段树维护的是桶,按值域开空间,维护的是个数。 简单线段树维护的是信息,按个数可开空间,维护的是特定信息。 板子——额可打平衡树板子h 阅读全文
posted @ 2020-08-14 00:23 ke_xin 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 7.15 dp专题 T1.sum小Z爱求和 无脑暴力骗20... 正解 \(n^2\) 个元素,挨个统计是 O(\(n^2\)) ,所以统计每个点的贡献 复杂度降到O(n) 对于每个点,他可能贡献的区间是 L= pre(k-1) 前跳 k-1 个前驱 R=nxt ———— L=pre R=nxt(k 阅读全文
posted @ 2020-08-14 00:18 ke_xin 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 7.13模拟赛 T1 sign 签到题。。。 只会暴力dfs...本能骗到70分 出题人血坑。。。 先读入边权 最后惨遭爆零 先附上70代码 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #i 阅读全文
posted @ 2020-08-14 00:15 ke_xin 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 7.7 积木 Description ⼩XX 感到很⽆聊,从柜⼦⾥翻出了⾃⼰⼩时候玩的积⽊。 这套积⽊⼀共有nn 块,每块积⽊都是⼀个长⽅体。⼩XX 想⽤这些积⽊拼成⼀个积⽊塔(不必每⼀块积⽊都使⽤)。 所谓积⽊塔,就是将积⽊⼀个⼀个摞起来,(除去最底层的积⽊外)每块积⽊的底⾯必须能被它下⾯的积⽊的 阅读全文
posted @ 2020-08-14 00:12 ke_xin 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 7.6 Binary Description Solution 遇到位运算直接拆位。 都拆了的话二进制 + 操作不好处理,所以只拆y ​ 对于每个二进制位单独考虑,且y这一位为1才考虑。 ​ 不考虑+x时,我们还可以弄一棵权值线段树,那么cnt[i]所包含的数就是这样的:比i高的位任意,i位以内满足 阅读全文
posted @ 2020-08-14 00:09 ke_xin 阅读(237) 评论(0) 推荐(0) 编辑
摘要: SPOJ GSS - Can you answer these queries系列 GSS1查询 区间最大子段和 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std 阅读全文
posted @ 2020-08-14 00:06 ke_xin 阅读(41) 评论(0) 推荐(0) 编辑