摘要: 有这样的一个问题: 给定一个集合,让你输出所有的子集。 这时候二进制就派上了用场~ 我们用0,1来表示当前位是否被保留,值为1则保留,为0则舍弃 ,如下图所示: 那么对于一个有n个数的集合来讲,每一位有取和不取两种状态,一共就有2n种状态,我们可以从0一直枚举到2n来表示所有子集的状态。 但是现在问 阅读全文
posted @ 2019-08-16 17:40 sparkyen 阅读(660) 评论(0) 推荐(0) 编辑
摘要: >传送门<题意:给你一个有n个元素的数组,一个sum,让你找到数组的子集使得子集元素和等于sum,保证只有一个解决方案。 (其中1≤n≤36,0≤ sum<9*1018,0<ai<2*1017) 思路:写这题的时候队友直接搜子集,然后我就满脸???236,老哥你确定不会爆?于是天真的我发现和背包不是 阅读全文
posted @ 2019-08-16 17:33 sparkyen 阅读(184) 评论(0) 推荐(0) 编辑
摘要: >传送门< 题意:最初有 n个人且互不认识,接下来 m行,每行有 x,y表示x和y交朋友,朋友关系满足自反性和传递性,每次输出当前选取4个人且互不认识的方案数。 思路:比赛的时候知道是用并查集做,然而也只是知道,具体的思维还没有想到这一块,还是太菜了,得去多做多想~ 并查集合并操作可以理解为使得两个 阅读全文
posted @ 2019-08-16 15:27 sparkyen 阅读(219) 评论(0) 推荐(0) 编辑