08 2018 档案

摘要:【BZOJ3551】Peaks加强版(Kruskal重构树,主席树) 题面 "BZOJ" Description 在Bytemountains有N座山峰,每座山峰有他的高度h_i。有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问询问从点v开 阅读全文
posted @ 2018-08-31 22:19 小蒟蒻yyb 阅读(382) 评论(0) 推荐(0) 编辑
摘要:【agc023E】Inversions(线段树,动态规划) 题面 "AT" 给定ai,求所有满足piai的排列p的逆序对数之和。 题解 首先如何计算排列p的个数。 设cnt[i]表示aki的个数,那么满足条件的p的总数就是$\prod cnt[i] 阅读全文
posted @ 2018-08-31 19:46 小蒟蒻yyb 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:【CF183D】T shirt(动态规划,贪心) 题面 "洛谷" "CodeForces" 题解 O(n2m)的暴力懒得写了,比较容易,可以自己想想。 做法是这样的,首先我们发现一个结论: 对于某个颜色(我们就把尺寸当成染色问题好了),如果你拿的个数越多,那么它对于答案的贡献就越来越少。这个东 阅读全文
posted @ 2018-08-30 21:16 小蒟蒻yyb 阅读(273) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2423】最长公共子序列(动态规划) 题面 "BZOJ" "洛谷" 题解 今天考试的时候,神仙出题人fdf把这道题目作为一个二合一出了出来,我除了orz还是只会orz。 对于如何O(n2)求解最长的长度是很简单的。 设f[i][j]表示第一个串匹配到了i,第二个串匹配到了 阅读全文
posted @ 2018-08-30 20:25 小蒟蒻yyb 阅读(371) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2118】墨墨的等式(最短路) 题面 "BZOJ" "洛谷" 题解 和跳楼机那题是一样的。 只不过走的方式从3种变成了n种而已,其他的根本没有区别了。 cpp include include include include using namespace std; define M 阅读全文
posted @ 2018-08-30 08:31 小蒟蒻yyb 阅读(330) 评论(0) 推荐(0) 编辑
摘要:【洛谷3043】跳楼机(最短路) 题面 "洛谷" 题解 思路很妙嗷。 先只考虑只用y,z两种移动方式,它们一定能够到达一些楼层, 那么这些楼层再只用x拓展就能够计算答案。 那么我们这样子计算答案,设dis[i]表示可以到达mod x=i的楼层的最小值, 显然这个玩意可以最短路求,那 阅读全文
posted @ 2018-08-30 08:16 小蒟蒻yyb 阅读(385) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2463】谁能赢呢?(博弈论) 题面 "BZOJ" "洛谷" 题解 洛谷上对于难度的评级我总觉有些问题。 很多人按照代码难度而并非思维难度在评级,导致很多评级很不合理啊。。。 不说废话了。。 对于一个nn的棋盘,我们可以考虑用1×2的骨牌来进行覆盖。 显然对于n阅读全文
posted @ 2018-08-29 08:07 小蒟蒻yyb 阅读(259) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3609】人人尽说江南好(博弈论) 题面 "BZOJ" "洛谷" 题解 昨天考试的时候,毒瘤出题人出了一个noip博弈十合一~~然后他就被阿鲁巴了,因为画面残忍,就不再展开。~~ 这题是他的十合一中的第四问,然而我并不会做,所以自己就大力YY了一下, 首先一定有[n/m]个大小为$ 阅读全文
posted @ 2018-08-29 07:57 小蒟蒻yyb 阅读(309) 评论(0) 推荐(0) 编辑
摘要:【洛谷4005】小Y和地铁(搜索) 题面 "洛谷" 有点长。 题解 首先对于需要被链接的两个点,样例中间基本上把所有的情况都给出来了。 但是还缺了一种从下面绕道左边在从整个上面跨过去在从右边绕到下面来的情况(从反过来是一样的) 然后把所有方法分类之后发现实际上只有4种决策。 而4种决策中,两 阅读全文
posted @ 2018-08-29 07:49 小蒟蒻yyb 阅读(330) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3064】CPU监控(线段树) 题面 "BZOJ" "洛谷" 题解 神仙zsy出在了noip模拟的题目。(然而zsy出的还是这题的升级版) ~~首先明确一点,这题是一个吉司机线段树。~~ 如果只有区间加法,区间赋值,区间最大值,那么这题很简单。 但是加上了一个区间历史最值,这就 阅读全文
posted @ 2018-08-28 21:44 小蒟蒻yyb 阅读(526) 评论(0) 推荐(0) 编辑
摘要:【Luogu4609】建筑师(组合数学) 题面 "洛谷" 题解 首先发现整个数组一定被最高值切成左右两半,因此除去最高值之后在左右分开考虑。 考虑一个暴力dp ,设f[i][j]表示用了i个数并且能够看到j个的方案数,强制最大值在最右侧。 每次添加最小的一个数放进来:$f[i][j] 阅读全文
posted @ 2018-08-28 13:59 小蒟蒻yyb 阅读(528) 评论(2) 推荐(0) 编辑
摘要:【BZOJ4036】按位或(Min Max容斥,FWT) 题面 "BZOJ" "洛谷" 题解 很明显直接套用minmax容斥。 设E(max{S})表示S中最晚出现元素出现时间的期望,min同理。 那么$E(max\{S\})=\sum_{T\subseteq S}( 1)^{ 阅读全文
posted @ 2018-08-21 17:35 小蒟蒻yyb 阅读(875) 评论(7) 推荐(0) 编辑
摘要:【HDU4336】Card Collector(Min Max容斥) 题面 "Vjudge" 题解 原来似乎写过一种状压的做法,然后空间复杂度很不优秀。 今天来补一种神奇的方法。 给定集合S,设max{S}S中的最大值,min{S}为集合S中的最小值。 那么我们可以得到 阅读全文
posted @ 2018-08-21 17:03 小蒟蒻yyb 阅读(341) 评论(9) 推荐(0) 编辑
摘要:【LOJ2541】【PKUWC2018】猎人杀(容斥,FFT) 题面 "LOJ" 题解 这题好神仙啊。 直接考虑概率很麻烦,因为分母总是在变化。 但是,如果一个人死亡之后,我们不让他离场,假装给他打一个标记(猎人印记???) 如果在一次选择的时候选中了一个已经被打过标记的人,那么我们就重新做一次选择 阅读全文
posted @ 2018-08-21 16:03 小蒟蒻yyb 阅读(747) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2024】舞会(动态规划,容斥,高精度) 题面 "BZOJ" "洛谷" 题解 这种关系显然要先排序才不会不想影响。 设f[i][j]表示前i个女生中,选了j个女生配对,并且女生比男生高,剩余的随意匹配的方案数。 转移: $f[i][j]=f[i 1][j]+f[i 1][j 1 阅读全文
posted @ 2018-08-20 17:06 小蒟蒻yyb 阅读(314) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4710】分特产(容斥) 题面 "BZOJ" 题解 比较简单吧。。。 设f[i]表示至多有i个人拿到东西的方案数。 f[i]=j=1mCm+i1i1 现在要算的是恰好有n个人拿到东西的方案数。 $ans=\sum_{i=1}^n ( 1) 阅读全文
posted @ 2018-08-20 15:32 小蒟蒻yyb 阅读(360) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2839】集合计数(容斥,动态规划) 题面 "BZOJ" 权限题 Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007。(是质数喔~) Inp 阅读全文
posted @ 2018-08-20 15:16 小蒟蒻yyb 阅读(382) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4035】数组游戏(博弈论) 题面 "BZOJ" "洛谷" 题解 很明显是一个翻硬币游戏的变形,因此当前局面的SG函数值就是所有白格子单独存在的SG函数的异或和。 那么,对于每一个位置考虑SG函数。 $SG(x)=mex_{i=1}^{n/x}\{\oplus_{j=1}^i 阅读全文
posted @ 2018-08-20 07:38 小蒟蒻yyb 阅读(421) 评论(2) 推荐(0) 编辑
摘要:【BZOJ4025】二分图(线段树分治,并查集) 题面 "BZOJ" 题解 是一个二分图,等价于不存在奇环。 那么直接线段树分治,用并查集维护到达根节点的距离,只计算就好了。 cpp include include include include include include include us 阅读全文
posted @ 2018-08-19 20:15 小蒟蒻yyb 阅读(701) 评论(0) 推荐(0) 编辑
摘要:博弈论总结 开头&一些基本性质 本文的大部分内容来自于YMD的课件。(orz YMD) 一、必胜点和必败点 P点:必败点,在双方都聪明无比的情况下(比如zsyppl在玩游戏),当前先手的人必败的情况。 N点:必胜点,在双方操作都正确的情况下先手必胜的位置。 几个性质 所有 阅读全文
posted @ 2018-08-17 20:19 小蒟蒻yyb 阅读(3700) 评论(8) 推荐(12) 编辑
摘要:【HDU3595】GG and MM(博弈论) 题面 "HDU" 一个游戏由多个游戏组成,每次每个操作者必须操作所有可以操作的游戏,操作集合为空者输。 每个游戏由两堆石子组成,每次可以从较多的那一堆中取走较小那堆的数量的倍数个石子。 判断胜负。 题解 EverySG,所以我们只需要分开考虑两堆 阅读全文
posted @ 2018-08-17 19:53 小蒟蒻yyb 阅读(613) 评论(3) 推荐(0) 编辑
摘要:【BZOJ3576】江南乐(博弈论) 题面 "BZOJ" "洛谷" 题解 无论一堆石头怎么拆分,都并不能改变它是一个MultiSG的事实。 既然每一组的F都是固定的,那么我们预处理所有的可能的堆,而将石子拆分成若干堆,也只需要考虑SG函数的值就好了。 但是这样子求SG值的复杂度是$ 阅读全文
posted @ 2018-08-17 17:09 小蒟蒻yyb 阅读(438) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1188】分裂游戏(博弈论) 题面 "BZOJ" "洛谷" 题解 这道题目比较神仙。 首先观察结束状态,即P状态,此时必定是所有的豆子都在最后一个瓶子中。 发现每次的转移一定是拿出一棵豆子,放两颗豆子,所以一个瓶子中无论豆子数量是多少,我们都可以把所有的豆子拆开看成单个的Nim游戏 阅读全文
posted @ 2018-08-16 22:12 小蒟蒻yyb 阅读(576) 评论(0) 推荐(1) 编辑
摘要:【BZOJ2940】条纹(博弈论) 题面 "BZOJ" 神TM权限题。 题解 我们把题目看成取石子的话,题目就变成了这样: 有一堆m个石头,每次可以取走c,z,n个,每次取完之后可以把当前这堆剩下的石头分成任意数量的两堆(可以为空),不能操作者输,判定胜负。 那么这就是一个比较简单的$Mul 阅读全文
posted @ 2018-08-16 21:41 小蒟蒻yyb 阅读(405) 评论(0) 推荐(0) 编辑
摘要:【HDU3032】Nim or not Nim?(博弈论) 题面 "HDU" 题解 MultiSG模板题 阅读全文
posted @ 2018-08-16 21:19 小蒟蒻yyb 阅读(398) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1022】小约翰的游戏(博弈论) 题面 "BZOJ" 题解 AntiSG游戏的模板题目。 cpp include include include include include include using namespace std; define ll long long defi 阅读全文
posted @ 2018-08-16 20:18 小蒟蒻yyb 阅读(357) 评论(0) 推荐(0) 编辑
摘要:【HDU1848】Fibonacci again and again(博弈论) 题面 "Hdu" 你有三堆石子,每堆石子的个数是n,m,p,你每次可以从一堆石子中取走斐波那契数列中一个元素等数量的石子数,两人轮流取,不能操作者输,判定先后手的胜利。 题解 根据SG定理,三堆石子可以拆开来看, 阅读全文
posted @ 2018-08-16 20:07 小蒟蒻yyb 阅读(501) 评论(0) 推荐(0) 编辑
摘要:【POJ1704】Georgia and Bob(博弈论) 题面 "POJ" "Vjudge" 题解 这种一列格子中移动棋子的问题一般可以看做成一个阶梯博弈。 将一个棋子向左移动时,它和前面棋子的距离变小,和后面棋子的距离变大,并且减小的值和增大的值是相等的,因此,这个过程我们就可以等价成一个阶梯博 阅读全文
posted @ 2018-08-15 22:18 小蒟蒻yyb 阅读(522) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1299】巧克力棒(博弈论,线性基) 题面 "BZOJ" 题解 Nim博弈的变形形式。 显然,如果我们不考虑拿巧克力棒出来的话,这就是一个裸的Nim博弈。 但是现在可以加入巧克力棒。加入巧克力棒的意义是修改当前的异或和。 如果不能够改变当前先后手赢的状态的话,那么必定不能够拿出一个 阅读全文
posted @ 2018-08-15 21:40 小蒟蒻yyb 阅读(708) 评论(0) 推荐(0) 编辑
摘要:题面 "洛谷" 题解 Nim游戏模板题 阅读全文
posted @ 2018-08-15 20:17 小蒟蒻yyb 阅读(372) 评论(0) 推荐(0) 编辑
摘要:题面 "HDU1527 取石子游戏" "洛谷2252 取石子游戏" 题解 裸的威佐夫博弈 cpp include include using namespace std; const double phi=(sqrt(5)+1)/2; int a,b; int main() { ios::sync_ 阅读全文
posted @ 2018-08-15 19:58 小蒟蒻yyb 阅读(454) 评论(0) 推荐(0) 编辑
摘要:题面 "HDU" 题解 Bash Game模板题 cpp include using namespace std; int T,n,m; int main() { ios::sync_with_stdio(false); cin T; while(T ) { cin n m; if(n%(m+ 阅读全文
posted @ 2018-08-15 19:44 小蒟蒻yyb 阅读(367) 评论(0) 推荐(0) 编辑
摘要:【CF888G】Xor MST(最小生成树,Trie树) 题面 "CF" "洛谷" 题解 利用Kruskal或者Prim算法都很不好计算。 然而我们还有一个叫啥来着?B啥啥的算法,就叫B算法吧。 思想是对于每个点找到一条最小边,并且将这条边连上,不难证明每次至少连上了n/2个点。 阅读全文
posted @ 2018-08-15 09:39 小蒟蒻yyb 阅读(926) 评论(0) 推荐(1) 编辑
摘要:长链剖分学习笔记 简介 长链剖分也是一种树链剖分,平时我们说树链剖分,一般都是直接默认为轻重链剖分。 轻重链剖分的优秀性质在于从任意一个点开始,向上跳跃,跳过的重链数量不会超过log级别。 这样子可以很优秀的解决两点之间链的问题。 对于解决一些子树的信息问题,我们可以用$dsu\ on\ tre 阅读全文
posted @ 2018-08-15 07:58 小蒟蒻yyb 阅读(9203) 评论(9) 推荐(11) 编辑
摘要:【COGS2652】秘术「天文密葬法」(长链剖分,分数规划) 题面 "Cogs" 上面废话真多,建议直接拉到最下面看一句话题意吧: 给个树,第i个点有两个权值ai和bi,现在求一条长度为m的路径,使得Σai/Σbi最小 题解 看到这个式子就是裸的分数规划吧。。。 二分一个答案k,式子变成了找一条 阅读全文
posted @ 2018-08-15 07:39 小蒟蒻yyb 阅读(1418) 评论(0) 推荐(0) 编辑
摘要:【CF1009F】Dominant Indices(长链剖分) 题面 "洛谷" "CF" 翻译: 给定一棵n个点,以1号点为根的有根树。 对于每个点,回答在它子树中, 假设距离它为d的点有fd个,求最大的fd,并且输出d,如果有多个fd相同,输出最小的d。 题解 阅读全文
posted @ 2018-08-14 21:48 小蒟蒻yyb 阅读(1086) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3653】谈笑风生(长链剖分) 题面 "BZOJ" "洛谷" 权限题啊。。。。 题解 首先根据题目给的条件,发现a,b都要是c的父亲。 所以这三个点是树上的一条深度单增的链。 因为a,b之间距离不超过k,并且a被钦定了,所以只有两种情况: 一种是ab的祖先,贡 阅读全文
posted @ 2018-08-14 20:17 小蒟蒻yyb 阅读(1596) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3252】攻略(长链剖分,贪心) 题面 "BZOJ" 给定一棵树,每个点有点权,选定k个叶子,满足根到k个叶子的所有路径所覆盖的点权和最大。 题解 一个假装是对的贪心: 每次选择最大的路径,然后将路径上所有点的权值清零。 那么我们可以用长链剖分来实现这个贪心。 链长改为最大的路径权 阅读全文
posted @ 2018-08-13 22:16 小蒟蒻yyb 阅读(1293) 评论(0) 推荐(2) 编辑
摘要:【BZOJ4559】成绩比较(动态规划,拉格朗日插值) 题面 "BZOJ" "洛谷" 题解 显然可以每门课顺次考虑, 设f[i][j]表示前i门课程zsy恰好碾压了jyyb的方案数。 那么,思考转移,显然是原来碾压了k个人,但是在考虑到这一门课程的时候有些人没被碾压了, 所 阅读全文
posted @ 2018-08-13 20:33 小蒟蒻yyb 阅读(456) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3622】已经没有什么好害怕的了(动态规划,容斥) 题面 "BZOJ" 题解 很明显的,这类问题是要从至少变成恰好的过程,直接容斥即可。 首先我们要求的是(糖果 药片)=(药片 糖果)+k,再加上保证不存在相同的数, 所以(糖果 药片)+(药片 糖果)=n,解出(糖果 药片)=$\frac 阅读全文
posted @ 2018-08-13 16:50 小蒟蒻yyb 阅读(287) 评论(4) 推荐(0) 编辑
摘要:【CF710F】String Set Queries(二进制分组,AC自动机) 题面 "洛谷" "CF" 翻译: 你有一个字符集合D,初始为空, 有三种操作: 往D中加入一个串;从D中删除一个串;给定一个串S,询问D中的串在S中总共出现了多少次。 题解 询问显然就是将S阅读全文
posted @ 2018-08-13 16:10 小蒟蒻yyb 阅读(697) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4140】共点圆加强版(二进制分组) 题面 "BZOJ" 题解 我卡精度卡了一天。。。。 之前不强制在线的做法是CDQ分治,维护一个凸壳就好了。 现在改成二进制分组,每次重建凸壳就好了。。 cpp include include include include include incl 阅读全文
posted @ 2018-08-13 15:11 小蒟蒻yyb 阅读(363) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2961】共点圆(CDQ分治) 题面 "BZOJ" 题解 设询问点(x,y),圆心是(X,Y) 那么如果点在园内的话就需要满足 (Xx)2+(Yy)2X2+Y2 拆开之后就变成了 x2+y22xX2yY 除过去就是$ \frac{x}{y} 阅读全文
posted @ 2018-08-13 09:49 小蒟蒻yyb 阅读(449) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2989】数列(二进制分组,主席树) 题面 "BZOJ" 权限题啊。。。 Description 给定一个长度为n的正整数数列a[i]。 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x y|+|a[x] a[y]|。 2种操作(k都是正整数): 1.Mod 阅读全文
posted @ 2018-08-12 22:38 小蒟蒻yyb 阅读(499) 评论(2) 推荐(0) 编辑
摘要:【BZOJ4543】Hotel加强版(长链剖分) 题面 "BZOJ,没有题面" "洛谷,只是普通版本" 题解 原来我们的O(n2)做法是设f[i][j]表示以i为根的子树中,距离i的深度为j的点的个数,这样子可以每次在LCA处合并答案。 然后长链剖分优化一下,就变成了$O( 阅读全文
posted @ 2018-08-12 21:26 小蒟蒻yyb 阅读(2444) 评论(13) 推荐(1) 编辑
摘要:【BZOJ2989】数列(CDQ分治) 题面 "BZOJ" 权、。、。、权限题。。 题解 Description 给定一个长度为n的正整数数列a[i]。 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x y|+|a[x] a[y]|。 2种操作(k都是正整数): 1. 阅读全文
posted @ 2018-08-12 20:36 小蒟蒻yyb 阅读(454) 评论(0) 推荐(0) 编辑
摘要:题面 给定一棵树,每次询问一个点的k次祖先,强制在线。 "Vijos" 题解 "长链剖分" 。 ~~链接暂时咕咕咕了。~~ 现在可以戳链接看题解了 阅读全文
posted @ 2018-08-10 21:05 小蒟蒻yyb 阅读(1738) 评论(3) 推荐(1) 编辑
摘要:【BZOJ5334】数学计算(线段树) 题面 "BZOJ" "洛谷" 题解 简单的线段树模板题??? 咕咕咕。 cpp include include include include include include using namespace std; define ll long long d 阅读全文
posted @ 2018-08-09 21:17 小蒟蒻yyb 阅读(305) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1048】分割矩阵(记忆化搜索,动态规划) 题面 "BZOJ" "洛谷" 题解 一个很简单的dp,写成记忆化搜索的形式的挺不错的。 cpp include include include include include include using namespace std; inli 阅读全文
posted @ 2018-08-09 20:28 小蒟蒻yyb 阅读(309) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1054】移动玩具(搜索) 题面 "BZOJ" "洛谷" 题解 这种小清新搜索题写出来好舒服啊。 要是原来的我来写代码肯定又臭又长吧。。 cpp include include using namespace std; queue Q; int pw[16],st[13&&!(u&pw[i 阅读全文
posted @ 2018-08-09 19:57 小蒟蒻yyb 阅读(286) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1072】排列(搜索) 题面 "BZOJ" "洛谷" 题解 算下复杂度,如果用next_permutation 那就是10!×10×15,复杂度不太对 那好办啊,把next_permutation改成搜索不就完了。。 cpp include incl 阅读全文
posted @ 2018-08-09 19:44 小蒟蒻yyb 阅读(214) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1041】圆上的整点(数论) 题面 "BZOJ" "洛谷" 题解 好神仙的题目啊。 "安利一个视频,大概是第719分钟的样子" 因为要质因数分解,所以复习了一下Pollard_rho cpp include include include include include i 阅读全文
posted @ 2018-08-09 19:33 小蒟蒻yyb 阅读(726) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1034】泡泡堂(贪心) 题面 "BZOJ" "洛谷" 题解 很基础的贪心,然而我竟然没写对。。。身败名裂。 大概就是类似田忌赛马。 先拿看当前最大值是否能否解决对面最大值,否则检查能否用最小值来兑掉。 差不多类似把,有点点区别。 cpp include include include i 阅读全文
posted @ 2018-08-09 17:20 小蒟蒻yyb 阅读(196) 评论(0) 推荐(0) 编辑
摘要:题面 "BZOJ" "洛谷" 题解 大概就是分个块,然后每块取平均数算贡献啥的。 BZOJ上过不去??? cpp include include using namespace std; define MAX 100100 int n,sqr,blk[MAX]; double a,A,m[MAX], 阅读全文
posted @ 2018-08-08 20:35 小蒟蒻yyb 阅读(196) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1046】上升序列(动态规划,贪心) 题面 "BZOJ" "洛谷" 题解 我一开始看错题了,一度以为是字典序最小的序列。 最后发现它要求的字典序是位置的字典序最小。 那就很好办了。 设f[i]表示以i开头的LIS长度,用BIT转移。 然后每次询问暴力贪心即可。 阅读全文
posted @ 2018-08-08 19:46 小蒟蒻yyb 阅读(218) 评论(1) 推荐(0) 编辑
摘要:【BZOJ1052】覆盖问题(贪心) 题面 "BZOJ" "洛谷" 题解 这题好神仙啊。 很明显可以看出来要二分一个边长。 那么如何check呢? 我们把所有点用一个最小矩形覆盖, 那么必定每个边界上都至少存在一个点, 但是我们有4个边界,但是只有3个矩形, 意味着至少有一个矩形卡住了两 阅读全文
posted @ 2018-08-08 17:22 小蒟蒻yyb 阅读(257) 评论(1) 推荐(0) 编辑
摘要:【BZOJ3293】分金币(贪心) 题面 "BZOJ" "洛谷" 题解 和上一题一样啊。 cpp include include include using namespace std; define ll long long define MAX 100010 inline int read() 阅读全文
posted @ 2018-08-08 16:48 小蒟蒻yyb 阅读(191) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1045】糖果传递(贪心) 题面 "BZOJ" "洛谷" 题解 秉承者娱乐精神,我们必须写一个费用流,并且相信信仰跑不过去。 于是写了一个zkw费用流如下:(您可以无视此份代码) cpp include include include include include include i 阅读全文
posted @ 2018-08-08 16:36 小蒟蒻yyb 阅读(323) 评论(2) 推荐(0) 编辑
摘要:【BZOJ1029】建筑抢修(贪心) 题面 "BZOJ" "洛谷" 题解 感觉自己已经不会贪心了。 很明显的一个想法是按照终止时间排序,然后能选则选。 但是这样子可能会因为前面选择了一个修理时间很长的,导致现在这个不能选。 那么我们加一个大根堆,把所有已经选择的修理时间全部压进去。 如果当前这个不能 阅读全文
posted @ 2018-08-07 22:04 小蒟蒻yyb 阅读(316) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3534】重建(矩阵树定理) 题面 "BZOJ" "洛谷" 题解 这。。。。 矩阵树定理神仙用法???? cpp include include using namespace std; define ll long long define eps 1e 8 int n; double g 阅读全文
posted @ 2018-08-07 21:43 小蒟蒻yyb 阅读(315) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2654】Tree(凸优化,最小生成树) 题面 "BZOJ" "洛谷" 题解 这道题目是之前Apio的时候写的,忽然发现自己忘记发博客了。。。 这个万一就是一个凸优化, 给所有白边二分一个额外权值,并且给边权加上这个权值。 然后跑最小生成树,将限制问题转换为判定问题即可。 阅读全文
posted @ 2018-08-07 17:09 小蒟蒻yyb 阅读(530) 评论(0) 推荐(0) 编辑
摘要:【CF125E】MST Company(凸优化,最小生成树) 题面 "洛谷" "CF" 题解 第一眼看见就给人丽洁姐那道tree一样的感觉。 那么二分一个权值,加给所有有一个端点是1的边, 然后跑最小生成树check一下就好了。 cpp include include include i 阅读全文
posted @ 2018-08-07 17:06 小蒟蒻yyb 阅读(1008) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4027】兔子与樱花(贪心) 题面 "BZOJ" "洛谷" 题解 很直观的一个感受就是对于每个节点, 考虑它的所有儿子,如果能删就删。 那么我们把所有儿子按照给删去后给父亲c[i]的贡献从小往大排序, 能删就删即可。 cpp include include using namespac 阅读全文
posted @ 2018-08-07 16:31 小蒟蒻yyb 阅读(201) 评论(0) 推荐(0) 编辑
摘要:题面 "UOJ" 题解 模板qaq cpp include include include include include include include include include include using namespace std; define ll long long define 阅读全文
posted @ 2018-08-06 21:11 小蒟蒻yyb 阅读(479) 评论(1) 推荐(0) 编辑
摘要:【CF938G】Shortest Path Queries(线段树分治,并查集,线性基) 题面 "CF" "洛谷" 题解 吼题啊。 对于每个边,我们用一个map维护它出现的时间, 发现询问单点,边的出现时间是区间,所以线段树分治。 既然路径最小值就是异或最小值,并且可以不是简单路径, 不难让人想 阅读全文
posted @ 2018-08-06 20:37 小蒟蒻yyb 阅读(588) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1150】数据备份(动态规划,凸优化) 题面 "BZOJ" "洛谷" 题解 在不考虑K的情况下很容易dp 如果把K考虑进状态显然是O(n2)级别。 所以凸优化一下即可。 注意一下是一个下凸函数,所以是没操作一次就要减去一个权值。 cpp include include i 阅读全文
posted @ 2018-08-06 16:57 小蒟蒻yyb 阅读(488) 评论(0) 推荐(0) 编辑
摘要:【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性) 题面 "BZOJ" "CF" "洛谷" 辣鸡BZOJ卡常数!!!!!! 辣鸡BZOJ卡常数!!!!!! 辣鸡BZOJ卡常数!!!!!! 所以我程序在BZOJ过不了 题解 朴素的按照k划分阶 阅读全文
posted @ 2018-08-06 14:31 小蒟蒻yyb 阅读(611) 评论(2) 推荐(0) 编辑
摘要:【BZOJ5252】林克卡特树(动态规划,凸优化) 题面 "BZOJ(交不了)" "洛谷" 题解 这个东西显然是随着断开的越来越多,收益增长速度渐渐放慢。 所以可以凸优化。 考虑一个和k相关的dp 这个题目可以转换为在树上选择K条不相交的路径。 设f[i][0/1/2]表示当前点$i 阅读全文
posted @ 2018-08-06 09:59 小蒟蒻yyb 阅读(449) 评论(2) 推荐(0) 编辑
摘要:【CF739E】Gosha is hunting(动态规划,凸优化) 题面 "洛谷" "CF" 题解 一个O(n3)dp很容易写出来。 我们设f[i][a][b]表示前i个怪,两种球用了a,b个的最大期望, 直接用概率转移就好了。然而这样子会TLE飞。 发现可以凸优化,对于其 阅读全文
posted @ 2018-08-06 08:59 小蒟蒻yyb 阅读(726) 评论(0) 推荐(0) 编辑
摘要:题目地址 "Edu48" A.Death Note 翻译 你有一个无穷页的本子,每一页可以写m个名字, 你在第i天要写ai个名字,如果这一页恰好写满了,你就会翻页, 问每天的翻页次数。 题解 傻逼题,求个前缀和,然后除m计算前缀翻页次数,再和前面一天减一下就好。 代码 cpp in 阅读全文
posted @ 2018-08-05 16:52 小蒟蒻yyb 阅读(359) 评论(2) 推荐(0) 编辑
摘要:【BZOJ3294】放棋子(动态规划,容斥,组合数学) 题面 "BZOJ" "洛谷" 题解 如果某一行某一列被某一种颜色给占了,那么在考虑其他行的时候可以直接把这些行和这些列给丢掉。 那么我们就可以写出一个dpf[i][r][c]表示考虑了前i种颜色,还剩下rc列没被染色。 阅读全文
posted @ 2018-08-03 21:54 小蒟蒻yyb 阅读(496) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1914】数三角形(组合数,极角排序) 题面 "BZOJ权限题" "良心洛谷" 题解 这种姿势很吼啊,表示计算几何啥的一窍不通来着。 题目就是这样,正难则反,所以我们不考虑过原点的三角形, 反过来,总数减去不包含原点的三角形。 这个怎么计算呢? 我们每次先确定一个点,那么,所有在这个点和原 阅读全文
posted @ 2018-08-03 20:30 小蒟蒻yyb 阅读(477) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1853】幸运数字(搜索,容斥) 题面 "BZOJ" "洛谷" 题解 ~~成功轰下洛谷rk1,甚至超越了一个打表选手~~ 这题思路很明显吧,先搞出来所有范围内的合法数字,然后直接容斥, 容斥的话显然没有别的办法解决,只能够爆搜, 那么我们就来大力剪枝: 1.如果当前的所有选定的数的$lcm 阅读全文
posted @ 2018-08-03 19:49 小蒟蒻yyb 阅读(351) 评论(0) 推荐(0) 编辑
摘要:【POJ2411】Mondriaan's Dream(轮廓线DP) 题面 "Vjudge" 题解 这题我会大力状压!!! 时间复杂度大概是O(22nn2),设f[i][S]表示当前第i行向下伸展出去的状态为S 那么每次枚举一下当前行的放法,进行转移就好了。 然后就长成了这个样 阅读全文
posted @ 2018-08-03 16:19 小蒟蒻yyb 阅读(512) 评论(1) 推荐(0) 编辑
摘要:【CF248E】Piglet's Birthday(动态规划) 题面 "洛谷" "CodeForces" 翻译: 给定n个货架,初始时每个上面有a[i]个蜜罐。 有q次操作,每次操作形如u,v,k,表示从货架u上任意选择k个蜜罐试吃(吃过的也还能吃),吃完后把这k个蜜罐放 阅读全文
posted @ 2018-08-01 19:35 小蒟蒻yyb 阅读(290) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示