bitset用法和ch2101
我又回来啦 第一次尝试使用markdown文本,可能编辑不好,见谅咕咕咕 题目 (这个网站里有全部蓝书的题目, good ) 咳咳下面步入正题,关于这种题目,看到的第一眼应该能想到相当于动规的递推,但是要求边界如果直接dfs,30000的数据不知道你家的栈能不能~受~的住 所以这个题目提供了一个很好的思路,就是先求出拓扑序然后反过来一个一个求,这样可以保证求当前节点数据时(小于等于30000不用longlong)所用到的节点都以经算好了,就这么简单 就这么简单?? 你好好考虑过动归方程了吗? f(x)={x}并(所有f(y)的并,存在有向边(x,y)) 为甚不是加?? 因为有可能会有 重复 。比如3->4,2->4那直接加起来,4就会算两次 怎么破?? 主角闪亮登场!! 状压 用N位二进制数,反之一个点到其他点只有能与不能 1就是能呗,2就是不能呗 实现: 数组实现(不够装逼) bitset! 一直不知道bitset怎么用 今天先码几个呗(~嘤嘤嘤~) 1:定义 bitset名称 bitset名称[数组大小] 2:运算 假设有bit[30001] 可以直接赋值bit[1][1]=1; 就是第一个1位为1 可以直接bit[1]|bit[2] (全部按位或) 先到这里,走了,下次再补吧 19.12.15 20.14 来源: https://www.cnblogs.com/Q-M