03 2020 档案

摘要:题目:传送门 题意:给一棵树,每个结点有两种权值 1,-1 ;对于每一个结点,求包含它的最大连通集(权值和最大) 思路:自底向上求出,每个结点的子树方面最大连通集,然后再自顶向下(换根)求出补树(整棵树除掉该结点及其所有子树的树)方面 包含 该结点的父亲 的最大联通集;父亲的最优解-儿子对父亲的贡献 阅读全文
posted @ 2020-03-28 23:12 DeepJay 阅读(204) 评论(0) 推荐(0) 编辑
摘要:题目:传送门 思路:带权并查集,分出若干个集合,每个集合缩成两个权值,如果唯一存在 每个集合中的一个权值相加后等于天使的个数,那么就能够判断出哪些是天使。这里我们可以用一个DP(i,j)表示前i个集合能组成 j 的方案数,最后记录一下路径,把每个集合的一些点加入答案中。 需要注意的是这里的初值是只有 阅读全文
posted @ 2020-03-27 18:32 DeepJay 阅读(251) 评论(0) 推荐(0) 编辑
摘要:题目:传送门 题意:略 思路:显然是DAG模型,类似于01背包,但顺序固定,不得跳过。 状态转移方程:dp(i,j) = max ( dp (i-1,j-a[i]+1) , dp(i-1,j-a[i]) ) + l<=j&&j<=r ; 其中dp(i,j) 表示 第i次在j时刻睡觉,a[i] 指在  阅读全文
posted @ 2020-03-23 21:08 DeepJay 阅读(214) 评论(0) 推荐(0) 编辑
摘要:题目:传送门 题意:求数组元素两两相加后全部异或起来的结果。 思路:暴力求和O(n^2)显然超时,因此可以考虑对所有元素对应的二进制数一位一位算答案。由于是异或,只需要知道某一位“1“”的总个数的奇偶。但是加法涉及进位,不能直接按位计数,那么我们需要把进位考虑在内。高位求和对低位是没有影响的,反之低 阅读全文
posted @ 2020-03-23 20:56 DeepJay 阅读(195) 评论(0) 推荐(0) 编辑
摘要:写法一: 树状维护区间,内部主席树(动态开点)维护值域; 树状数组的结点i代表第i个版本的权值线段树并且其是建立在原区间 [ i - lowbit(i) + 1 , i ] ; 通过树状数组对结点(每个节点都是一个线段树)求和,就能得到一个完整版本的主席树; 由于树状数组的特殊性,这种写法不需要保存 阅读全文
posted @ 2020-03-03 21:45 DeepJay 阅读(145) 评论(0) 推荐(0) 编辑
摘要:题目:传送门 思路:莫队板子题。。 主席树变形。以往的主席树模板题都是建立可持续化权值线段树(求区间第k大,求区间小于k的数量等),而这道题需要建立可持续化的普通线段树(维护区间而非维护值域)。 对于a[i],我们判断其之前是否出现过,如果没有,则直接在i上加个1,否则为了保证每个数字只算一次,我们 阅读全文
posted @ 2020-03-03 16:21 DeepJay 阅读(125) 评论(0) 推荐(0) 编辑
摘要:题目:传送门 思路:先枚举被围的点p,以p为坐标原点,建立坐标系,并求出所有点在坐标系中的弧度角。在枚举p以外的的一个点x,与x角度相差π以内的三个点(p除外),所围出的四边形必定不包含点p。因此我们可采取总方案数 n*C(4,n-1) - 不合法的方案数,求出答案。 1 #include<bits 阅读全文
posted @ 2020-03-03 16:09 DeepJay 阅读(181) 评论(0) 推荐(0) 编辑

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