La base d'algorithmes mathématiques - permutations et combinaisons (le titre tiré de la vache hors réseau)

théorie de base:

  1. arrangement

Sous - ensemble d'un ensemble fini de procédé de commande en fonction de certaines conditions disposés en une rangée, disposés en un cercle, peut - être laissé répété duplication.
Chaque m (1≤m≤n) des éléments distincts, disposés en une rangée, dite différents éléments pris parmi les éléments n m prises à partir des n éléments alignés ou arrangement non répétitif, renvoi agencé
Insérer ici l'image Description
cinq lettres pleines organisé 5! = 120

  1. combinaison

Différent des n éléments sort m éléments distincts (0≤m≤n), indépendamment de l'ordre d'un groupe de synthèse, non pas appelée à plusieurs reprises pour sélectionner une combinaison d'éléments de m des n éléments.
Le total de toutes ces combinaisons visées au nombre de combinaisons, le nombre de combinaisons est calculé comme suit:
Insérer ici l'image Description

1, le même problème pour un paquet ordonné des éléments (selon la méthode de partition)

Blog de référence: http: //www.sohu.com/a/230556468_301997

[Exemple 1] 7 pastilles classiques identiques, tous placés dans les quatre cases numérotées 1, 2, chacune de ladite au moins une boîte placée à billes, demande combien de différentes méthodes de décharge ?

[Idée] encadrement trois conditions du modèle de base satisfait à cette méthode de séparation d'interrogation (1, un certain nombre d'éléments identiques, 2. l'élément commandé paquets, chacun ayant au moins un élément, l'élément 2 ne peut pas avoir un excédent), afin que nous puissions être appliqué la méthode de partition directement. Tout d'abord, nous allons 7 balles dans une rangée. 7 au milieu d'un total de six billes espacées à des intervalles de six intervalles nous choisir un séparateur 3, et on sera divisé en quatre parties de la balle, et au moins une copie de chaque balle. Ensuite, nous balle ces quatre parties de gauche à droite sont placés dans quatre cases 1-4, pour donner une méthode de décharge correspondant. Ainsi, chacun du séparateur correspondant à une méthode d'interpolation sur la méthode de pastille. 6 est inséré dans les intervalles du séparateur 3 étaient de 20 types d'interpolation, à savoir un total de 20 types différents présent procédé de décharge du titre.

[Méthodes] Les éléments identiques commandés dans une boîte (non autorisée de boîtes vides), insérer un séparateur des intervalles équivalents, et donc le nombre de méthodes différentes de décharge de différents types d'interpolation même séparateur , mettre la loi des espèces communes. Voici une combinaison de plusieurs de la formule de base, qui est calculé comme une combinaison de [C (n, m) = P (n, m) / P (m, m) = n! / M! (Nm)! ].

n = 6, m = 3

2, variante (1): problèmes restreints paquet

[Exemple 2] 12 identiques aux pastilles classiques, chacun d'eux placé dans les quatre cases numérotées 1, 2, chacune des au moins deux boîtes placées des billes, a demandé combien différent décharge la loi?

[Coaching] Chaque pensée boîte , je veux juste mettre au moins une balle peut être amis. C'est aussi longtemps à l' avance afin que chaque boîte sont chargés dans un ballon, il peut être une loi de séparation.
Donc , pour arriver à quatre buts respectivement en quatre boîtes, chaque boîte a maintenant une boule! La question est donc, seront les huit balles identiques restantes, quatre boîtes chargées ordonnées, chaque boîte placée au moins une bille, combien de mettre la loi? Ce n'est pas simple, application directe du modèle de base vient de conclure la méthode de partition, insérer les trois séparateurs dans sept intervalles.

[Méthodes] séparation de la présente méthode, variante intitulée, le principe est la nécessité de mettre un certain nombre de balles dans chaque boîte, puis converti en modèle de base de la méthode de partition. Résumés comme suit: Les éléments du même commandés dans des boîtes (chaque boîte placé au moins un élément), il est nécessaire de mettre chacun des éléments dans la boîte, les éléments restants du procédé de décharge en utilisant la partition dans une boîte

n = m = 3 7

Exemple 3 [12] les mêmes pastilles classiques, tous placés dans les quatre cases numérotées 1, 2, le nombre de pastilles dans chaque numéro de zone est au moins égal au nombre, Q combien de différents types de mettre la loi?

Cette question et la pensée [de coaching] Exemple 2 est un peu similaire, il faut d'abord mettre dans un certain nombre de balles dans la boîte, afin de résoudre la méthode de conversion pour la partition. Tels que n ° 2 dans la dernière case doit avoir au moins 2 balles, de sorte que l'examen de roi dans la case n ° 2 d'abord dans une boule. De même, dans la case 3 première en deux boules, n ° 4 3 boîte première en boules. Cela garantit que chaque case juste besoin de mettre au moins une bille peut répondre aux exigences. Par conséquent, le six à quatre balles restant dans la méthode de la boîte de séparateur.

