二进制状态压缩
蓝鲸
这个作者很懒,什么都没留下…
展开
-
《算法竞赛进阶指南》可达性统计
可达性统计 给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数N,M,接下来M行每行两个整数x,y,表示从x到y的一条有向边。 输出格式 输出共N行,表示每个点能够到达的点的数量。 数据范围 1≤N,M≤30000 输入样例: 10 10 3 8 2 3 2 5 5 9 5 9 2 3 3 9 4 8 2 10 4 9 输出样例: 1 6 3 3 2 1 1 1 1 1 本题我们利用的方法主要是拓扑排序,以及二进制压位。 首先我们介绍拓扑排序:在已知的有向无原创 2020-09-20 15:32:39 · 572 阅读 · 0 评论 -
递归实现指数型枚举
递归实现指数型枚举 92. 递归实现指数型枚举 题目 提交记录 讨论 题解 从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。 数据范围 1≤n≤151≤n≤15 ...原创 2019-07-24 12:00:30 · 220 阅读 · 0 评论 -
递归实现组合型枚举
递归实现组合型枚举 93. 递归实现组合型枚举 题目 提交记录 讨论 题解 从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 输入格式 两个整数 n,mn,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案,每行1个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 ...原创 2019-07-25 15:36:05 · 875 阅读 · 0 评论 -
递归实现排列型枚举
递归实现排列型枚举 94. 递归实现排列型枚举 题目 提交记录 讨论 题解 把 1~nn 这 nn 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式 一个整数n。 输出格式 按照从小到大的顺序输出所有方案,每行1个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围 1≤n≤91≤n≤9 输入样例: 3 输出样例: ...原创 2019-07-25 16:14:02 · 234 阅读 · 0 评论 -
最短Hamilton路径
最短Hamilton路径 给定一张 nn 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。 输入格式 第一行输入整数nn。 接下来nn行每行nn个整数,其中第ii行第jj个整数表示点ii到jj的距离(记为a[i,j])。 对于任意的x,y,zx,y,z,数据保证 a[x...原创 2019-07-23 11:08:50 · 142 阅读 · 0 评论 -
费解的开关
费解的开关 费解的开关 题目 提交记录 讨论 题解 你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态 10111 01101 10111 10000 ...原创 2019-07-27 14:50:26 · 167 阅读 · 0 评论