位运算符: 与(&),或(|),非(~), 异或(^); 移位运算: 1.左移:在二进制表示下把数字同时向左移动,低位以0填充,高位越界后舍弃 1 << n = 2^n, n << 1 = 2n 2.算术右移:在二进制补码表示下把数字同时向右移动,高位以符号位填充,低位越界后舍弃 n >> 1 = ...
分类:
其他好文 时间:
2019-07-15 10:42:34
阅读次数:
230
枚举的技巧(什么是枚举) 暴力? 模拟? for? dfs? bfs? ... 巧妙的枚举。(优化时间复杂度、统计区间的贡献) ... 暴力大家都会 ... 优化暴力... 变成正解。 About DFS/BFS 二进制状态压缩表示。 折办搜索然后匹配累加贡献。 A* IDA* 搜索 迭代加深的DF ...
分类:
编程语言 时间:
2019-07-13 12:03:40
阅读次数:
348
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1087 还不错的状态压缩题目,把国王的位置看成1,其余位置看成0,则n行每行的可能出现的状态为1<<n,如果同时考虑n行的状态就为1<<(n*n),必不可能。 所以先预处理出每行所有的合法状 ...
分类:
其他好文 时间:
2019-07-02 09:22:57
阅读次数:
78
最短Hamilton路径(二进制状态压缩) + 题目描述:n个点的带权无向图,从0 n 1,求从起点0到终点n 1的最短Hamilton路径(Hamilton路径:从0 n 1不重不漏的每个点恰好进过一次) + 题解:二进制状态压缩算法$O(2^n n^2)$,需要记录当前经过了哪些点,当前在哪个位 ...
分类:
其他好文 时间:
2019-07-01 10:51:55
阅读次数:
85
给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数N,M,接下来M行每行两个整数x,y,表示从x到y的一条有向边。 输出格式 输出共N行,表示每个点能够到达的点的数量。 数据范围 1≤N,M≤30000 显然可以用拓扑排序+状态压缩来做, 用一个n位 ...
自己最烦二进制,但还是痛定思痛,耐心学着... 普通的数都是十进制,二进制便是逢2进一,我觉得它最大的用途就可以表示一系列的东西用于不用上,用则为1,不用为0,比如说四个物体,可以用1111表示,再把1111用十进制表示15,这样15就可以表示这一状态。 说从最基础的说起:一般的n个物体,用二进制表 ...
分类:
其他好文 时间:
2019-06-26 13:53:06
阅读次数:
159
"炮兵阵地" $solution:$ 这一道题限制条件有点多,我们需要逐个击破: 1. 首先要判断这一格是否为山地,这个可以状态压缩 2. 然后我们的左右一定距离不能有炮兵,这是一个突破口,因为我们看数据发现每行不超过十个格子!这样的话我们完全可以预处理出来每一行的填充方案而且这些方案肯定很少! 3 ...
分类:
其他好文 时间:
2019-06-11 11:01:09
阅读次数:
81
三要素: 1. 阶段, 2. 状态,决策和转移方程 3.边界和答案 线性DP 背包 区间DP 树形DP 环形DP 状态压缩DP 倍增优化DP 数据结构优化DP 单调队列优化DP 斜率优化DP 四边形不等式优化DP 计数类DP 数位统计类DP ...
分类:
其他好文 时间:
2019-06-01 15:18:44
阅读次数:
93
状态压缩 动态规划 By蒟蒻鱼 用二进制表示城市的到达(规划的)状态 每一个二进制数都代表一个唯一的十进制数 预备知识 位运算 优先级 ~ & ^ | 按位与 & 全一则一,否则为零 按位或 | 有一则一,否则为零 按位取反 ~ 是零则一,是一为零 按位异或 ^ 不同则一,相同为零 移位 =1则说明 ...
分类:
其他好文 时间:
2019-05-15 14:04:59
阅读次数:
143
目前已经花的时间 7h。剩余时间:43h 公开任务看板照片: 产品状态:压缩工具功能完成,测试并修复bug完成,该工具基本完成,已添加进小工具集合中, 即将进行截图工具的设计。 ...
分类:
其他好文 时间:
2019-05-07 21:23:18
阅读次数:
159