分治
cervoliu
这个作者很懒,什么都没留下…
展开
-
【JZOJ 4770】 闭门造车(平面最近点对)
Description自从htn体验了一把飙车的快感,他就下定决心要闭门造车!但是他两手空空怎么造得出车来呢?无奈的他只好来到了汽车零部件商店。 一走进商店,玲琅满目的各式零件看得htn眼花缭乱。但是他很快便反应过来:我只要买一套好的零件就行。首先它们的性能差不能太大,否则汽车的兼容性不好,开着开着就损坏了;其次,当然是越便宜越好了!为了打造一辆顶级跑车,htn陷入了沉思…… 现在商店中有 N原创 2016-09-12 19:26:26 · 466 阅读 · 0 评论 -
【JZOJ 4937】 与运算
Description Analysis因为是与运算,所以很容易想到的套路就是用二进制 可以设f[i]表示当前每一位二进制状态为i,然后状压DP 枚举每个数转移,设cnt[i]表示有多少个数满足and i=i(即i中若某一位为1则数中该位也为1) 那么f[i]=f[j]+i∗(cnt[i]−cnt[j])(i∈j)f[i]=f[j]+i*(cnt[i]-cnt[j])(i\in j) cn原创 2017-01-15 22:11:13 · 429 阅读 · 0 评论 -
【JZOJ 3893】 画矩形
Description Time Limits: 2000 ms Memory Limits:262144 KBAnalysis比赛时打了树状数组套线段树,巨大常数卡空间卡时间40分(可是理论复杂度是nlog^2的啊),看这数据范围就是要卡树套树的 然而这是一个经典模型,之前某篇题解写过:传送门 这题的区别是有动态加点操作,所以不能像那题一样直接快排按时间分治我们将操作按时间分治(不知道是原创 2017-01-20 22:36:52 · 509 阅读 · 0 评论 -
【JZOJ 5231】 序列问题
Description 对于100%的数据,n<=500000,0<=A[i]<=10^9线段树比赛时想到的辣鸡方法 枚举区间右端点r,更新将[i,r-1]的答案更新为[i,r]的答案 该点会更新连续向左一段,一直到某个位置pos,已经出现比该点大,比该点小的点 那么1~pos-1答案不变 于是可以用线段树来维护区间[i,r]的最值与答案,代码繁琐,O(nlogn)分治就像往常一样从中间分原创 2017-08-05 19:49:23 · 408 阅读 · 0 评论 -
【JZOJ 5347】 遥远的金字塔
Description Analysisf[i][j]=i∗a[i]+mink<j{f[i−1][k]−k∗a[i]}f[i][j]=i*a[i]+min_{k<j}\{f[i-1][k]-k*a[i]\} 这个dp不解释,too simple 显然是可以斜率优化的,但是可以分治做,大致作为思路mark下 现在要求f[i][1到n]f[i][1到n],我们知道转移的决策有单调性 分治,求出原创 2017-09-06 21:48:15 · 339 阅读 · 0 评论 -
【JZOJ 5430】 图
Description有一个n个点的无向图,给出m条边,每条边的信息形如x,y,c,r 给出q组询问形如u,v,l,r 接下来解释询问以及边的意义 询问表示,一开始你在点u上,然后按顺序处理编号从l到r的边 对于一条边x,y,c,r,你可以进行两种操作: 如果你当前在x点或者y点上,那么你可以走这条边(从x到y或从y到x)并付出c的代价(当然你也可以不走,看操作2) 如果你不走这条边或者原创 2017-10-28 08:20:26 · 392 阅读 · 0 评论 -
【AtCoder Regular Contest 066 F】【JZOJ 5451】Contest with Drinks Hard
Decsription有一个长度为n的数列,对于每个位置,你可以选/不选,选第i个位置的代价为a[i] 假设c[i]=0/1表示第i个位置选/不选,那么最后的收益定义为: (∑ni=1∑nj=i(∏jk=ick))−(∑ni=1ciai)(\sum_{i=1}^n\sum_{j=i}^n(\prod_{k=i}^jc_k))-(\sum_{i=1}^nc_ia_i) 接下来有m个询问,形如x原创 2017-11-06 07:48:58 · 414 阅读 · 0 评论 -
【JZOJ 5352】 计数题
Description N<=10^5,0<=ai<2^30Analysis看到异或考虑拆位 从高位往低位做,将第i位为0的点扔进集合S,为1的点扔进集合T 那么最优情况下,肯定是S, T分别连成树,然后S到T只连一条边 这样就转化成了 ①子问题:S,T的最优方案,可以分治处理 ②S到T连一条边权最小的边。这个可以用Trie实现 显然最多走log层,每层做的总数是nlogn次,所以复杂原创 2017-10-24 21:47:50 · 229 阅读 · 0 评论