摘要: 题面 "传送门" 分析 考虑DP 设$dp[i][j]$表示前i个数选出的序列长度为j的方案数 状态转移方程为: $$ dp[i][j]= \begin{cases}dp\left[ i 1\right] \left[ j 1\right] +dp\left[ i 1\right] \left[ j 阅读全文
posted @ 2018-11-24 21:24 birchtree 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 题面 "传送门" 题目大意: 有一个黑白的棋盘,现在将棋盘上的一个子矩形全部染成黑色,另一个子矩形全部染成白色 求染完色后黑,白格子的总数 分析 我们可以发现,对于一个(1,1)到(x,y)的矩形,若xy为偶数,则黑、白的个数都是 $ \frac{xy}{2} $ 若xy为奇数,则黑格个数为$\ [ 阅读全文
posted @ 2018-11-24 20:54 birchtree 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题面 "传送门" 分析 显然答案有单调性,可以二分答案,设当前二分值为g,根据题意我们可以求出跳跃长度的范围[l,r] 考虑DP 子状态: dp[i]表示跳到第i个点时的最大和 状态转移方程 $dp[i]=max(dp[i],dp[j]+a[i]) (j \in [1,n),x[i] x[j] \i 阅读全文
posted @ 2018-11-06 22:18 birchtree 阅读(150) 评论(1) 推荐(0) 编辑
摘要: 题面 "传送门" 分析 用Tarjan求出割点,对点 双连通分量(v DCC)进行缩点,图会变成一棵树 注意v DCC的缩点和e DCC不同,因为一个割点可能属于多个v DCC 设图中共有p个割点和t个v DCC,我们建立一张包含p+t个点的新图,并将每个割点和包含它的所有v DCC连边 缩点后原图 阅读全文
posted @ 2018-11-06 16:52 birchtree 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题面 "传送门" 分析 主体思路:若x能引爆y,从x向y连一条有向边,最后的答案就是从x出发能够到达的点的个数 首先我们发现一个炸弹可以波及到的范围一定是坐标轴上的一段连续区间 我们可以用二分查找求出炸弹能波及到最左边和最右边的点,记为[l,r] 然后我们就需要向编号属于区间[l,r]的点连一条有向 阅读全文
posted @ 2018-11-06 16:32 birchtree 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题面 "传送门" 分析 刚看到这道题时想的是跟最短哈密顿路类似的二进制状压DP,先用floyd处理距离 但是此题用二进制不够,应该用三进制 0,1,2分别表示未送,正在送,已送完 dp[s][i]表示当前送到任务状态为s,现在在点i 状态转移方程见代码 时间复杂度$O(n^3+3^qqn$ 代码 i 阅读全文
posted @ 2018-11-06 14:26 birchtree 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题面 "传送门" 分析 由于一个点可以经过多次,显然每个环都会被走一遍。 考虑缩点,将每个强连通分量缩成一个点,点权为联通分量上的所有点之和 缩点后的图是一个有向无环图(DAG) 可拓扑排序,按照拓扑序进行DP 子状态:$dp[i]$表示以i结尾的路径的最大权值和 状态转移方程 $dp[y]=max 阅读全文
posted @ 2018-11-02 08:37 birchtree 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题面 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点。每个点有一个权值v_i。 你需要将这棵树转化成一个大根堆。确切地说,你需要选择尽可能多的节点,满足大根堆的性质:对于任意两个点i,j,如果i在树上是j的祖先,那么v_i v_j。 请计算可选的最多的点数,注意这些点不必形成这棵树的 阅读全文
posted @ 2018-10-27 19:14 birchtree 阅读(879) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-27 16:08 birchtree 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题面 给定一个多边形,求对称轴数量。 分析 初看这似乎是一道计算几何的题目,但是如果暴力枚举对称轴,再去判断对称轴两边的边和角是否相等,时间复杂度为$O(n^2)$,显然会TLE 问题转换 顺时针转一圈,将角和边的值连在一起就得到了一个环 假如有一个边长为1的三角形,则它的角和边序列应该是:$ 1, 阅读全文
posted @ 2018-10-27 15:45 birchtree 阅读(262) 评论(0) 推荐(0) 编辑