摘要: 矩阵乘法 。。。爆零了。。。 想到Floyd,却不知道怎么限制点数。。。 其实我们只要给Floyd加一维,dp[i][j][k]表示当前走过了i个点,从j到k的最短距离,然后这样可以倍增,最后看是否有i->i的距离<0 做dp或最短路之类的题的时候,如果限制条件较多,可以考虑加维度 #include 阅读全文
posted @ 2017-10-23 23:11 19992147 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 概率dp+记忆化搜索 dp[i][j][0]表示当前公主走公主赢的概率,dp[i][j][1]表示当前龙走公主赢的概率,然后剩下的就是一些细节的讨论,记忆化搜索很方便 #include<bits/stdc++.h> using namespace std; const int N = 1005; i 阅读全文
posted @ 2017-10-23 22:46 19992147 阅读(142) 评论(0) 推荐(0) 编辑
摘要: dp+置换 可以把排列分成几个循环,然后dp统计 dp[i][j]=dp[i-1][j-1]*(i-1)+dp[i-1][j],表示当前有i个元素,至少换j次,然后如果不在自己应该在的位置有i-1种情况,在自己位置上有1种情况,转移即可 话说vjudge也有100AC了。。。 #include<cs 阅读全文
posted @ 2017-10-23 22:44 19992147 阅读(99) 评论(0) 推荐(0) 编辑