![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Second
文章平均质量分 92
Zbr162
滑天下之大稽
展开
-
运输 [树上差分, 整除分块]
/# 运输运输运输/## 正解部分\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 · 139 阅读 · 0 评论 -
小D的灯泡 [根号分治]
/# 小D的灯泡小D的灯泡小D的灯泡!/!//## 正解部分\color{red}{正解部分}正解部分将 NNN 个点建成一个图, 第 iii 个节点代表第 iii 个位置,则答案为 亮着的灯泡数量 减去 相邻两个灯泡都是亮着的数量 .考虑使用 根号分治 求出 后者, 将不同颜色的点分为两类,个数 小于 N\sqrt{N}N .个数 大于等于 N\sqrt{N}N .修...原创 2019-11-08 21:08:39 · 239 阅读 · 0 评论 -
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 · 123 阅读 · 0 评论 -
树 [虚树, 动态规划]
/# 树树树/## 正解部分\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 · 142 阅读 · 0 评论 -
BZOJ4025 二分图 [线段树分治]
/# 二分图二分图二分图题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分先考虑如何判断是否 二分图, 可以使用 带权并查集 实现, 具体来说:加入边 x,yx, yx,y 时, 设其祖先分别为 t1t_1t1, t2t_2t2,t1=t2t_1 = t_2t1=t2, 若 d[x]⨁d[y]⨁1d[x] \bigoplus d[y] \bigopl...原创 2019-10-10 16:27:34 · 216 阅读 · 0 评论 -
区间覆盖 [动态规划, 线段树]
区间覆盖区间覆盖区间覆盖正解部分\color{red}{正解部分}正解部分设 F[i]F[i]F[i] 表示 完全覆盖 [1,i][1, i][1,i] 的答案,考虑将区间按 左端点 从小到大 排序, 从左向右 枚举区间 进行状态转移, 设当前区间为 iii,可以初步得到状态转移方程 F[ri]=Vi ×∑j=li−1riF[j]F[r_i] = V_i\ \times\su...原创 2019-10-10 19:55:49 · 469 阅读 · 0 评论 -
[BZOJ 2457] 双端队列 (思维)
BZOJ 2457 双端队列BZOJ\ 2457\ 双端队列BZOJ 2457 双端队列 Description\mathcal{Description}Description Sherry现在碰到了一个棘手的问题,有N个整数需要排序。Sherry手头能用的工具就是若干个双端队列。她需要依次处理这N个数,对于每个数,Sherry能做以下两件事:...原创 2019-07-03 23:42:50 · 243 阅读 · 0 评论 -
最大公约数 [动态规划]
最大公约数最大公约数最大公约数正解部分\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 · 291 阅读 · 0 评论 -
限制公共子序列计数 [动态规划]
#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-09 21:44:55 · 235 阅读 · 0 评论 -
HDU5514 Frogs [容斥(II)]
FrogsFrogsFrogs Description\mathcal{Description}Description 有m个石子围成一圈,有n只青蛙跳石子,都从0号石子开始,每次只能越过xi个石子.问所有被至少踩过一次的石子的序号之有m个石子围成一圈, 有n只青蛙跳石子, 都从0号石子开始, 每次只能越过x_i个石子.\\问所有被至少踩过一次的石子的序号之有m个石子围成一圈,有n只青...原创 2019-07-09 21:50:44 · 116 阅读 · 0 评论 -
AT1219 歴史の研究 [回滚莫队]
歴史の研究歴史の研究歴史の研究题目描述见链接 .正解部分\color{red}{正解部分}正解部分直接使用 莫队, 但是这道题目删除时不好寻找次大值, 考虑 回滚莫队,回滚莫队 的处理方式与 莫队 大致是相同的, 具体来说对两个相邻的询问区间 [l′,r′], [l,r][l',r'], \ \ [l, r][l′,r′], [l,r],...原创 2019-10-14 21:10:50 · 165 阅读 · 0 评论 -
LCM [树状数组, HH的项链]
/# LCMLCMLCM给你一个长度为N的数列,有M次询问,每次询问一段区间的LCM模1e9+7的值.给你一个长度为 N 的数列,有 M 次询问,每次询问一段区间的 LCM 模 1e9+7 的值 .给你一个长度为N的数列,有M次询问,每次询问一段区间的LCM模1e9+7的值.1≤N≤200000 1≤M≤200000 1≤Ai≤10000001 ≤ N ≤ 200000\ ...原创 2019-10-15 15:54:18 · 152 阅读 · 0 评论 -
富翁 [组合计数]
#include <iostream>using namespace std;const int mod = 998244353;const int maxn = 30000007;const int lim = 30000000;int n,m,ans;int fac[maxn],inv[maxn],ifac[maxn];int C (int n,int m){ r...原创 2019-10-13 14:10:56 · 112 阅读 · 0 评论 -
表达式求值 [思维题, 矩阵快速幂]
/# 表达式求值表达式求值表达式求值/## 正解部分\color{red}{正解部分}正解部分按顺序扫表达式, 记录四个状态,S:上一个加号前的总和S: 上一个加号前的总和S:上一个加号前的总和M:上一个加号到最后一个乘号为止的乘积M: 上一个加号到最后一个乘号为止的乘积M:上一个加号到最后一个乘号为止的乘积T:上一个加号之后的运算结果T: 上一个加号之后的运算结果T:上一个加号之...原创 2019-09-29 09:10:57 · 160 阅读 · 0 评论 -
硬币游戏 [博弈论, 思维题]
硬币游戏硬币游戏硬币游戏正解部分\color{red}{正解部分}正解部分首先对于无解的情况, 直接判断 h+wh+wh+w 是否奇数, 若是奇数, 则先手必胜, 反之先手必败 .接下来判断是否有解, 每行 和 每列 都有 状态 0/10/10/1, 分别表示操作与不操作,对于每个棋子 (x,y)(x, y)(x,y),若其是 正面朝上, x0x_0x0 与 y0y_0y0 之...原创 2019-10-06 19:34:14 · 918 阅读 · 0 评论 -
POJ3666 Making the Grade[动态规划]
Making−the−GradeMaking-the-GradeMaking−the−Grade原创 2019-05-31 00:48:08 · 208 阅读 · 0 评论 -
P3943 星空
星空原创 2019-05-14 22:28:08 · 188 阅读 · 0 评论 -
怪物猎人[贪心+dp]
Solution\mathcal{Solution}Solution 设当前砍到了第 222 个怪物,则 代价 为 (ai+d)(bi+d)=aibi+aid+dbi+d2=aibi+d(ai+bi)+d2(a_i+d)(b_i+d)=a_i b_i + a_i d + db_i+d^2=a_ib_i+d(a_i+b_i)+d^2(ai+d)(bi+d)=aibi+aid+db...原创 2019-05-18 20:55:49 · 344 阅读 · 0 评论 -
魔术帽游戏 [倍增_隐 III]
Solution\mathcal{Solution}Solution 建图过程:交换操作 可以看作魔术球在 帽子序列 中的 移动,使用每个魔术帽的 位置 为 编号 建图,操作序列中的 a,ba, ba,b 连两条 有向边, 分别为 aaa -> bbb 和 aaa <- bbb, 边权 为当前 操作序号带有小球的帽子交换一次, 表示小球走过一条边,设该边 编号...原创 2019-05-22 22:04:44 · 296 阅读 · 0 评论 -
P3941 入阵曲
入阵曲入阵曲入阵曲Description链接给出 N∗MN*MN∗M的矩阵, 矩阵中的每个数都是不超过 KKK 的正整数, 求有多少矩阵的和满足 mod K=0mod\ K = 0mod K=0SolutionO(N4)O(N^4)O(N4)的算法人尽皆知, 就不说了其实这道题目就两步即可 ACACAC枚举行的上界和下界 O(N2)O(N^2)O(...原创 2019-04-28 15:46:43 · 279 阅读 · 0 评论 -
Weights on Vertices and Edges [Test, Atcoder]
Weights on Vertices and EdgesWeights\ on\ Vertices\ and\ EdgesWeights on Vertices and Edges Description\mathcal{Description}Description 有 NNN 个点, MMM 条边的无向...原创 2019-06-19 21:10:33 · 173 阅读 · 0 评论 -
函数 [计数]
SOLUTION\mathbb{SOLUTION}SOLUTION 设 F(x)=yF(x) = yF(x)=y, 沿着 F[F(x)]=−xF[F(x)] =-xF[F(x)]=−x 这个规则推F(x)=y ...原创 2019-05-25 09:53:26 · 233 阅读 · 1 评论 -
数列的 GCD [计数问题]
数列的GCD数列的 GCD数列的GCD Description\mathcal{Description}Description Solution\mathcal{Solution}Solution Code\mathcal{Code}Code原创 2019-07-04 20:48:36 · 291 阅读 · 0 评论 -
P4318 完全平方数 [二分答案+容斥+莫比乌斯函数]
完全平方数完全平方数完全平方数 Description\mathcal{Description}Description 小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而这丝毫不影响他对其他数的热爱。这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一个小X讨厌的数。他列出了所有小X...原创 2019-07-14 17:32:43 · 217 阅读 · 0 评论 -
卡片游戏 [逆序对_隐 II]
![](https://img-blog.csdnimg.cn/20190601104656914.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1picjE2Mg==,size_16,color_FFFFFF,t_70)![](http...原创 2019-06-01 16:01:12 · 177 阅读 · 0 评论 -
HDU4135 Co-prime [容斥]
Co−primeCo-primeCo−prime Description\mathcal{Description}Description 求区间 L,RL,RL,R 之间与 NNN 互质的数的个数 , L,R<=1015,N<=109L,R<=10^{15}, N<=10^9L,R<=1015,N<=109 最初想法...原创 2019-07-06 21:55:55 · 146 阅读 · 0 评论 -
BZOJ2726 [SDOI2012]任务安排 [斜率优化动态规划]
任务安排任务安排任务安排机器上有N个需要处理的任务,它们构成了一个序列。这些任务被标号为1到N,因此序列的排列为1,2,3…N。这N个任务被分成若干批,每批包含相邻的若干任务。从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti。在每批任务开始前,机器需要启动时间S,而完成这批任务所需的时间是各个任务需要时间的总和。注意,同一批任务将在同一时刻完成。每个任务的费用是它的完成时刻乘...原创 2019-07-16 22:55:49 · 413 阅读 · 0 评论 -
P5025 [SNOI2017]炸弹 [线段树优化建图 + Tarjan]
炸弹炸弹炸弹最初想法\color{blue}{最初想法}最初想法正解部分\color{red}{正解部分}正解部分实现部分\color{red}{实现部分}实现部分原创 2019-07-20 14:30:56 · 226 阅读 · 0 评论 -
POJ3270 Cow Sorting [置换]
CowSortingCow SortingCowSorting Description\mathcal{Description}Description Farmer John有N头牛(1 ≤ N ≤ 10000),这N头牛各自有一个不同的脾气脾气指数L(1 ≤ L ≤ 100000),这N头牛按脾气指数是无序排列,指数越大的越容易破坏farmer的挤奶器,所以farmer为了保护他的设施...原创 2019-07-01 21:36:50 · 251 阅读 · 0 评论 -
51nod1439 互质对 [莫比乌斯函数, 容斥]
/# 互质对互质对互质对有n个数字,a[1],a[2],…,a[n]。有一个集合,刚开始集合为空。然后有一种操作每次向集合中加入一个数字或者删除一个数字。每次操作给出一个下标x(1 ≤ x ≤ n),如果a[x]已经在集合中,那么就删除a[x],否则就加入a[x]。问每次操作之后集合中互质的数字有多少对。注意,集合中可以有重复的数字,两个数字不同当且仅当他们的下标不同。比如a[1]=a[2...原创 2019-07-30 18:22:01 · 658 阅读 · 0 评论 -
P1800 software [dp+二分答案]
softwaresoftwaresoftware Description\mathcal{Description}Description 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术人员分工完成,每个技术人员完成同一软件的不同模块的所用的天数是相同的,并且是已知的,但完成不同软件的一个模块的时间是不同的,...原创 2019-06-23 23:05:09 · 202 阅读 · 0 评论 -
田忌赛马 [贪心(完成) / 动态规划(待填坑)]
田忌赛马田忌赛马田忌赛马/## 最初想法\color{blue}{最初想法}最初想法设 F[i,j]F[i, j]F[i,j] 表示前 iii 场比赛, 使用的马属于前 jjj 匹马的最大收获,则 F[i,j]=max(F[i,j−1],F[i−1,j−1]+costj)F[i, j] = \max(F[i, j-1], F[i-1, j-1]+cost_j)F[i,j]=max(F[i...原创 2019-07-27 19:07:09 · 323 阅读 · 0 评论 -
P4297 [NOI2006]网络收费 [树形dp]
网络收费网络收费网络收费点击标题链接查看题目./## 最初想法\color{blue}{最初想法}最初想法类似线段树建出一颗树, 暴力枚举每个节点改不改 ./## 正解部分\color{red}{正解部分}正解部分观察题目的表格, 可以发现:满足 Na<NbNa < NbNa<Nb 的子树上, 只有 AAA 收费方式需要付费 .满足 Na≥N...原创 2019-07-28 20:03:30 · 205 阅读 · 0 评论 -
51nod1074 约瑟夫环V2 [思维题]
/# 约瑟夫环V2约瑟夫环V2约瑟夫环V2N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。(2≤N≤1018,2≤K≤1000)(2 \le N \le 10^{18}, 2 \le K \le 1000)(2≤N≤1018,2≤K≤1000)...原创 2019-08-24 20:01:55 · 190 阅读 · 0 评论 -
Cf #434 Div.1 D Wizard's Tour [构造题]
Wizard′sTourWizard's TourWizard′sTour最初想法\color{blue}{最初想法}最初想法考虑枚举每个边 (u,v)(u, v)(u,v), 设 uuu 连出的点中度数最小的点为 aaa, vvv 连出的点中度数最小的点为 bbb,比较 u,au, au,a 与 v,bv, bv,b 的度数和大小, 贪心地选取度数较小的点, 得到一个...原创 2019-08-30 18:58:55 · 248 阅读 · 0 评论 -
P4169 [Violet]天使玩偶/SJY摆棋子 [CDQ分治]
/# 天使玩偶天使玩偶天使玩偶Ayu 在七年前曾经收到过一个天使玩偶,当时她把它当作时间囊埋在了地下。而七年后 的今天,Ayu 却忘了她把天使玩偶埋在了哪里,所以她决定仅凭一点模糊的记忆来寻找它。我们把 Ayu 生活的小镇看作一个二维平面坐标系,而 Ayu 会不定时地记起可能在某个点 (x, y) 埋下了天使玩偶;或者 Ayu 会询问你,假如她在 (x,y) ,那么她离近的天使玩偶可能埋下的地...原创 2019-09-04 15:02:50 · 248 阅读 · 0 评论 -
BZOJ4361 isn [容斥计数]
isnisnisn给出一个长度为n的序列A(A1,A2…AN)。如果序列A不是非降的,你必须从中删去一个数,这一操作,直到A非降为止。求有多少种不同的操作方案,答案模 109+710^9+7109+7。1≤N≤20001 \le N \le 20001≤N≤2000正解部分\color{red}{正解部分}正解部分末状态为一个 非上升序列,因为计算答案需要得知 非上升序列 的长度, 所...原创 2019-08-28 17:34:00 · 134 阅读 · 0 评论 -
P1437 [HNOI2004]敲砖块 [dp]
敲砖块敲砖块敲砖块在一个凹槽中放置了 n 层砖块、最上面的一层有n 块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示。14 15 4 3 23 33 33 76 2 2 13 11 22 23 31如果你想敲掉第 i 层的第j 块砖的话,若i=1,你可以直接敲掉它;若i>1,则你必须先敲掉第...原创 2019-08-18 10:45:11 · 210 阅读 · 0 评论 -
树句节狗提 [树状数组 / (dep, dfn)二维数点]
树句节狗提树句节狗提树句节狗提/## 正解部分\color{red}{正解部分}正解部分先题意转换 ↓↓↓求子树内所有与 xxx 距离至少为 KKK 的点的权值和 →\color{red}{\rightarrow}→ 子树内的和 −-− 子树内与 xxx 距离小于等于 K−1K-1K−1 的点的权值和.离线, dfn前缀和, 树状数组前缀和 ./## 实现部分\color{...原创 2019-08-24 20:48:22 · 183 阅读 · 0 评论 -
伟大的航线 [set / 代码待补]
伟大的航线伟大的航线伟大的航线正解部分\color{red}{正解部分}正解部分题意:题意:题意:NoderNoderNoder 在穿越河流时不能停止, 所以出发的时间点决定了 NoderNoderNoder 是否能够通过河流, 问能够通过河流的最长持续时间.下面考虑一艘船对 NoderNoderNoder 时间区间的影响, 设船头 t1t_1t1 到达过和线, 船尾 t2t_2...原创 2019-08-11 18:54:09 · 295 阅读 · 0 评论