摘要:
题目链接先是一个转化,将n和m中较小的的为m这样状态数会小于1<<9。看题后,是嘛想法都啊没有。。看了DISUSS中有人提到这点。。。写完,调了一下,尝试了几次,发现有两组过不了。想想极限数据,可能还是会爆__int64,然后乱搞改编一下,求组合数模版。。。水过了。。。还是用STL中vector写的。。。以后还是用数组把。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <vector> 5 using namespace std; 6 阅读全文
摘要:
题目链接用二维数组表示,第一维表示状态,第二维表示此状态最后一个专递者。状态转移为 if((~que1[j])&(1<<u))//开始这个判断想错了,一直RE。。。对位运算不熟啊。。dp[que1[j]+(1<<u)][u] = min(dp[que1[j]+(1<<u)][u],dp[que1[j]][k]+p[k+1][u+1]); 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <string> 5 us 阅读全文