摘要: 子集枚举之二进制法(好土的名字) A中元素 1 2 3 4 5 二进制 在$A_1$中的出现情况 1 0 1 1 1 11101 在$A_2$中的出现情况 1 0 0 1 1 11001 在$A_3$中的出现情况 0 0 1 0 0 00100 在$A_4$中的出现情况 0 1 1 0 0 0011 阅读全文
posted @ 2021-01-28 17:55 1v7w 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目 题目链接 Luogu洛谷 P1157 组合的输出 题解 和P1036一样,利用子集枚举,子集的元素数量为r时候,输出。 关键在按照字典序输出。所以从全集枚举到0,从最高位到最低位表示元素1到n,就可以让1尽量出现在靠前的位置。 比如让10110早于10101出现,符合题目的字典序要求。 The 阅读全文
posted @ 2021-01-28 17:27 1v7w 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目 题目链接 Luogu洛谷P1036 选数 题解 这道题实际上是子集枚举的问题。 把n个数都存到1个数组里,那么需要枚举的是元素数量为k的子集,最求和判断是否为素数就可以。 子集枚举时候用2进制来表示每个元素的状态,1表示被选中,0表示未被选中。 n=4时,表示4个元素都被选中就是$u=(1<< 阅读全文
posted @ 2021-01-28 17:18 1v7w 阅读(72) 评论(0) 推荐(0) 编辑