摘要:
传送门 解题思路 和上一题相似,用dp[i][j]表示当前状态为i,刚刚放的是第j头奶牛的方案数。 其中i的二进制位表示第k位的奶牛到目前为止是否已经选择。 一开始初始化只有一头奶牛时方案数为1,然后枚举状态、上一个位置的奶牛、这一个位置的奶牛转移过来即可。 AC代码 1 #include<iost 阅读全文
摘要:
传送门 解题思路 用一个数i的二进制表示某一位的村庄是否已经去过,dp[i][j]表示当前状态i,这一次去的村庄是j的最短路程。 然后就枚举i、j、k(k表示下一个去的村庄),然后在if判断是否符合条件后,用dp[i][j]更新dp[i|1<<(k-1)][k]。 注意边界的处理。 AC代码 1 # 阅读全文
摘要:
传送门 解题思路 用dp[i][j][0/1]表示到第i节课、申请了j次,第i节课是否申请的最小体力和。 然后分别从dp[i-1][j][0]、dp[i-1][j][1],dp[i-1][j-1][0]、dp[i-1][j-1][1]疯狂转移过来。 先跑一边Floyd求最短路。 注意double无法 阅读全文