摘要:
题意:从最上面走到最下面,使得路过的数求和为s,并输出编号最小的一组路径。 析:基本动规,dp[i][j][s] 从最下面到 i,j 和为s,路径数,要么从左面要么从右,求和就好了,注意上面和下面的不太一样,要分别求解。 代码如下: 阅读全文
摘要:
题意:给定一个n*m的网格,每个格子里有A矿和B矿数量,A必须由右向左运,B只能从下向上运,中间不能间断,问最大总数量。 析:一个简单DP,dp[i][j] 表示 从 (0, 0) 到 (i, j) 最大人运输量。要么向左运输,要么向上运输,取最大值。 代码如下: 阅读全文
摘要:
题意:约瑟夫环,求最后三个数。 析:f[i] = (f[i-1] + k) % i 这是求最后一个数时候,我们倒着推到第一个数时,只有一个数,所以当只有两个数时,就是另一数, 同理,我们可以求得第三个数。 代码如下: 阅读全文
摘要:
题意:你最初只有一个武器,你需要按照一定的顺序消灭n个机器人(n<=16)。每消灭一个机器人将会得到他的武器。 每个武器只能杀死特定的机器人。问可以消灭所有机器人的顺序方案总数。 析:dp[s] 表示已经杀死 s 这个状态的机器人有多少种方案,然后挨着枚举每个机器人,在枚举机器人要保证能够杀死该机器 阅读全文
摘要:
题意:略。 析:由于只有三只杯子,那么我们可以用两个杯子的状态,那么第三只的状态也可以确定下来,每次倒水,要么全倒过去,要么把那个杯子倒满。 注意题意是要保证最后是两个一样多。 代码如下: 阅读全文