上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页
摘要: [TOC] BZOJ1066 蜥蜴 [题目传送门][1] 题解 比较裸的一道网络流,我们先进行拆点,对于每一根柱子,从这根柱子的入点向出点连一条流量为这条柱子的高度的边,对于两根能够相互到达的柱子,连一条流量为$inf$的边,然后对于初始有蜥蜴的柱子,从源点向这根柱子连一条流量为1的边,对于所有能够 阅读全文
posted @ 2018-08-07 09:20 Apocrypha 阅读(95) 评论(0) 推荐(0) 编辑
摘要: [TOC] BZOJ2118 莫莫的等式 [题目传送门][1] 题解 又是比较妙的一道题目,听说这个方法似乎是叫同余类$bfs$?感觉有点像最短路啊。。 问题转化一下,实际上就是一个无限背包的问题了。我们记$T$为$ai$中最小的数,接下来考虑$dis[i]$表示能够构成一个数$Q$,且$Q$ &n 阅读全文
posted @ 2018-08-07 09:15 Apocrypha 阅读(235) 评论(0) 推荐(0) 编辑
摘要: [TOC] BZOJ2809 dispatching [题目传送门][1] 题解 这道题目的题解很多,但大多都是用左偏树/主席书做的。这里再介绍一个莫队的做法。首先这题的题目就是在树上选定一个点,然后在这个点的子树中选出一些点,使这些点的$\sum c[i]$不超过$M$,求$Li $选中点的个数最 阅读全文
posted @ 2018-08-07 08:44 Apocrypha 阅读(126) 评论(0) 推荐(0) 编辑
摘要: [TOC] BZOJ1486 最小圈 [题目传送门][1] 题解 二分+找负环。我们二分最小的平均值,每次check的时候,将原图中的每条边都减去这个平均值,然后在图中找是否有负环,如果找到有负环,则说明存在至少一个环使得这个环的平均值小于当前的值,于是就可以减小右边界,反之增大左边界。 code 阅读全文
posted @ 2018-08-07 08:33 Apocrypha 阅读(116) 评论(0) 推荐(0) 编辑
摘要: [TOC] BZOJ1096 仓库建设 [题目传送门][1] 题解 也是一道比较经典的斜率优化$Dp$,很容易推出DP转移方程: $dp[i]=min(dp[j]+cost(i,j))+c[i]$ 重点就是怎么快速的算出cost(i,j)。我们把cost的计算公式写出来: $cost(i,j)=\s 阅读全文
posted @ 2018-08-07 08:26 Apocrypha 阅读(153) 评论(0) 推荐(1) 编辑
摘要: [TOC] BZOJ3190 赛车 [题目传送门][1] 题解 这题有点像1007的那道题,我们可以把赛车的速度转化成斜率,把赛车的初始位置转化成与$y$轴的交点,然后就和1007差不多了。不过要注意的是计算两个直线交点的时候,如果交点在$x$轴的负半轴,是不能直接拿来比较的,因为规定了时间为正。 阅读全文
posted @ 2018-08-07 08:19 Apocrypha 阅读(149) 评论(0) 推荐(0) 编辑
摘要: [TOC] BZOJ1911 特别行动队 [题目传送门][1] 题解 典型的斜率优化$Dp$。首先如果我们记$sum[i]$表示前$i$个士兵的战斗力之和,那么我们比较容易的可以得出$O(n^2)$的$Dp$:$f[i]=max(f[j]+a (sum[i] sum[j])^2+b (sum[i] 阅读全文
posted @ 2018-08-06 22:12 Apocrypha 阅读(123) 评论(0) 推荐(0) 编辑
摘要: [TOC] BZOJ1202 狡猾的商人 [题目传送门][1] 题解 刚开始看题了之后第一反应就是差分约束,后来发现自己可能已经不怎么会差分约束,就准备放弃这道题目去看题解了,但是看到题解大部分都是并查集,才发现这题可能并不用差分约束(虽然差分约束也是可以做的)。我们用带权并查集维护每一个月收入,记 阅读全文
posted @ 2018-08-06 21:54 Apocrypha 阅读(139) 评论(0) 推荐(0) 编辑
摘要: [TOC] BZOJ1007 水平可见直线 [题目传送门][1] 题解 经典的单调队列进行维护,先将所有的直线以斜率$A$为第一关键字,以与$y$轴交点高度$B$为第二关键字进行排序。考虑加入一条直线,如果斜率与$A[st[top]]$相同,那么可以直接弹出队首元素(因为肯定会被覆盖掉)。然后判断该 阅读全文
posted @ 2018-08-06 21:44 Apocrypha 阅读(109) 评论(0) 推荐(1) 编辑
摘要: [TOC] BZOJ2150 部落战争 [题目传送门][1] 题解 对于每个点拆点之后,每个点都向它能够到达的点的入点连边,跑二分图最大匹配,最后所需的军队个数就是总城镇个数减去匹配个数。因为有一对点能够匹配就说明这两个城镇可以由一只军队征服,所以所需军队=总城镇个数 匹配个数。 code incl 阅读全文
posted @ 2018-08-06 21:33 Apocrypha 阅读(192) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页