状压 DP 简介
状压 dp 是动态规划的一种,通过将状态压缩为整数来达到优化转移的目的。
状态 dp 在写题时一般是多维数组,下标即是状态信息,值为答案,然后推出递推方程。
在for中下标即作为循环信息,也作为转移信息。
可以先看数据大小是否可以枚举情况,如果可以,那么只需要考虑在状态i时的递推方程即可
一般来说概率正着推,期望逆着推。有环的一般要用到高斯消元解方程。
概率DP找到正确的状态定义后,转移是比较容易想到的。但状态一定是“可数”的,把有范围的整数作为数组下标。事实上,将问题直接作为状态是最好的。如问“n人做XX事的期望次数”,则设计状态为f[i]表示i个人做完事的期望。转移一般是递推,即从上一个状态转移得(填表)或转移向下一个状态(刷表)。
在学习了重定向之后,我尝试用txt来输入输出,但是总是会出现一个问题——数字和英文还好,一旦出现汉字字符,在运行后输出的txt中就会变成乱码。
这不是txt中的数据格式有问题,或者重定向有问题,而是txt的保存问题。
1 | %}page-home{% endif - %} {% endblock %}{% block content %} |