摘要:
题目大意:N皇后解题思路:用位运算dfs。代码:#includeusing namespace std;int tal,sum;int n;void dfs(int row,int ld,int rd,int deep){ int pos,p; if(row!=tal) { pos=tal & ~(row | ld | rd); while(pos!=0) { p=pos & -pos;... 阅读全文
摘要:
题目大意: 要你输入n,代表学院里面有n种设备,并且在下面输入n行,每一行输入v,m代表设备的价格为v,设备的数量是m.然后要求把这些设备的总价值分摊,尽量平分,使其总价值接近相等,最好是相等。解题思路: 一开始有点儿难转换为母函数,好像很多牛人都用DP做嘞,速度上应该更快吧。转换为母函数的思路是:把设备排列组合,把所有可能的组合都打出来,然后从总价值的中间开始搜,... 阅读全文
摘要:
题目大意: 让你输入n,m,m代表要买m个水果,n表示有n种水果,然后输入n组数据,每组数据有一个s,e.表示每种水果必须要买s到e这么多个。最后要求输出有多少种组合。解题思路: 求组合的东西,以后要多想想母函数,直接写出生成函数G(x)=(fru[1].s……fru[1].e)(fru[2].s.……fru[2].e)……(fru... 阅读全文
摘要:
题目大意: 让你输入n,然后输入n个数,而n个数代表n个砝码的重量,给你一个天枰,然后要求你算出在n个砝码的总重量内,天枰无法计算出的重量。解题思路:一开始瞄不出是母函数,有点别扭,反复看了几遍题目了,想了不可能是母函数啊,因为天枰可以测出的重量有可能是两个砝码的重量和,而母函数可以解决这个么?母函数不都是用来求组合的咩?好吧... 阅读全文
摘要:
解题思路: 看着数据,有点儿像卡特兰数,直接写了看,就过了。。。前几项为 (OEIS中的数列A000108): 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263... 阅读全文
摘要:
题目大意: 就是给你1到N个数,让你求他能构成多少种二叉树;题目分析: 这里又是一种组合数学里的重要知识点!Catalan数的应用。 Catelan有直接的公式,用java的BigInteger类就可以迅速搞掉了,用c/c++要慢慢模拟,不过速度会更快~各有特色吧。Java用了140MS... 阅读全文