2013年2月25日

组合数求解(两种方法)

摘要: 1) long C(int n, int m) { if (n - m < m) m = n - m; long ans = 1; for (int i = 1; i <= m; i++) ans = ans * (n - i + 1) / i; return ans; }2) static final int MAXN = 30; // max size void init() { int C[][] = new int[MAXN][MAXN]; C[0][0] = 1; for (int i = 1; i < MAXN; i++) { C[i][0] = C[... 阅读全文

posted @ 2013-02-25 22:42 Sure_Yi 阅读(316) 评论(1) 推荐(0) 编辑

Java nextPermutation( )

摘要: I like Java. But there is at least one thing missing in Java for sure — permutations.http://codeforces.com/blog/entry/3980 boolean nextPermutation(int[] p, int st, int ed) { for (int a = ed - 2; a >= st; a--) { if (p[a] < p[a + 1]) { for (int b = ed - 1; ; b--) { if (p[b] > p[a]) { in... 阅读全文

posted @ 2013-02-25 21:29 Sure_Yi 阅读(327) 评论(0) 推荐(0) 编辑

Java 两个数交换

摘要: 在JAVA里面没有指针的概念,传过去的只不过一个引用而已,它不会改变原有的值。把a,b定义成全局变量是能够改变的。例: int a, b; void Swap() { int temp = this.a; this.a = this.b; this.b = temp; } void run() { a = 3; b = 4; Swap(); a = 5; b = 6; Swap(); System.out.println(a + " " + b); } 结果:6 5 阅读全文

posted @ 2013-02-25 20:09 Sure_Yi 阅读(264) 评论(0) 推荐(0) 编辑

导航