オイラー回路の使用&&http://acm.hdu.edu.cn/showproblem.php?pid=3018
オイラー回路の応用&&http://acm.hdu.edu.cn/showproblem.php?pid=3018
質問: 絵を与えて、その絵を完成させるための最小ストローク数を尋ねます。孤立点の場合
#include<cstdio> #include<string.h> #include<vector> #include<string> #define N 100005 #include<algorithm> #include<iostream> using namespace std; int Father[N]; vector<int>a;//记录根节点,其长度为连通分支的个数 int in[N]; int num[N];//每个连通分支奇度顶点的个数。 bool Hash[N]; int n,m; void init() { memset(num,0,sizeof(num)); for(int i=1;i<=n;++i) Father[i]=i; memset(in,0,sizeof(in)); memset(Hash,false,sizeof(Hash)); a.clear(); } int Find(int x) { if(x==Father[x]) return x; return Father[x]=Find(Father[x]); } void Union(int x,int y) { x=Find(x); y=Find(y); if(x!=y) Father[x]=y; } int main() { while(~scanf("%d%d",&n,&m)) { init(); for(int i=0;i!=m;++i) { int a,b; scanf("%d%d",&a,&b); Union(a,b); in[a]++; in[b]++; } int res=0; for(int i=1;i<=n;++i) { int k=Find(i); if(!Hash[k]) { Hash[k]=true; a.push_back(k); } if(in[i]&1) num[k]++; } for(int i=0;i<a.size();++i) { int k=a[i]; if(!in[k]) continue; if(num[k]==0) res++; else res+=num[k]/2; } printf("%d\n",res); }return 0; }

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

PHPでint型をbyte型に変換する方法を詳しく解説 PHPでは、ネットワークデータ送信やファイル処理、暗号化アルゴリズムなどを扱う場合など、整数型(int)をバイト型(Byte)に変換する必要が生じることがよくあります。 。この記事では、int型をbyte型に変換する方法と具体的なコード例を詳しく紹介します。 1. int 型と byte の関係 コンピュータ分野では、基本データ型 int は整数を表しますが、byte (バイト) はコンピュータの記憶単位で、通常は 8 ビットのバイナリデータです

C++ では、int 型の変数は正または負の整数値のみを保持でき、10 進数値を保持できません。この目的に使用できる float 値と double 値があります。 double データ型は、小数点以下 7 桁までの小数を格納するために作成されました。整数から double データ型への変換は、コンパイラによって自動的に実行することも (「暗黙的」変換と呼ばれます)、プログラマがコンパイラに明示的に要求することもできます (「明示的」変換と呼ばれます)。次のセクションでは、さまざまな変換方法について説明します。暗黙的な変換 コンパイラは暗黙的な型変換を自動的に実行します。これを実現するには、浮動小数点型と整数型の 2 つの変数が必要です。浮動小数点値または変数を整数変数に代入するだけでは、コンパイラが他のすべてのことを処理します。

PHP を使用して Web ページを作成する場合、他の PHP ファイルのコードを現在の PHP ファイルに含める必要がある場合があります。現時点では、include 関数または include_once 関数を使用してファイルのインクルードを実装できます。では、include と include_once の違いは何でしょうか?

int32 の値の範囲は、-2 の 31 乗から 2 の 31 乗 - 1、つまり -2147483648 ~ 2147483647 です。 int32 は符号付き整数型です。つまり、正の数、負の数、ゼロを表現できます。1 ビットを符号ビットの表現に使用し、残りの 31 ビットは数値の表現に使用されます。符号ビットを表すために 1 ビットが使用されるため、int32 の有効ビット数は 31 です。

Java では、int は 32 ビットの符号付きデータ型であり、その変数には 32 ビットのメモリが必要です。int データ型の有効範囲は -2147483648 ~ 2147483647 で、この範囲内のすべての整数は整数リテラルと呼ばれます。 「int num1 = 21;」のように、整数リテラルを int 変数に割り当てることができます。

int 型が占めるバイト数は、プログラミング言語やハードウェア プラットフォームによって異なる場合があります。詳細な紹介: 1. C 言語では、int 型は通常 2 バイトまたは 4 バイトを占有します。 32 ビット システムでは、int 型は 4 バイトを占有しますが、16 ビット システムでは、int 型は 2 バイトを占有します。 64 ビット システムでは、int 型は 8 バイトを占有する可能性があります; 2. Java では、int 型は通常 4 バイトを占有しますが、Python では int 型にはバイト制限がなく、自動的に調整できます。

変換方法: 1. Itoa() 関数を使用し、構文 "strconv.Itoa(num)" 2. FormatInt() 関数を使用して、int 型データを指定した基数に変換し、文字列の形式で返します。構文「strconv .FormatInt(num,10)」。

AMPコインとは何ですか? AMP トークンは、Synereo プラットフォームの主要取引通貨として 2015 年に Synereo チームによって作成されました。 AMP トークンは、複数の機能と用途を通じてユーザーに優れたデジタル経済体験を提供することを目的としています。 AMP トークンの目的 AMP トークンには、Synereo プラットフォームで複数の役割と機能があります。まず、プラットフォームの暗号通貨報酬システムの一部として、ユーザーはコンテンツを共有および宣伝することで AMP 報酬を獲得できます。これは、ユーザーがプラットフォームのアクティビティにより積極的に参加することを促すメカニズムです。 AMP トークンは、Synereo プラットフォームでコンテンツを宣伝および配布するために使用することもできます。ユーザーは、AMP トークンを使用して、より多くの視聴者に視聴して共有してもらうことで、プラットフォーム上でのコンテンツの可視性を高めることができます。
