上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 30 下一页
摘要: 题目 P3857 [TJOI2008]彩灯 分析 线性基模板题。 直接构造线性基,然后可以构造的集合个数就是 \(2^n\) 。 代码 #include<bits/stdc++.h> using namespace std; template <typename T> inline void rea 阅读全文
posted @ 2021-08-20 20:13 __Anchor 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 前言 这个题还有个加强版:BSOJ6376【11.05模拟】草莓 大概是人均场切了。 题目 CF1000G Two-Paths 分析 首先这个路径一定是一条链加上若干回路的路径。 每次 \(x\) 到 \(y\) 的途中都可以进入子树进行获取贡献,为了尽可能大,我们可以先 \(dp\) 出每一个点到 阅读全文
posted @ 2021-08-20 20:10 __Anchor 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题目 P2619 [国家集训队]Tree I 分析 经典 wqs二分。 wqs二分的本质是:首先看出答案对于个数 \(k\) 有单调性,是个凸包。 然后把“凸包”投射到“y轴”上,此时我们要求这个凸包的顶端必须是取到题目限制的 \(k\) 个时可以取到最大/小值,如果是 \(k+c\) 或者 \(k 阅读全文
posted @ 2021-08-20 20:00 __Anchor 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 题目 P3977 [TJOI2015]棋盘 分析 以为是个神题,其实是出题人题目描述有毒。 状态压缩+矩阵乘法优化dp。 每一个棋子是处在中间一行的。。 于是就很容易了,直接状态压缩,然后矩阵乘法维护转移即可。 代码 #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2021-08-20 19:50 __Anchor 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题目 P5610 [Ynoi2013] 大学 分析 似乎是个简单题,容易想到势能分析,每一个点最多被除 \(\log\) 次。 于是问题变成快速找到一个数的所有倍数的位置。 直接对每一个数开一个 \(set\) 存其倍数集合,找到后可以判断是否删掉,也就是区间删除,可以并查集实现。 代码 #incl 阅读全文
posted @ 2021-08-20 19:46 __Anchor 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 矩阵快速幂模板题。 注意的几个点: 优化常数。 还有记得矩阵的初始化需要memset(不知道为什么会wa) 代码 #include<bits/stdc++.h> using namespace std; //#define getchar()(p1==p2&&(p2=(p1=buf)+f 阅读全文
posted @ 2021-07-20 20:59 __Anchor 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题意 分析 递推式直接给了,矩阵快速幂模板。 代码 无。 阅读全文
posted @ 2021-07-20 20:56 __Anchor 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题意 分析 直接按题意模拟dp过程即可,然后使用矩阵快速幂优化。 代码 口胡的。 阅读全文
posted @ 2021-07-20 20:54 __Anchor 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 首先很明显是个 \(dp\),然后发现转移如果只有一维的话不好处理,于是开第二维表示当前状态来转移。 其实可以直接写成一个递推柿子: 然后就是矩阵快速幂了。 代码 口胡的,没有代码。 阅读全文
posted @ 2021-07-20 20:52 __Anchor 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 题目 求一个网格图权值和最大的哈密顿回路。 分析 其实和模板题没有太大变化,就是记得要加上贡献和添加时是个比较大小而不是个数求和。 代码 #include<bits/stdc++.h> using namespace std; template <typename T> inline void re 阅读全文
posted @ 2021-07-19 21:28 __Anchor 阅读(27) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 30 下一页