摘要:
这是一个比较简单的动态规划,做一点重要提示,程序就不加注释了 题目的意思就是问从1到n总共n个数字中选出一个集合使得集合中数字和为n*(n+1)/4有多少种方法,如果有S种方法,那么输出的答案就是S/2. 我用numberOfWays[i][j]表示1到i中取出一个和为j的集合的方案数,那么就有递推公式 numberOfWays[i][j] = numberOfWays[i-1][j-i] ... 阅读全文
摘要:
注意到一点后就会觉得这道题是非常简单的了,罗马字母表示法总是一个数字一个数字的表示,比如说用罗马字母来表示数字“3456”时,先表示出“3000(MMM)”,然后是“400(CD)”,然后是“50(L)”,最后是“6(VI)”,最后把四个罗马字母链连接起来就是“3456(MMMCDLVI)”的准确表示 那么计算表示“3456”需要多少罗马字母时,就可以把“3000”、“400”、“50”、“6”... 阅读全文