题解列表

筛选

c++信使(msner)floyd

摘要:```cpp#include using namespace std;const int INF=0x3f3f3f3f;int days=0;int dp[105][105……

换位置-双向逆序

解题思路:如果n个人如果是线性排列,要使123456…n变成n…654321,那么需要的时间总数就是(n-1)+…+5+4+3+2+1=n*(n-1)/2;即1右移n-1步,2右移n-2步…再回到原题,由于是一个围成一个圈,所以可以双向移动。