zoukankan      html  css  js  c++  java
  • 基础组合问题 ————从n个物品里选m个

    package test;
    import java.util.*;
    
    public class Main{
      public static int f(int n,int k, int goal){
           if(goal==1) return n-k+1;
           if(n-k+1<goal) return 0;
           return f(n,k+1,goal)+f(n,k+1,goal-1);
       }
        
      public static void f1(int[][] res,int k,int goal,int n,int m) {
    	for(int i=1;i<=n;i++) 
    	  res[i][1]=n-i+1;
    	for(int i=n;i>=1;i--) {
    	  for(int j=2;j<=m;j++) {
    	    if(n-i+1<j)res[i][j]=0;
    	    else res[i][j]=res[i+1][j]+res[i+1][j-1];
    	  }
    	}
      }
      public static int f3(int m, int n){
            if(n==mreturn 1;
            if(n==0return 1;
            return f(m-1,n+ f(m-1,n-1);
        }
    public static void main(String[] args) { int n=1,m=1; System.out.println(f(n,1,m)); int[][] res=new int[n+1][m+1]; f1(res,1,3,n,m); System.out.println(res[1][m]); } }

      

  • 相关阅读:
    势函数的构造
    10.29模拟赛总结
    10.29vp总结
    10.25模拟赛总结
    10.24模拟赛总结
    线段树练习
    一键挖矿
    P1972 [SDOI2009]HH的项链
    P3901 数列找不同
    P5546 [POI2000]公共串
  • 原文地址:https://www.cnblogs.com/lshao/p/8618099.html
Copyright © 2011-2022 走看看