自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zbr162的博客

滑天下之大稽 !

  • 博客(255)
  • 收藏
  • 关注

原创 乘方 [二分答案, 容斥]

#include<bits/stdc++.h>#define reg registertypedef long long ll;int read(){ char c; int s = 0, flag = 1; while((c=getchar()) && !isdigit(c)) ...

2019-11-13 20:16:59 294

原创 交集 [背包撤销, 动态规划]

交集交集交集正解部分\color{red}{正解部分}正解部分若路径并为 P(u,v)P(u, v)P(u,v), 形态如上图所示, 则 答案 等于以 uuu 为根的子树中选择 kkk 个起点的方案数 乘上 以 vvv 为根的子树中选择 kkk 个终点的方案数, 且要满足 kkk 个点 两两 都分别以 uuu, vvv 为 lcalcalca设 F[i,j]F[i, j]F[i,j] ...

2019-11-11 21:31:50 354

原创 魔法 [动态规划]

魔法魔法魔法正解部分\color{red}{正解部分}正解部分设 F[i]F[i]F[i] 表示最后一刀切在 iii 位置, 右端点小于等于 iii 的所有区间都满足条件的最小花费,状态转移, 在 iii 位置切一刀, F[i]=min⁡(F[l右端点小于i的区间中右端点最大的区间的左端点 ... i−1]+A[i])F[i] = \min(F[l_{右端点小于i的...

2019-11-11 16:59:25 302

原创 取石子 II [期望]

/# 取石子II取石子 II取石子II/## 正解部分\color{red}{正解部分}正解部分取石子 111 传送门 .点开传送门, 根据期望的线性, 答案可以当做每堆石子被取的期望次数和,又因为 aia_iai​ 与 a1a_1a1​ 两堆石子是相互独立的, 因此可以单独计算贡献,现在计算 aia_iai​, a1a_1a1​ 两堆石子的贡献,将 (a1,ai)(a_1,...

2019-11-10 20:40:53 171

原创 取石子 I [期望]

取石子取石子取石子正解部分\color{red}{正解部分}正解部分取走其它堆石子 会对 取走第一堆石子的时刻 造成影响,所以设 xix_ixi​ 表示第 iii 堆石子在 111 前面取走 这个事件, E(x)E(x)E(x) 发生这个事件的期望时间,由于取一次就可以取完, 于是期望时间的值 等于 概率,则 ans=E(x1+x2+x3+...+xn)=1+E(x2)+E(x3)...

2019-11-10 10:58:58 167

原创 小D的灯泡 [根号分治]

/# 小D的灯泡小D的灯泡小D的灯泡!/!//## 正解部分\color{red}{正解部分}正解部分将 NNN 个点建成一个图, 第 iii 个节点代表第 iii 个位置,则答案为 亮着的灯泡数量 减去 相邻两个灯泡都是亮着的数量 .考虑使用 根号分治 求出 后者, 将不同颜色的点分为两类,个数 小于 N\sqrt{N}N​ .个数 大于等于 N\sqrt{N}N​ .修...

2019-11-08 21:08:39 231

原创 P3953 逛公园 [dp]

1

2019-11-07 12:00:08 143

原创 CF600E Lomsat gelral [dsu on tree]

/# Lomsat gelralLomsat\ gelralLomsat gelral题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分dsu on treedsu\ on\ treedsu on tree, 每次将 重儿子 的信息继承给父亲, 轻儿子 暴力扫, 时间复杂度 O(Nlog⁡N)O(N\lo...

2019-11-06 19:00:45 132

原创 矩形面积交 [区间树状数组, 扫描线]

/# 矩形面积交矩形面积交矩形面积交/## 正解部分\color{red}{正解部分}正解部分每个矩形提出其 左边 和 右边 , 每条边都使用三元组 (l,r,flag,type)(l, r, flag, type)(l,r,flag,type)表示, 放置对应的 xxx 坐标上,使用一条 扫描线 从左向右扫, 如下图计算 橙色询问矩形 的答案,计算 222 区间, 考虑先计算 ...

2019-11-05 19:30:16 177

原创 运输 [树上差分, 整除分块]

/# 运输运输运输/## 正解部分\color{red}{正解部分}正解部分树上差分树上差分树上差分 + 整除分块整除分块整除分块对询问 (x,y,w)(x, y, w)(x,y,w), 在 x,yx, yx,y 处计算 x,yx, yx,y 到根节点路径上 www 的贡献, 再在 lcalcalca 处减去多计算的贡献,www 走过一条边 edgeedgeedge 对答案的贡献为 ...

2019-11-05 19:27:22 133

原创 [数据删除] 的树 [树形dp]

子树问题子树问题子树问题正解部分\color{red}{正解部分}正解部分设 F[i,j]F[i, j]F[i,j] 表示 iii 个节点, 深度不超过 jjj 的构成树的方案数, 枚举根节点编号 次大 子树大小转移,F[i,j]=∑k=1iF[k,j−1]×F[i−k,j]×(i−2k−1)F[i, j] = \sum\limits_{k=1}^{i} F[k, j-1] \time...

2019-11-03 18:35:17 182

原创 背包问题 [二维偏序, 树状数组]

背包问题背包问题背包问题正解部分\color{red}{正解部分}正解部分二维偏序问题,将所 有点 按照 vvv 为第一关键字, www 为第二关键字 从大到小 排序,从前往后扫, 离散化坐标, 使用 树状数组 维护 yyy 的 前缀最大值, 记为 max_curmax\_curmax_cur对于背包的限制, 将背包按容量 从大到小 排序, 维护一个指针从左往右根据物品的容量往右移...

2019-11-02 15:38:40 197

原创 P3232 [HNOI2013]游走 [高斯消元]

/# 游走游走游走题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分题目要求走过的 边 编号和期望最小,先求出 点 的期望值 f[i]f[i]f[i], 走过一条边 u,vu, vu,v 的期望值即为 f[u]/du[u]+f[v]/du[v]f[u]/du[u] + f[v]/du[v]f[u]/du[u]+f[v]/du[v], 最后将期望值大的边赋予较小的...

2019-11-02 14:20:01 119

原创 BZOJ4919 大根堆 [树上LIS]

/# $$$$/## 正解部分\color{red}{正解部分}正解部分/## 实现部分\color{red}{实现部分}实现部分

2019-11-01 21:53:05 294

原创 红绿 [线段树分治, 并查集]

// Create time: 2019-10-06 16:11:51 - 17:30:00, 18:10:03 - #include <algorithm>#include <iostream>#include <cstdio>#include <vector>using namespace std;#define N 1000...

2019-11-01 21:20:20 138

原创 [USACO17FEB] Why Did the Cow Cross the Road II P [树状数组优化dp]

/# Why Did the Cow Cross the RoadWhy\ Did\ the\ Cow\ Cross\ the\ RoadWhy Did the Cow Cross the Road题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分...

2019-11-01 11:41:09 171

原创 中等的字符串 [Ac自动机, 矩阵乘法(max)]

中等的字符串中等的字符串中等的字符串正解部分\color{red}{正解部分}正解部分建出 AcAcAc 自动机, 在自动机上 dpdpdp,设 F[i,j]F[i, j]F[i,j] 表示 iii 节点走 jjj 步所能得到的 最大值,则 F[i,j]=max⁡(F[to,j−1]+wto)F[i, j] = \max(F[to, j-1] + w_{to})F[i,j]=max(...

2019-10-31 21:59:00 211

原创 战胜序列 [性质dp]

战胜序列战胜序列战胜序列正解部分\color{red}{正解部分}正解部分设 F[i,a,b,c]F[i, a, b, c]F[i,a,b,c] 表示前 iii 项 , 分别以 0,1,20,1,20,1,2 为结尾的 最长战胜序列 长度为 a,b,ca, b, ca,b,c 的方案数,枚举状态, O(3)O(3)O(3) 转移, 总复杂度 O(N4)O(N^4)O(N4) .可以发...

2019-10-30 12:17:49 186 1

原创 BZOJ5281 [Usaco2018 Open]Talent Show [0/1分数规划, 背包]

Talent ShowTalent\ ShowTalent Show题目描述见链接 .正解部分\color{red}{正解部分}正解部分0/10/10/1 分数规划,二分出答案 midmidmid, 要满足 ∑ti∑wi≤mid→mid×∑wi+∑ti≥0→∑(mid×wi+ti)≥0\frac{\sum t_i}{\sum w_i} \le mid \rightar...

2019-10-29 22:03:36 139

原创 BZOJ2006 [NOI2010]超级钢琴 [贪心, 堆]

/# 超级钢琴超级钢琴超级钢琴题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分题目即让我们求前 KKK 大的连续子段和 .考虑将每个左端点 [1,N][1, N][1,N] 提出, 使用 ststst表 求出每个左端点最佳的右端点, 将其扔进 大根堆 中,每次取出堆顶元素 [l,r][l, r][l,r], 累加进答案, 在 [l,r−1],[r+1,N][...

2019-10-29 21:08:09 117

原创 三只企鹅 [重链剖分]

三只企鹅三只企鹅三只企鹅正解部分\color{red}{正解部分}正解部分若对 {pi}\{p_i\}{pi​} 进行了修改, 总共修改了 kkk 次, 此时若询问 xxx, 则答案为 ans=∑deppi+kdepx−2∑deplca(pi,x)ans = \sum dep_{p_i} + k dep_x - 2\sum dep_{lca(p_i,x)}ans=∑deppi​​+kdep...

2019-10-28 22:08:05 183

原创 或与异或 [背包dp]

或与异或或与异或或与异或给出一个序列 a1,a2,a3...ana_1, a_2, a_3...a_na1​,a2​,a3​...an​, 求 选取任意个数使得其 异或起来的值 等于 或起来的值 的⽅案数 .n≤50,ai≤213n \le 50, a_i \le 2^{13}n≤50,ai​≤213正解部分\color{red}{正解部分}正解部分考虑 O(213)O(2^{13})O...

2019-10-28 20:11:08 583

原创 BZOJ1854 [Scoi2010]游戏 [二分图匹配]

游戏游戏游戏题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分由于每个武器只能选择一种属性, 可以想到 二分图,对于武器 iii, xi,yix_i, y_ixi​,yi​ 向 iii 连边, 这可以保证每个武器只能选择一个属性的条件,按属性从小到大进行 二分图匹配, 可以保证攻击力连续递增的条件 .实现部分\color{red}{实现部分}...

2019-10-27 21:23:39 145

原创 BZOJ1597 [Usaco2008 Mar]土地购买 [斜率优化]

/# 土地购买土地购买土地购买题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分将 矩形的 长 作为 xxx, 矩形的 宽 作为 yyy, 放到 平面直角坐标系 中,题目转化 为使用 最小的矩阵面积和 覆盖所有点,可以发现当矩形 a,ba, ba,b 满足 a.x≤b.xa.x \le b.xa.x≤b.x, a.y≤b.ya.y \le b.ya.y≤b.y...

2019-10-27 20:33:32 128

原创 异或子段 [check]

异或子段异或子段异或子段正解部分\color{red}{正解部分}正解部分直接设 F[i,j]F[i, j]F[i,j] 表示前 iii 位分为 jjj 段的最大答案不可行, 因为其不满足子结构最优的性质 .按位处理, 从高到低 在保证高位尽量取得最大值的前提下检查较低位可不可以取 111,现在 checkcheckcheck 当前位填 111 是否合法, 只需将序列分为若干段, ...

2019-10-27 15:35:20 383

原创 区间 [动态规划]

/# 区间区间区间/## 正解部分\color{red}{正解部分}正解部分/## 实现部分\color{red}{实现部分}实现部分

2019-10-27 15:27:17 167

原创 P3435 [POI2006]OKR-Periods of Words [Kmp, next数组]

/# OKR−Periods of WordsOKR-Periods\ of\ WordsOKR−Periods of Words题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分题目转化 为: 对每个前缀串, 求出其 最短公共前缀后缀, 答案即为 总长度 −-− 公共长度 .自然而然地想到 KmpKmpKmp 的 nex...

2019-10-26 14:58:21 143

原创 没有名字 [整除分块优化dp]

#include<bits/stdc++.h>using namespace std;#define MOD 1000000007#define M 100005#define ll long longint n,m,ans,cnt;int L[M],R[M];ll f[105][M],g[105][M];int main(){ cin >> n ...

2019-10-25 20:30:00 252

原创 CF1204E Natasha, Sasha and the Prefix Sums [动态规划]

/# Natasha, Sasha and the Prefix SumsNatasha,\ Sasha\ and\ the\ Prefix\ SumsNatasha, Sasha and the Prefix Sums题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部...

2019-10-25 19:11:08 150

原创 网格染色 [组合计数]

网格染色网格染色网格染色N×MN \times MN×M 的网格图, 给任意多个网格染色, 计算 使得每行每列至少有一个染色网格 的 染色方案数 .N,M≤106N, M \le 10^6N,M≤106正解部分\color{red}{正解部分}正解部分答案 === 每 列 都合法的总方案数 −-− 列 合法前提下 行 不合法的方案数 .每 列 都合法的总方案数 === (2n−1)m(...

2019-10-25 16:43:07 676

原创 替身使者 [区间dp]

替身使者替身使者替身使者正解部分\color{red}{正解部分}正解部分将 g(x)g(x)g(x) 画在坐标系中, 可以观察到其增速是十分快的, 且可以证明若一个人可以走到人多的地方, 一定是要走到的 .设 F[l,r]F[l, r]F[l,r] 表示不能走出区间 [l,r][l, r][l,r] 的所有人对答案的 最大 贡献, 枚举聚集点 kkk, 使得所有能走到 kkk 的人全都...

2019-10-23 22:12:56 325

原创 P3158 [CQOI2011]放棋子 [动态规划]

/# 放棋子放棋子放棋子题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分设 F[i,j,k]F[i, j, k]F[i,j,k] 表示/## 实现部分\color{red}{实现部分}实现部分...

2019-10-23 21:13:10 142

原创 博士之时 [分类讨论, 计数]

博士之时博士之时博士之时正解部分\color{red}{正解部分}正解部分由于0≤M1,M2≤N20 \le M_1, M_2 \le \frac{N}{2}0≤M1​,M2​≤2N​两个点之间至多有 111 条 相同的边每个点至多链出 111 条 同种边因此每个点最多向外链出 222 条 不同的边, 进而得出 图中仅有 偶环 或 链, 且是 0,10,10,1 相间的 ....

2019-10-22 22:05:36 190

原创 曾有两次 [最短路树]

曾有两次曾有两次曾有两次正解部分\color{red}{正解部分}正解部分以 111 号节点 为 根节点 建立 最短路树, 一个节点删边时一定是删去 父边,考虑 删去父边后当前节点 uuu 到 111 的最短路长是什么,一定是 u→u子树内节点 v −非树边→w→1u \rightarrow u子树内节点 \ v\ -^{非树边}\rightarrow w \rig...

2019-10-22 20:21:43 211

原创 序列 [线段树]

#include<bits/stdc++.h>#define reg registerint read(){ char c; int s = 0, flag = 1; while((c=getchar()) && !isdigit(c)) if(c == '-'){ flag = ...

2019-10-22 16:21:12 204

原创 城镇 [树的直径, 启发式合并]

/# 城镇城镇城镇 正解部分\color{red}{正解部分}正解部分题目的本质就是不断地合并联通块, 动态维护直径,动态维护直径, 这里 有道类似的题目假设现在要合并两个联通块, 且这两个联通块的直径端点已知, 设为 a,b,c,da, b, c, da,b,c,d则新的直径只可能是 (a,b),(a,c),(a,d),(b,c),(b,d),(c,d)(a, b), (a, c...

2019-10-21 20:59:41 187

原创 找钱 [动态规划, 背包]

找钱找钱找钱/## 最初想法\color{grey}{最初想法}最初想法最后一条限制不好处理, 于是关于 小 LLL 的 背包信息 搜出来, 售货员 的背包信息 dpdpdp,但是忘记 记忆化 了, 丢了 50pts50pts50pts …505ms505 ms505ms AC 代码 ↓\downarrow↓#include<bits/stdc++.h>#define...

2019-10-21 20:14:42 158

原创 P3411 序列变换 [单调队列]

/# 序列变换序列变换序列变换题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分题目转化 为: 求数列中离散化后 最长连续不间断子序列 的长度 lenlenlen, ans=N−lenans = N-lenans=N−len .子序列需要满足 333 个条件 ↓\downarrow↓编号 单调递增 .子序列中的值 连续 .子序列中的值 单调不减 .可...

2019-10-20 16:21:16 194

原创 树 [虚树, 动态规划]

/# 树树树/## 正解部分\color{red}{正解部分}正解部分建出以 rrr 为根的 虚树, 将 关键点 按照 虚树 中的深度排序, 这样可以保证一个点的祖先全部在其前面,设 F[i,j]F[i, j]F[i,j] 表示前 iii 个点, 分为 jjj 组 的 方案数, g[i]g[i]g[i] 表示 iii 到 rrr 的路径上 关键点 的个数, 则F[i,j]=(i−g[...

2019-10-18 15:21:58 137

原创 最大公约数 [动态规划]

最大公约数最大公约数最大公约数正解部分\color{red}{正解部分}正解部分最优情况中, gcdgcdgcd 每次变化都是 质因数分解中的一个质因子次数减少 111, 所以 fmax(n)f_{max}(n)fmax​(n) 为 [1,n][1, n][1,n] 中 质因数分解质数次幂的和 的 最大值 加上 111.首先 fmax(n)f_{max}(n)fmax​(n) 分解质因数...

2019-10-17 22:00:41 277

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除