摘要: 原题链接: loj #10173 思路 注意到 \(1 \leq n \leq 100, 1 \leq m \leq 10\) ,并且对于每个格子都有放和不放两种选择, 所以断言是状压dp. 而状压dp需要一点位运算知识, 详见 状压dp常用位运算 状态 首先显然第一维是行数( \(n\) 很小, 阅读全文
posted @ 2022-05-11 21:53 聂天泽 阅读(33) 评论(0) 推荐(0) 编辑
摘要: n & (1 << i) 这句话的意思是二进制中, 取出 \(n\) 的第 \(i + 1\) 位. 比如 \(n = 14\) , \(i = 3\) , 那么因为 \((14)_2 = (1110)_2\) ,所以结果是 \((1000)_2 = (8)_{10}\) x & y 取出 \(x\ 阅读全文
posted @ 2022-05-11 21:29 聂天泽 阅读(34) 评论(0) 推荐(0) 编辑
摘要: A. Lucky? 没什么好说的, 直接模拟即可. #include <bits/stdc++.h> using namespace std; inline int read() { int x = 0; char c = getchar(); bool f = 1; while(c < '0' | 阅读全文
posted @ 2022-05-11 15:00 聂天泽 阅读(226) 评论(3) 推荐(2) 编辑