上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 44 下一页
摘要: 可以发现答案一定在所有向量终点形成的上凸壳上,于是在上凸壳上三分即可。 对于删除操作,相当于每个向量有一个作用区间,线段树分治即可。$O(n\log^2 n)$ 同时可以发现,当询问按斜率排序后,每个凸壳上的决策点也是单调变化的,于是可以记录每次的决策位置。$O(n\log n)$ $O(n\log 阅读全文
posted @ 2018-11-02 17:58 HocRiser 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 首先考虑一种暴力做法,为每条边拆成两条有向边,各建一个点。若某两条边有公共点,则在边所对应的点之间连一条边,权值为两条边中的较大值。这样跑最短路是$O(m^2\log m)$的。 用类似网络流中补流的方法,一条边拆成的两个点之间连权值为边的原权值的边(第一种边)。对于一个点,将所有以它为起点的边排序 阅读全文
posted @ 2018-11-02 10:43 HocRiser 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 最后数列一定是单峰的,问题就是最小化最后的位置序列的逆序对数。 从大到小加数,每次贪心看放左边和右边哪个产生的逆序对数更少,树状数组即可。 由于大数放哪对小数不产生影响,所以正确性显然。 注意相同数之间一定能不构成逆序对,需要特判。 阅读全文
posted @ 2018-11-02 10:32 HocRiser 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 先按y排序,二分,两边递归下去,然后处理下半部分对上半部分的贡献,即左下点在下半部分,右上点在上半部分的合法矩形个数。 两个部分均按x排序,枚举右上点p,则左下点需要满足: 1.横坐标大于上半部分纵坐标比p小的点的最大横坐标k。 2.不存在下半部分点满足纵坐标在两点之间,横坐标也在两点之间。 这样, 阅读全文
posted @ 2018-11-02 09:00 HocRiser 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 设a[i],b[i],c[i]分别为前i个数中J,O,I的个数,则一个区间[L+1,R]合法当且进当: a[r]-a[l]=b[r]-b[l]=c[r]-c[l]。 即a[l]-b[l]=a[r]-b[r],a[l]-c[l]=a[r]-c[r],b[l]-c[l]=b[r]-c[r]。 用map记 阅读全文
posted @ 2018-11-02 07:42 HocRiser 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 模板题,注意long long。 阅读全文
posted @ 2018-11-01 18:32 HocRiser 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 从小到大加数,根据加入的位置转移,裸的背包DP。 阅读全文
posted @ 2018-11-01 18:04 HocRiser 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 性质:最小生成树上任意两点间的最大边权,一定是这两点间所有路径的最大边权中最小的。证明显然。 阅读全文
posted @ 2018-11-01 18:02 HocRiser 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 从L开始从小到大暴力枚举。考虑到最后是让非零前缀数字个数最少,那么下面枚举的不可能在当前数的某个后缀零上变动。 于是每次将最后一位不是0的数字+1并统计答案即可。 每一位最多加了10次,一次是9的复杂度,最多9位,故复杂度O(810T)。 阅读全文
posted @ 2018-11-01 17:56 HocRiser 阅读(136) 评论(0) 推荐(0) 编辑
摘要: Trie模板题。求出每个前缀和后缀的最大异或和区间,枚举断点就可。不知为何跑得飞快。 阅读全文
posted @ 2018-11-01 17:33 HocRiser 阅读(153) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 44 下一页