上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 39 下一页
摘要: 题目大意:给定一个 N\ N 的棋盘,棋盘上有些位置不能防止任何东西,现用 1\ 2 的骨牌填充棋盘,问最多能铺多少块骨牌。 题解:由于骨牌只能覆盖相邻的两个格子,那么按照对角线进行划分的格子可以保证一定不会被骨牌覆盖。因此,可以将骨牌看成边,每个格子可以与周围的四个合法的格子建立边。每个对角线上的 阅读全文
posted @ 2019-04-01 21:27 shellpicker 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个二分图,求该二分图的最大匹配数。 题解:学到了匈牙利算法。 匈牙利算法是基于一种贪心的思想,即:对于二分图左边集合中的每一个节点,遍历与之相连的所有边,若找到一个右边集合中的没有匹配的点,则直接进行匹配即可;若右边集合中存在一个已经有匹配的点,那么则考虑协商,即:让右边集合中匹配的 阅读全文
posted @ 2019-04-01 20:36 shellpicker 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 N 个操作,每个操作占用两个区间中的任意一个即可,求是否可以满足 N 项操作,且使得操作区间不重叠,若可以,输出一种具体方案。 题解:2 sat 模板题,区间覆盖的位置有些毒瘤,貌似题意没交代清楚? 代码如下 cpp include include include include d 阅读全文
posted @ 2019-03-31 21:06 shellpicker 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 N(1 using namespace std; const int maxn=5010; int n,a[maxn],dp[maxn][maxn],ans; int main(){ scanf("%d",&n); for(int i=1;i=1&&a[j] a[i] a[i] a[ 阅读全文
posted @ 2019-03-31 19:04 shellpicker 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个 N 个点,M 条边的无向图,要求不重复地经过每条边两次,并且从 1 号节点出发最后回到 1 号节点,求一条路径。 题解:不重复地经过两次这个操作很容易地通过无向图的建边方式来实现,在欧拉回路的 dfs 过程中只需要每次将当前边标记访问过即可。同样,一个点所有边访问结束之后再入栈, 阅读全文
posted @ 2019-03-30 23:47 shellpicker 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个 N 个点,M 条边的无向图,保证图中每个节点的度数大于等于 K,求图中一条长度至少大于 K 的简单路径,输出长度和路径包含的点。 题解:依旧采用记录父节点的方式进行找环,不过需要记录一下节点的深度,即:只有当环的大小满足需要的大小,再进行操作,否则忽略那些环即可。 代码如下 cp 阅读全文
posted @ 2019-03-29 15:16 shellpicker 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一棵 N 个节点的基环树,求各个点到环的最小距离。 题解:除了找环的必须参数之外,对每个点维护一个 fa 即可。 代码如下 cpp include define fi first define se second define pb push_back define mp make_p 阅读全文
posted @ 2019-03-29 14:49 shellpicker 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的序列,M 个询问,静态查询区间 [l,r] 内的不同颜色数的平方和。 题解:直接莫队即可。 代码如下 cpp include define pb push_back define mp make_pair define all(x) x.begin(),x.end() 阅读全文
posted @ 2019-03-28 23:20 shellpicker 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 N 个点的 M 条约束,约束形式为:$a_i \lor a_j = 1$。 题解:拆点什么的就不说了,在求出一组解的时候,考虑到 Tarjan 找环的过程中,scc 染色是按照拓扑序的逆序来进行的,即:拓扑排序中最后被删除的节点的 cor 值最小。根据这个性质,在一定有解的情况下,对 阅读全文
posted @ 2019-03-28 20:00 shellpicker 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 单位矩阵相当于普通乘法算术中的单位元。 代码如下 cpp include using namespace std; const int mod = 1e9 + 7; const int maxn = 110; typedef long long LL; struct matrix { LL mat[ 阅读全文
posted @ 2019-03-28 19:48 shellpicker 阅读(110) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 39 下一页