上一页 1 ··· 83 84 85 86 87 88 89 90 91 ··· 109 下一页

2019年2月9日

cf1110F 离线+树上操作+线段树区间更新

摘要: 自己搞的算法超时了。。但是思路没什么问题:用线段树维护每个点到叶子节点的距离即可 这是cf上的代码 阅读全文

posted @ 2019-02-09 14:36 zsben 阅读(201) 评论(0) 推荐(0) 编辑

2019年2月8日

tarjan求lca :并查集+dfs

摘要: //参考博客 https://www.cnblogs.com/jsawz/p/6723221.html#include using namespace std; #define maxn 420000 struct Query{int to,nxt,lca;}q[maxn]; struct Edge{int to,nxt;}edge[maxn>n>>m>>p; for(int i=1;i... 阅读全文

posted @ 2019-02-08 19:34 zsben 阅读(167) 评论(0) 推荐(0) 编辑

cf1110E 思维

摘要: /* Ci'=Ci+1 + Ci-1 -Ci Ci+1 - Ci' = Ci - Ci-1 Ci' - Ci-1 = Ci+1 - Ci; 即求一次Ci’等价于交换Ci和Ci-1 与 Ci+1和Ci的差值 那么只要差值排序后的数组是相同的即可 */ #include using namespace std; #define maxn 100005 vectorv1,v2; int a[maxn... 阅读全文

posted @ 2019-02-08 13:51 zsben 阅读(192) 评论(0) 推荐(0) 编辑

cf1110d 线性dp

摘要: 很精练的一道题 阅读全文

posted @ 2019-02-08 11:45 zsben 阅读(213) 评论(0) 推荐(0) 编辑

2019年2月7日

cf842D 01字典树|线段树 模板见hdu4825

摘要: 一般异或问题都可以转换成字典树的问题,,我一开始的想法有点小问题,改一下就好了 下面的代码是逆向建树的,数据量大就不行 如果是把集合中存在的元素进行建树,就不会出现字典树大小无法确定的问题,但是每次查询要改一下,即如果第i位是1,那就往字典树的0子树找,反之往1子树找,并且如果先找的子树已经满了,即 阅读全文

posted @ 2019-02-07 18:50 zsben 阅读(121) 评论(0) 推荐(0) 编辑

cf842C 树形dp+gcd函数

摘要: 树形dp用一下就好了 阅读全文

posted @ 2019-02-07 18:43 zsben 阅读(272) 评论(0) 推荐(0) 编辑

2019年2月4日

cf581F 依赖背包+临时数组 好题

摘要: 这题得加个临时数组才能做。。 阅读全文

posted @ 2019-02-04 20:28 zsben 阅读(259) 评论(0) 推荐(0) 编辑

2019年2月3日

hdu5758 思维,树形dp

摘要: /*可以推测从叶子结点传送到叶子节点才能使传送次数最少,如果是偶数个叶子结点,那么传送leaf/2次就是答案,如果是奇数个叶子结点,则还有单独一条链需要覆盖dp[u]表示覆盖完u为根的子树需要走的边数,显然在满足传送次数最少的条件下,dp[u]是可以递推的 设以u为根节点,v是u的儿子,如果v就是叶 阅读全文

posted @ 2019-02-03 15:07 zsben 阅读(225) 评论(0) 推荐(0) 编辑

2019年2月2日

hdu4044 依赖背包变形 好题!

摘要: 由于不是求最大的可拦截的HP值,而是要将最小值最大化,那么就需要分配每个子树用的钱数以达到最小值最大化 第一步解决如何分配钱使得结点u的子树中用了j元钱后可以拦截的HP最大,这就是变形的分组(依赖)背包,即枚举m元钱,在子树v用t元钱,在v之前的子树用j-t元钱 用Max[v][j]数组记录u的前v 阅读全文

posted @ 2019-02-02 13:27 zsben 阅读(155) 评论(0) 推荐(0) 编辑

2019年2月1日

cf861D 字典树+时间戳

摘要: 好久没碰字典树之类的题了,搞起来有点生疏 阅读全文

posted @ 2019-02-01 19:28 zsben 阅读(286) 评论(0) 推荐(0) 编辑

上一页 1 ··· 83 84 85 86 87 88 89 90 91 ··· 109 下一页

导航