随笔分类 - Source -- 各省省选
摘要:【BZOJ5298】[CQOI2018]交错序列(动态规划,矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 考虑由$x$个$1$和$y$个$0$组成的合法串的个数。 显然就是把$1$当做隔板插入进去,那么有$y+1$个位置可以放$1$,所以方案数就是${y+1\choose x}$。 而$x^ay
        阅读全文
                
摘要:【BZOJ5289】[HNOI2018]排列(贪心) 题面 "BZOJ" "洛谷" 题解 这个限制看起来不知道在干什么,其实就是找到所有排列$p$中,$p_k=x$,那么$kd_b s_a$。即先选平均权值较小的块。 那么每次就选出这个块,然后把它和它的父亲合并在一起就好了,产生的贡献是$d_a s
        阅读全文
                
摘要:【BZOJ5288】[HNOI2018]游戏(拓扑排序) 题面 "BZOJ" "洛谷" 题解 去年省选的时候这题给我乱搞整过去整过去了,也是虐心了。。。。 所以当然是来讲正儿八经的正确做法啦。 很明显,我们需要预处理答案。设$L[i],R[i]$表示从$i$出发能够到达的区间范围。 现在我们要做的就
        阅读全文
                
摘要:【BZOJ4784】[ZJOI2017]仙人掌(Tarjan,动态规划) 题面 "BZOJ" "洛谷" 题解 显然如果原图不是仙人掌就无解。 如果原图是仙人掌,显然就是把环上的边给去掉,变成若干森林连边成为仙人掌的方案数。 那么对于一棵树而言,考虑其变成仙人掌的方案数。 设$a_i$表示匹配$i$个
        阅读全文
                
摘要:【BZOJ2576】[JSOI2011]序的计数 (动态规划) 题面 "BZOJ" 题解 首先构建一个新的虚拟节点连接所有目标节点,强行将其作为第一个被访问的节点,这样子就解决了图不连通的问题。 除了目标节点外,所有其他点都可以缩成一个节点。 这样子的图实际上只有$k+2$个节点,$k+1$个目标节
        阅读全文
                
摘要:【BZOJ3215/3216】[ZJOI2013]话旧/话旧2(组合数学,动态规划) 题面 "BZOJ3215" "BZOJ3216" 题解 先解决$3216$,求的是 最小值 为$0$。 因为起点就是$0$,所以就是在过程中不会到$0$以下。 那么两个相邻位置的合法走法可以转化成网格图上从$(0,
        阅读全文
                
摘要:【BZOJ5294】[BJOI2018]二进制(线段树) 题面 "BZOJ" "洛谷" 题解 二进制串在模$3$意义下,每一位代表的余数显然是$121212$这样子交替出现的。 其实换种方法看,就是$1, 1,1, 1,...$ 如果询问一个二进制串能否被$3$整除,那么只需要考虑奇数位上的$1$的
        阅读全文
                
摘要:【BZOJ5293】[BJOI2018]求和(前缀和,LCA) 题面 "BZOJ" "洛谷" 题解 送分题??? 预处理一下$k$次方的前缀和。 然后求个$LCA$就做完了?、、、 cpp include include using namespace std; define MOD 9982443
        阅读全文
                
摘要:【BZOJ5287】[HNOI2018]毒瘤(动态规划,容斥) 题面 "BZOJ" "洛谷" 题解 考场上想到的暴力做法是容斥: 因为$m n\le 10$,所以最多会多出来$11$条非树边。 如果就是一棵树的话,显然答案就是独立集的个数。 非树边$2^{11}$枚举,强制非树边的两端同时备选导致不
        阅读全文
                
摘要:【BZOJ5250】[九省联考2018]秘密袭击(动态规划) 题面 "BZOJ" "洛谷" 给定一棵树,求其所有联通块的权值第$k$大的和。 题解 整个$O(nk(n k))$的暴力剪剪枝就给过了。。。 cpp include include include using namespace std;
        阅读全文
                
摘要:【BZOJ5213】[ZJOI2018]迷宫(神仙题) 题面 "BZOJ" "洛谷" 题解 首先可以很容易的得到一个$K$个点的答案。 构建$K$个点分别表示$mod\ K$的余数。那么点$i$的出边$j$指向$i m+j\ mod\ K$。容易证明这样子一定是可行的。 但是我们显然还有一部分点是可
        阅读全文
                
摘要:【BZOJ5212】[ZJOI2018]历史(Link Cut Tree) 题面 "洛谷" "BZOJ" 题解 显然实际上就是给定了一棵树和每个点被$access$的次数,求解轻重链切换的最大次数。 先考虑不带修改的答案。 如果直接考虑全局的答案会很麻烦。 考虑每一个在每一个点处被切换的次数。 显然
        阅读全文
                
摘要:【BZOJ5211】[ZJOI2018]线图(树哈希,动态规划) 题面 "BZOJ" "洛谷" 题解 吉老师的题目是真的神仙啊。 去年去现场这题似乎骗了$20$分就滚粗了? 首先$k=2$直接算$k=1$时的边数就好了。$k=3$同理。 这里直接计算每个点的度数就可以做,然后就有$20$分了。 我们
        阅读全文
                
摘要:【BZOJ4419】[SHOI2013]发微博(???) 题面 "BZOJ" "洛谷" 题解 一道$easy$,每个点维护一下要给周围的点加上多上,如果额外连了一个点进来就给他把标记减掉,如果删掉了一条边就给他把标记加上,然后最后把所有边都删掉就好了。 cpp include include inc
        阅读全文
                
摘要:【BZOJ5317】[JSOI2018]部落战争(凸包,闵可夫斯基和) 题面 "BZOJ" "洛谷" 题解 很明显我们只需要两个凸包$A,B$。 假设询问给定的方向向量是$v$。 那么现在就是判断$B+v$与$A$时候有交集。 转移一下改为判定向量$v$时候在$A B$中,翻转$B$的坐标,做闵可夫
        阅读全文
                
摘要:【BZOJ2618】[CQOI2006]凸多边形(半平面交) 题面 "BZOJ" "洛谷" 题解 这个东西就是要求凸多边形的边所形成的半平面交。 那么就是一个半平面交模板题了。 这里写的是平方的做法。 cpp include include include include using namespa
        阅读全文
                
摘要:【BZOJ2823】[AHOI2012]信号塔(最小圆覆盖) 题面 "BZOJ" "洛谷" 相同的题: "BZOJ1" "BZOJ2" "洛谷" 题解 模板题。。。 cpp include include include include using namespace std; define MAX
        阅读全文
                
摘要:【BZOJ1185】[HNOI2007]最小矩形覆盖(凸包,旋转卡壳) 题面 "BZOJ" "洛谷" 题解 最小的矩形一定存在一条边在凸包上,那么枚举这条边,我们还差三个点,即距离当前边的最远点,以及做这条边的垂线的最靠左和最靠右的两个点。 最远点很容易求,叉积计算面积来比就好了。 那么剩下两个点呢
        阅读全文
                
摘要:【BZOJ2829】[SHOI2012]信用卡凸包(凸包) 题面 "BZOJ" "洛谷" 题解 既然圆角的半径都是一样的,而凸包的内角和恰好为$360°$,所以只需要把圆角的圆心弄下来跑一个凸包,再额外加上一个圆的周长就好了。 浮点精度卡不过,洛谷上有人给了一份代码,加上去特判一下就过了。。。
        阅读全文
                
摘要:【BZOJ5285】[HNOI2018]寻宝游戏(神仙题) 题面 "BZOJ" "洛谷" 题解 既然是二进制按位的运算,显然按位考虑。 发现这样一个关系,如果是$or$的话,只要$or\ 1$,那么无论前面是啥,操作完之后都是$1$;同理$and\ 0$也是一样,无论前面是什么,操作完都是$0$。 
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号