[Méthodes] Ce problème également variante de procédé de séparation, qui sont résumées comme suit: lorsque chaque boîte était pas la cartouche vide et le nombre d'éléments requis ne sont pas les mêmes, nous avons besoin de mettre un certain nombre d'éléments, de sorte que chaque boîte juste besoin de dans au moins un élément capable de répondre aux exigences. Et puis les autres éléments dans la boîte en utilisant la méthode de partition.

n = 5, m = 3;

(Exemple 4) existant huit balles identiques, tous en trois cases numérotées de 1, 2, ce qui permet la case vide apparaît, demandant combien de différentes méthodes de mise en liberté?

Après [l'idée du coaching] de prendre Let trois balles (nombre de boîtes par numéro), donc je partageais une loi de séparation de balle. « Avec succès trois buts d'emprunter, cette fois-ci que nous pouvons faire pour fonctionner. De plus la balle huit originale sur le terrain, maintenant un total de 11 balles, selon la méthode de partition les mettre dans trois boîtes, une espèce commune méthode mise. pour chaque méthode de décharge, roi d'essai ont mis au point une boule de chaque boîte également lorsque le boîtier arrière est également affecté un ballon de retour d'une balle, la cartouche est en fait cartouche vide; balle dans deux plus en arrière après une balle, la cartouche contient en réalité qu'une seule balle, et ainsi de suite. ce succès huit balles identiques divisés en trois cassettes, ce qui permet un total de 45 types de processus de libération de la cassette vide.

[Méthodes] Les éléments identiques commandés dans une boîte (permettant un champ vide), par des forces externes doivent emprunter des éléments identiques supplémentaires, les éléments placés dans un séparateur à boîte Méthode (chaque boîte viendra avec une balle finale doit revenir en arrière), donc laisser la loi des espèces communes.

n = 10, m = 3

Exemple de programmation de
la balle 20 dans 12 sacs différents, chaque sac peut mettre 0-20 balles, combien de mettre la loi? Comment analyser les calculs, puis les réponses programmées.

problème avancé: chaque sac peut mettre zéro, un, deux ou trois balles, comment calculer?

链接:https://www.nowcoder.com/questionTerminal/b01b4a95413040eaa1effbd34280c78c
来源:牛客网

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
//        写入球的个数
         int ball;
//        写入袋子的个数
         int pack;
         Scanner scan = new Scanner(System.in);
         System.out.println("请输入球的个数");
         ball = Integer.parseInt(scan.next());
         System.out.println("袋子个数");
         pack = Integer.parseInt(scan.next());
         System.out.println(getban(ball, pack));
         
    }
    
    
//    隔板法
    public static long getban(int ball,int pack)
    {
//        由于无法保证每个袋子都能装上一个球,无法使用隔板法,
//        所以故意往每个袋子加1个球,当排序的时候可以往每个袋子里减一个球就可以了
        long result = 1;
        int newball = ball + pack;
//        所以每个球的空隙有newball -1个
        int newballair = newball -1;
//        因为需要放入12-1个袋子(插入12-1块板),所以用公式C(newballair,pack-1)
        /*
         * C(m,n) = m!/n!*(m-n)!
         */
        for(int i = newballair - (pack - 1) + 1; i <= newballair ; i++)
        {
            result *= i; 
        }
        return result / factorial(pack-1);
    }
    
//    阶乘方法
    public static long factorial(int num)
    {
        if(num == 1)
        {
            return 1;
        }
        else
        {
            return num * factorial(num-1);
        }
    }
}

Exemple 2: Cinq balle de la boîte, mettre perturber l'ordre de revenir, pas le nombre de permutations in situ est le nombre ()

Idées: Tout d'abord, nous pouvons mettre cinq balles comme ABCDE, puis répartis dans les cinq cas suivants pour organiser

  1. Tout d'abord, un placé n'importe où (imaginez un droit), sont disposés quatre différents
  2. b représentant une position, l'agencement de deux cde, et sont ECD décembre (e deux droite)
  3. un pas en compte les positions b (a, b ne pas la position de change), la position B est pas prise en compte A: la position B il y a trois choix, la position C, il y a trois options (comme A dans les trois à l'intérieur, quel que soit A dans lequel la position du CDE, pas de problème, tant que l'une position de jeu, les deux autres positions certainement réglées, parce qu'ils ne peuvent position de change), il est 3 * 3 types

Titre de la probabilité
https://www.asklib.com/view/12798def.html

Exemple:
1000 Il y a 10 pièces d'or, prenez une pièce de monnaie est la probabilité que l' or est de 0,1, deux fois pour le prendre, prendre n fois

Idée: chaque prise inférieure à la probabilité calculée de 1 moins la probabilité peut être.

dp [n] = 990- (n - 1) / 1000- (n-1) * dp [n-1], dp [0] = 1
Le résultat final 1-dp [n]

Publié 36 articles originaux · a gagné les éloges 11 · vues 10000 +

Je suppose que tu aimes

Origine blog.csdn.net/s_xchenzejian/article/details/102482037
conseillé
Classement