Heim Datenbank MySQL-Tutorial [U]3.2.2 Stringsobits 组合,递推

[U]3.2.2 Stringsobits 组合,递推

Jun 07, 2016 pm 03:38 PM
发现 组合

很快就发现了这题的递推特性。简直是赤裸裸啊~ 定义一个数组( [串长度][串中'1'的个数]=种类数 )这就是一个排列啊~ 用一个简单的递推方程求解出来C(n,i)=C(n-1,i)C(n-1,i-1); 然后从首位n开始判断,∑C[n-1][i] ( i∈[0,l] ) 若和大于等于当前的第k个数则说明

很快就发现了这题的递推特性。简直是赤裸裸啊~

定义一个数组(  [串长度][串中'1'的个数]=种类数  )这就是一个排列啊~

用一个简单的递推方程求解出来C(n,i)=C(n-1,i)+C(n-1,i-1);

然后从首位n开始判断,∑C[n-1][i] ( i∈[0,l] )

若和大于等于当前的第k个数则说明,右边的n-1位足够提供题中所需的数量,因此当前位为'0';

若右边n-1位不能提供所需的数量,则当前位为'1',右边必须向n借一位,这样k-=cnt;把右边的和减去。提供的l--;

蛮有意思的一题:

Code:

/*
ID:bysen
LANG:C++
PROG:kimbits
*/
#include<stdio.h>
using namespace std;

int C[32][32];

