ホームページ データベース mysql チュートリアル [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>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PPT で 2 つのグラフィックを結合する方法 PPT で 2 つのグラフィックを結合する方法 Mar 20, 2024 pm 05:00 PM

みなさん、こんにちは。今日は、PPT で 2 つのグラフィックを結合する方法の具体的な手順を友達と共有します。これらの手順に従うと、操作を段階的に学習し、将来推論を行うことができます。手順は以下のとおりです。友達の皆さん、真剣に見てみましょう! 1. まず、コンピュータ上で PPT ドキュメントを開き、新しい PPT スライドを作成します (下の図を参照)。 2. 次に、上部メニューバーの[挿入]項目から[図形]を見つけ、図形のドロップダウンボックスでインポートする図形を選択します(下図の赤丸部分)。 3. PPT の挿入機能を使用して、三角形と円の図形を PPT に順番に挿入し、図形のサイズと位置を調整します (下の図の赤い矢印で示すように)。 4

サービスの登録と検出における Redis のアプリケーション サービスの登録と検出における Redis のアプリケーション Jun 20, 2023 am 08:39 AM

Redis は高性能のキーと値のデータベースであり、その高速なデータ ストレージとアクセス機能により、サービスの登録と検出のプロセスで広く使用されています。サービスの登録と検出は、分散システムにおいて非常に重要なプロセスです。マシン上で複数のサービスを実行する場合、クライアントがこれらのサービスを発見し、それらと対話する方法が必要です。完全な分散システムでは、数十のサービスが実行されている可能性があり、手動構成は現実的ではありません。現時点では、サービスの登録と検出を使用する必要があります。

filepath.Join 関数を使用して、複数のパスのフラグメントを 1 つのパスに結合します。 filepath.Join 関数を使用して、複数のパスのフラグメントを 1 つのパスに結合します。 Jul 24, 2023 pm 08:58 PM

複数のパスの断片を 1 つのパスに結合するには、filepath.Join 関数を使用します。Go 言語の標準ライブラリには、ファイル パスを操作するためのいくつかの関数を提供する filepath というパッケージがあります。その中でもJoin機能は、複数のパスの断片を1つのパスに結合できる非常に便利な機能です。 filepath.Join 関数は次のように定義されます。 funcJoin(elem...string) stringJoin 関数は変数パラメータを受け取ります。

C++ ではどのような場合に継承を使用し、どのような場合に合成を使用する必要がありますか? C++ ではどのような場合に継承を使用し、どのような場合に合成を使用する必要がありますか? Jun 03, 2024 am 10:33 AM

C++ では、継承を使用して「is-a」関係を確立し、インターフェイスの一貫性を確保します。また、合成は「1 つを含む」関係を確立するために使用され、柔軟性が提供されます。継承: サブクラスが基本クラスと「is-a」関係を持つ場合 (車両や車など) に使用されます。組み合わせ: コンテナ クラスとコンポーネント クラスに「contains-one」の関係がある場合に使用されます。たとえば、ゲーム内のキャラクターに武器、防御力、体力の値が含まれています。

Pythonの組み合わせエラーを解決するにはどうすればよいですか? Pythonの組み合わせエラーを解決するにはどうすればよいですか? Jun 24, 2023 pm 10:39 PM

Python の組み合わせ問題とは、与えられた要素のセットの可能なすべての組み合わせを生成する方法を指します。これは、多くのコンピューター サイエンス アプリケーションでよく発生する問題です。 Python でこの問題を解決するにはさまざまな方法がありますが、実装が間違っていると組み合わせエラーが発生する可能性があります。この記事では、Python の組み合わせエラーの問題を解決する方法を説明します。再帰関数の使用 Python では、再帰関数の使用は、多くの場合、組み合わせ問題を実装する最も一般的な方法の 1 つです。再帰関数とは、それ自体の中で自分自身を呼び出す関数です。

自律型ロボットが既知の中で最も頑丈な構造を発見 自律型ロボットが既知の中で最も頑丈な構造を発見 Sep 08, 2023 pm 03:57 PM

ロボット研究室BEARです。画像出典:ボストン大学 8月29日、英国「ニュー・サイエンティスト」誌のウェブサイトに掲載された報道によると、米国のロボット研究所が、人間の監督なしで1日50件の実験を実施できる、これまで知られている中で最も頑丈な構造を発見したという。 、機械構造を製作してテストします。最新の研究により、新物質の発見が加速されることが期待されており、関連論文がプレプリント Web サイトに投稿されています。この最新の研究で、ボストン大学の研究者らは、ベイジアン実験自律研究者(BEAR)と呼ばれる自律ロボット研究室を使用して、これまでに知られている中で最もエネルギーを吸収する材料構造を発見したと述べた。 BEAR は 5 台の 3D プリンター、スケールのセット、試験機、ロボット アーム、サンプルを移動するためのコンピューター ビジョンで構成されています

Python で順列と組み合わせを解決するアルゴリズムを作成するにはどうすればよいですか? Python で順列と組み合わせを解決するアルゴリズムを作成するにはどうすればよいですか? Sep 19, 2023 am 11:07 AM

Python で順列と組み合わせを解決するアルゴリズムを作成するにはどうすればよいですか?はじめに: 数学とコンピューター サイエンスでは、順列と組み合わせは、多くの実際的な問題の解決に役立つ一般的な数学的概念です。この記事では、Python を使用して順列および組み合わせの問題を解決するアルゴリズムを作成する方法を紹介し、具体的なコード例を示します。 1. 順列と組み合わせの定義 アルゴリズムを書き始める前に、まず順列と組み合わせの定義を理解しましょう。アレンジメント: アレンジメントとは、与えられた要素のセットからいくつかの要素を選択して配置し、組み合わせてさまざまなシーケンスを形成することです。

Go 言語でのサービスの登録と検出 Go 言語でのサービスの登録と検出 Jun 01, 2023 am 09:12 AM

マイクロサービス アーキテクチャの発展に伴い、サービスの登録と検出がますます重要になっています。 Go 言語は、その効率性の高さと並行性のパフォーマンスの高さから、マイクロサービスの開発言語として人気が高まっています。この記事では、Go 言語でサービスを登録および検索する方法を紹介します。サービスの登録と検出とは何ですか?サービスの登録と検出とは、サービス プロバイダーがそのサービスをサービス登録センターに登録し、サービス利用者が登録センターから利用可能なサービスのリストを取得して、対応するサービスを呼び出すことを意味します。サービス レジストリは別個のプロセスまたは別個にすることができます。

See all articles