上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页
摘要: 题解:最小割建模 如果某些元素在一起会得到收益考虑最小割 答案 总收益-最小割 注意:对0点的处理 一开始模型是错的 阅读全文
posted @ 2018-02-28 21:15 ws_zzy 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题解: 枚举左端点,找到合法的最大的右端点 依次选取m段 当某一段的最大右端点被选过了,才能选次大右端点 开一个堆,维护元素(begin,maxp,l,r)表示当前begin为左端点,l,r为合法区间,maxp为最大右端点 每次选取贡献最大的区间,然后按maxp分裂成两部分,次大右端点在这两部分中, 阅读全文
posted @ 2018-02-28 21:13 ws_zzy 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题解:交换某节点的两棵子树仅对 此节点子树对答案的贡献 有影响 Dfs,启发式合并时顺便求逆序对即可,贪心交不交换 O(nlogn*logn) Noname讲过一种合并Treap求逆序对,仅需O(nlogn),还不会 注意:插入时维护路径上的siz,插入完Splay到根节点的儿子 阅读全文
posted @ 2018-02-27 21:28 ws_zzy 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题解:斜率优化,维护上凸包,类似右上半圆 滚动数组优化空间,DP时记录决策点 注意:注意sum[i]-sum[j]可能==0 出题人就给了32分QWQ 其实本代码有Bug但是数据没卡 对于直接把0元素去掉然后DP可能使得序列不足m 阅读全文
posted @ 2018-02-27 21:14 ws_zzy 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题解:动态点分治 建立点分树 每个点维护点分树子树内节点到这个节点和父亲节点距离的前缀和 二分查找锁定合法区间 对每个祖先分治中心查询路径和然后减去不合法子树内的路径和 注意:求大量LCA时用树剖 不开O2时少用STL 相乘炸int lower_bound和upper_bound返回值边界 注意常数 阅读全文
posted @ 2018-02-27 19:56 ws_zzy 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题解:Floyd应用 d[i][j]两点最短路 c[i][j]两点最短路条数 转移 若d[i][k]+d[k][j]<d[i][j]则c[i][j]=c[i][k]*c[k][j] 若d[i][k]+d[k][j]==d[i][j]则c[i][j]+=c[i][k]*c[k][j]; 统计答案时当d 阅读全文
posted @ 2018-02-26 21:23 ws_zzy 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题解:带修改的莫队 阅读全文
posted @ 2018-02-26 21:00 ws_zzy 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题解:每个炸弹爆炸影响一个区间,通过二分查找找到 若A爆炸炸到B则连一条A到B的边 线段树优化建图 缩点+DP 因为每个炸弹的答案一定是一个区间,所以记录每个节点的左端点和右端点 合并时取最值 反思:思维定式,以为求解可达点个数不能合并 阅读全文
posted @ 2018-02-26 20:58 ws_zzy 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题解:求最大生成树,则边一定在最大生成树上,证明用Kluscal 然后就是倍增 TMD我竟然建树写错了,MDMDMDMDMDMD 为什么一开始没想到QWQ 总结:不要往难处想 阅读全文
posted @ 2018-02-26 20:50 ws_zzy 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题解:二分图匹配 行列建点 每一条边i->j表示第i行移动到第j行符合题意,即a[i][j]=1 可证明不需考虑列的交换 求最大匹配即可 阅读全文
posted @ 2018-02-26 20:36 ws_zzy 阅读(126) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 17 下一页