全部评论
第一个图和第三个图是不一样的 你给每个入口编个号, 6个出口的圆左侧从上到下为ABC,右侧从上倒下为DEF 第一个图,表示的是A-D,B-E,C-F 第三个图,表示的是A-F,B-C,D-E
// 感觉dp可以过,没有考虑取模的情况
int[] dp = new int[n / 2 + 1];
dp[1] = 1;
dp[2] = 2;
dp[3] = 5;
// 计算每个dp的值
for (int j = 4; j <= n / 2; j++) {
int sum = 0;
// 将12 14 ... 1n/2的组合数累加起来
for (int i = 2; i <= j; i += 2) {
if (i > 4 && i < j * 2 - 2) {
// 如果可以分为两部分:取两部分组合数的乘积×2
sum += 2 * dp[(i - 2) / 2] * dp[(j * 2 - i) / 2];
} else {
// 只能分成一部分
sum += 2 * dp[(j * 2 - i) / 2];
}
// System.out.println("j:" + j + " i:" + i + " sum:" + sum);
}
// j为奇数的情况,只用加一次
if (j % 2 == 1)
sum += dp[(j - 1) / 2] * dp[(j - 1) / 2];
dp[j] = sum;
}
其实是画的不好,
😁😥
相关推荐
06-02 13:13
北京邮电大学 Java 牛客44176770...:我也28届,也是投了一个多月,四月底投的,面了6.7场,有个大厂,没结果应该是挂了,有三个小厂面试的很顺利,结果没下文了,互联网我恨你!这五月我时间都在投简历和改简历上了,结果没啥收获,算法也没刷,因为约的面试都没有算法索性就只看项目和八股
唉,真的好累啊
点赞 评论 收藏
分享
点赞 评论 收藏
分享