摘要: #include<iostream> #include<algorithm> #include<vector> #include<cstdio> #include<string> using namespace std; const int N=1e4+10; int a[N]; int root; 阅读全文
posted @ 2020-02-11 10:34 朝暮不思 阅读(99) 评论(0) 推荐(0) 编辑
摘要: fhq-Treap是一种非常优秀的无旋平衡树。下面我们来介绍他的函数原理 我们先介绍他的两个重要函数 1.spilt(分割函数) 我们将整棵树按照值的大小分割成x,y两棵树,x中的值都是小于等于key值的 这样我们就可以通过递归操作来解析,下面看具体代码 void spilt(int p,int k 阅读全文
posted @ 2020-02-10 19:30 朝暮不思 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 2000分的构造题果然超过了我的能力范围,我太菜了 本题的思路是这样的,我们用vector存储父子节点的关系 我们首先递归到子节点,先对子节点求一个答案vector,假如子节点求好了后,我们只需要把父节点插到对应的c值即可 比如c是3,我们就把父节点插到由子节点组成的vector的第四个位置,这样我 阅读全文
posted @ 2020-02-09 18:21 朝暮不思 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 最近我发现cf上出现很多状态机模型,然而这种模型是dp中最容易理解也是最有套路的一点 本题能用这种方法做的原因是数值都是大于0的,就不可能存在先走上去再走下来的情况,我刚开始误认为有这种情况导致无法下手 我们显然可以定义f[i][j]表示用j工具到达i层的最小值,因此j有两个选项,如果对于本题一开始 阅读全文
posted @ 2020-02-09 11:08 朝暮不思 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 本题可以看出是算number的个数,重点是转化父子节点的关系,我们可以通过dfs来获得前面需要的节点 注意的是,这个点加完计算后,一定要删除,不然会影响兄弟节点的计算 #include<iostream> #include<cstdio> #include<cmath> #include<cstri 阅读全文
posted @ 2020-02-08 20:57 朝暮不思 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 这题我们发现其实是dp的状态机模型,虽然我们发现一个数字可以更改多次 但是我们只要求相邻的不同,所以一个数字最多只跳两次,因为这样就能保证相邻不同,越多没有意义且费钱 所以我们只需三个for循环就能转移 另外本题有几个注意点 1.数据范围很大,所以不能用cin 2.memset会超时,血的教训,在大 阅读全文
posted @ 2020-02-08 11:37 朝暮不思 阅读(207) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #include<map> #include<vector> using namespace std; typedef 阅读全文
posted @ 2020-02-07 21:15 朝暮不思 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 本题重要的一个操作就是撤销之前的操作,并且可以撤销已经撤销的操作 所以我们可以使用主席树这种数据结构来维护,如果撤销,就是将当前版本指向指定位置的版本 这题其实没有建树的必要,但是我习惯建树,我们需要一个len数组和一个pos变量记录有多少个版本以及如果插入应该在哪个位置插入,这样只需线段树就能解决 阅读全文
posted @ 2020-02-06 14:39 朝暮不思 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 一道很老的斜率优化dp 斜率优化看上去很难,其实是有技巧的 。 对于dp题目,如果你想优化他,一定要先列出朴素的表达式并观察性质 对于本题我们可以发现,如果要更新dp[i],我们就要从前面找到dp[j]+(s[i]-s[j])^2+m的最小值,其中s是前缀和 我们就可以猜测,一定有很多不可能转移的内 阅读全文
posted @ 2020-02-05 19:53 朝暮不思 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 本题的做法是斜率优化dp,但是这题杭电经过数据加强后即使算法正确也很难通过 必须要用读入加速,但这个其实在acm中并不要求,所以不建议做,同题可做poj 2018 #include<iostream> #include<algorithm> #include<cstdio> #include<cma 阅读全文
posted @ 2020-02-05 12:18 朝暮不思 阅读(142) 评论(0) 推荐(0) 编辑