int main()
{
 	freopen( "kimbits.in","r",stdin );
 	freopen( "kimbits.out","w",stdout );
 	int n,l;
	long long k;
 	scanf( "%d %d %lld",&n,&l,&k );
 	for( int i=0;i=1;i-- )
	{
	 	 int cnt=0;
	 	 for( int j=0;j<br>
<br>



</stdio.h>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So kombinieren Sie zwei Grafiken in PPT So kombinieren Sie zwei Grafiken in PPT Mar 20, 2024 pm 05:00 PM

Hallo zusammen, heute werde ich meinen Freunden die spezifischen Schritte zum Kombinieren zweier Grafiken in PPT mitteilen. Wenn Sie diese Schritte befolgen, lernen Sie die Operation Schritt für Schritt und können in Zukunft Schlussfolgerungen ziehen Die Schritte finden Sie unten. Freunde, schauen Sie sich das genauer an! 1. Öffnen Sie zunächst ein PPT-Dokument auf Ihrem Computer und erstellen Sie dann eine neue PPT-Folie (wie im Bild unten gezeigt). 2. Suchen Sie als Nächstes im oberen Menüleistenelement [Einfügen] nach [Form] und wählen Sie im Dropdown-Feld der Form die zu importierende Form aus (wie im roten Kreis in der Abbildung unten dargestellt). 3. Verwenden Sie die Einfügefunktion von PPT, um die Dreiecks- und Kreisformen nacheinander in das PPT einzufügen und passen Sie die Größe und Position der Formen an (wie durch den roten Pfeil im Bild unten gezeigt). 4

Anwendung von Redis bei der Dienstregistrierung und -erkennung Anwendung von Redis bei der Dienstregistrierung und -erkennung Jun 20, 2023 am 08:39 AM

Redis ist eine leistungsstarke Schlüsselwertdatenbank und wird aufgrund ihrer schnellen Datenspeicherung und Zugriffsfunktionen häufig bei der Registrierung und Erkennung von Diensten eingesetzt. Die Registrierung und Erkennung von Diensten ist ein sehr wichtiger Prozess in verteilten Systemen. Wenn wir mehrere Dienste auf einem Computer ausführen, benötigen wir eine Möglichkeit für Kunden, diese Dienste zu entdecken und mit ihnen zu interagieren. In einem vollständig verteilten System können Dutzende von Diensten ausgeführt werden, und eine manuelle Konfiguration ist nicht mehr möglich. Zu diesem Zeitpunkt müssen wir die Dienstregistrierung und -erkennung verwenden.

Verwenden Sie die Funktion filepath.Join, um mehrere Pfadfragmente zu einem einzigen Pfad zu kombinieren Verwenden Sie die Funktion filepath.Join, um mehrere Pfadfragmente zu einem einzigen Pfad zu kombinieren Jul 24, 2023 pm 08:58 PM

Verwenden Sie die Funktion filepath.Join, um mehrere Pfadfragmente zu einem Pfad zu kombinieren. In der Standardbibliothek der Go-Sprache gibt es ein Paket namens filepath, das einige Funktionen zum Betreiben von Dateipfaden bereitstellt. Unter diesen ist die Join-Funktion eine sehr nützliche Funktion, die mehrere Pfadfragmente zu einem Pfad kombinieren kann. Die Funktion filepath.Join ist wie folgt definiert: funcJoin(elem...string) Die Funktion stringJoin empfängt einen variablen Parameter,

Wann sollten Sie Vererbung und wann Komposition in C++ verwenden? Wann sollten Sie Vererbung und wann Komposition in C++ verwenden? Jun 03, 2024 am 10:33 AM

In C++ wird Vererbung verwendet, um „Ist-ein“-Beziehungen herzustellen und die Schnittstellenkonsistenz durchzusetzen. Und Komposition wird verwendet, um „Enthält-Eins“-Beziehungen herzustellen und so Flexibilität zu schaffen. Vererbung: Wird verwendet, wenn die Unterklasse eine „ist eine“-Beziehung zur Basisklasse hat, z. B. Fahrzeug und Auto. Kombination: Wird verwendet, wenn die Containerklasse und die Komponentenklasse eine „enthält-eins“-Beziehung haben. Beispielsweise enthalten die Charaktere im Spiel Waffen-, Verteidigungs- und Gesundheitswerte.

Wie löse ich den Kombinationsfehler von Python? Wie löse ich den Kombinationsfehler von Python? Jun 24, 2023 pm 10:39 PM

Das kombinatorische Problem in Python bezieht sich darauf, wie alle möglichen Kombinationen einer vorgegebenen Menge von Elementen generiert werden können. Dies ist ein Problem, das in vielen Informatikanwendungen häufig auftritt. In Python gibt es verschiedene Möglichkeiten, dieses Problem zu lösen, eine falsche Implementierung kann jedoch zu Kombinationsfehlern führen. In diesem Artikel wird erläutert, wie Sie das Problem der Kombinationsfehler in Python lösen können. Verwendung rekursiver Funktionen In Python ist die Verwendung rekursiver Funktionen oft eine der gebräuchlichsten Methoden zur Implementierung kombinatorischer Probleme. Eine rekursive Funktion ist eine Funktion, die sich selbst in sich selbst aufruft

Autonomer Roboter entdeckt die härteste bekannte Struktur Autonomer Roboter entdeckt die härteste bekannte Struktur Sep 08, 2023 pm 03:57 PM

Ein Robotiklabor BÄR. Bildquelle: Boston University Laut einem Bericht auf der Website des britischen Magazins „New Scientist“ vom 29. August hat ein Roboterlabor in den USA die härteste Struktur entdeckt, die bisher bekannt ist. Das Labor kann 50 Experimente pro Tag ohne menschliche Aufsicht durchführen. , Herstellung und Prüfung der mechanischen Struktur. Es wird erwartet, dass die neuesten Forschungsergebnisse die Entdeckung neuer Materialien beschleunigen werden, und entsprechende Veröffentlichungen wurden auf einer Preprint-Website eingereicht. In dieser neuesten Studie gaben Forscher der Boston University an, dass sie ein autonomes Roboterlabor namens Bayesian Experimental Autonomy Researcher (BEAR) genutzt hätten, um die bislang energieabsorbierendste Materialstruktur zu entdecken. BEAR besteht aus fünf 3D-Druckern, einer Waage, einer Prüfmaschine, einem Roboterarm und Computer Vision zum Bewegen von Proben

Wie schreibe ich einen Algorithmus zum Lösen von Permutationen und Kombinationen in Python? Wie schreibe ich einen Algorithmus zum Lösen von Permutationen und Kombinationen in Python? Sep 19, 2023 am 11:07 AM

Wie schreibe ich einen Algorithmus zum Lösen von Permutationen und Kombinationen in Python? Einleitung: In der Mathematik und Informatik sind Permutation und Kombination ein gängiges mathematisches Konzept, das uns bei der Lösung vieler praktischer Probleme helfen kann. In diesem Artikel werde ich vorstellen, wie man mit Python Algorithmen zur Lösung von Permutations- und Kombinationsproblemen schreibt, und spezifische Codebeispiele bereitstellen. 1. Definition von Permutationen und Kombinationen Bevor wir mit dem Schreiben von Algorithmen beginnen, wollen wir zunächst die Definitionen von Permutationen und Kombinationen verstehen. Anordnung: Bei der Anordnung werden einige Elemente aus einem bestimmten Satz von Elementen ausgewählt, um sie anzuordnen und zu kombinieren, um verschiedene Sequenzen zu bilden.

Dienstregistrierung und -erkennung in der Go-Sprache Dienstregistrierung und -erkennung in der Go-Sprache Jun 01, 2023 am 09:12 AM

Mit der Entwicklung der Microservice-Architektur werden die Registrierung und Erkennung von Diensten immer wichtiger. Aufgrund seiner hohen Effizienz und hervorragenden Parallelitätsleistung erfreut sich die Go-Sprache als Entwicklungssprache für Microservices immer größerer Beliebtheit. In diesem Artikel erfahren Sie, wie Sie Dienste in der Go-Sprache registrieren und entdecken. Was ist Serviceregistrierung und -erkennung? Dienstregistrierung und -erkennung bedeutet, dass der Dienstanbieter seinen Dienst beim Dienstregistrierungszentrum registriert und der Dienstkonsument die Liste der verfügbaren Dienste vom Registrierungszentrum erhält und den entsprechenden Dienst anruft. Die Dienstregistrierung kann ein separater Prozess oder ein separater Prozess sein

See all articles