摘要: 题解:用最莽的方法求出最长不下降子序列,然后以i为最后一个节点长度为1的与源点连容量为1的边,长度为最长公共子序列的与汇点连容量为1的边,拆点控制每个点选一次,求最大流得出问题二。对于问题三,将源点与1,1与拆点n+1,源点与n,n与n+n,n+n与汇点容量变为正无穷,在问题二的残余网络跑最大流即可 阅读全文
posted @ 2020-09-15 16:32 cumtljz 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题解:利用分层图思想加入时间概念,第0天地球编号设为0,月球编号设为n+1,空间站编号在1到n之间。对于每一天都新建n+2个点表示不同天不同地方的情况,这样加入了时间概念。源点与第0天的地球建立一条容量k的边表示初始所有人在地球上,不同点与上一天相同点建立一条容量正无穷的边表示任意地方可以容纳无限多 阅读全文
posted @ 2020-09-15 15:14 cumtljz 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题解:将外籍飞行员与源点建容量为1的边,英国飞行员与汇点建容量为1的边,外籍飞行员和英国飞行员有边就建容量为1的边,跑最大流。 输出方案:原边满流且端点非源点汇点就输出。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1 阅读全文
posted @ 2020-09-15 14:42 cumtljz 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题面: 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用”H” 表示),也可能是平原(用”P”表示),如下图。 在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示 阅读全文
posted @ 2020-01-18 23:53 cumtljz 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题面: 农夫约翰的土地由M*N个小方格组成,现在他要在土地里种植玉米。 非常遗憾,部分土地是不育的,无法种植。 而且,相邻的土地不能同时种植玉米,也就是说种植玉米的所有方格之间都不会有公共边缘。 现在给定土地的大小,请你求出共有多少种种植方法。 土地上什么都不种也算一种方法。 输入格式 第1行包含两 阅读全文
posted @ 2020-01-18 22:37 cumtljz 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 题面: 在 n×nn×n 的棋盘上放 kk 个国王,国王可攻击相邻的 88 个格子,求使它们无法互相攻击的方案总数。 输入格式 共一行,包含两个整数 nn 和 kk。 输出格式 共一行,表示方案总数,若不能够放置则输出00。 数据范围 1≤n≤101≤n≤10,0≤k≤n20≤k≤n2 输入样例: 阅读全文
posted @ 2020-01-18 11:00 cumtljz 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 题面: 求把N*M的棋盘分割成若干个1*2的的长方形,有多少种方案。 例如当N=2,M=4时,共有5种方案。当N=2,M=3时,共有3种方案。 如下图所示: 输入格式 输入包含多组测试用例。 每组测试用例占一行,包含两个整数N和M。 当输入用例N=0,M=0时,表示输入终止,且该用例无需处理。 输出 阅读全文
posted @ 2020-01-18 09:24 cumtljz 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 传送门:https://www.vijos.org/d/newbzoj/p/590c98b5d3d8a13210993839 试题描述: 有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并 将其他的N-K个点染成白色。将所有点染色后,你会获得黑 阅读全文
posted @ 2019-11-29 00:22 cumtljz 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 定义 二分图也称二部图,是图论里的一种特殊模型,也是一种特殊的网络流。其最大的特点在于,可以将图里的顶点分为两个集合,且集合内的点没有直接关联,如下图所示。 如果某个图为二分图,那么它至少有两个顶点,且其所有回路的长度均为偶数,任何无回路的的图均是二分图。 1.染色法判断二分图 染色法是对每一个点深 阅读全文
posted @ 2019-10-30 17:35 cumtljz 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 最小生成树算法分为 1.prime算法 O(n^2) 由点到边,每次将到集合距离最短的集合外的点加入集合中,在松弛集合外的点到集合的距离; 2.kruskal 0(mlogm) 将边从小到大排序,循环每一条边,如果两点未在同一集合里(并查集维护),则将该边加入集合中; 稠密图用prime,稀疏图用k 阅读全文
posted @ 2019-10-30 17:19 cumtljz 阅读(198) 评论(0) 推荐(0) 编辑