【题解】状态压缩解八皇后问题

一个如下的 $6 \times 6$ 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。


【题解】状态压缩解决全排列

按照字典序输出自然数 1到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。


状态压缩

状态压缩简介简短概括状态压缩的话,就是使用二进制来描述状态。


【题解】关灯问题Ⅱ

题目描述现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯。现在这些灯都是开的,给出所有开关对所有灯的控制效果,求问最少要按几下按钮才能全部关掉。


【题解】时钟

考虑将如此安排在一个3×3 行列中的九个时钟:目标要找一个最小的移动顺序将所有的指针指向 12 点。


位运算

位运算​任何信息在计算机中都是采用二进制表示的,数据在计算机中是以补码形式存储的,位运算就是直接对整数在内存中的二进制位进行运算。由于位运算直接对内存数据进行操作,不需要转换成十进制,因此处理速度非常快,在信息学竞赛中往往可以优化理论时间复杂度的系数(常数优化)。​C++提供了6种位运算符。