[白駿1062]教え
1603 ワード
マイロジック
に教える
これは難しい問題だ.私はビットマスクでそれを解いたが、ビットマスクの使い方は熟練していない.小さなミスで多くの時間を費やしたからだ.
まずコードを見てみましょう
これは26文字で、k種類の場合の数字を選択する問題です.
全てのビットが0である場合、kビットに対して(1<&~(1<anta、ticaは無条件に含まれるため、この2つの文字列が共通に持つ文字は含まなければならない.
したがって,まずすべてのビットが0のmask変数を宣言し,anta,ticaに含まれるアルファベットのビットを開く.
mask|=(1<<文字–a)
1~(1<26)種の場合のビット数がbit&mask=maskであれば、bitはmaskに含まれるすべてのアルファベットを含む.そして降りてint cnt=0;
for(int i=0; i<26; ++i){
if(bit & (1<<i)) cnt += 1;
}
if(cnt != k ) continue;
このコードで発生したエラーは最も時間の無駄です.
bitで開くアルファベットはk個でなければならないので、これは1桁の論理であり、bitは1から和
ビット切替(1<ビットが1から(for(int bit=1...)ビットが0の場合、すべてのビットが0に設定されている場合、k<5|k=26の場合に処理されます.k=0がbit=0を表す場合、それ以外はbitが1以上を表す.
bitのあるforゲートは回転時に5<=k<26であり、bitは1より大きくなければならないため、bitの開始は1である.
しかもbit=0がないと思った場合は0でも大丈夫と書いてあります逆に、k=0でエラー処理を行わない場合は、k=0から、サンプルコードが正しくても、コードをコミットする際にエラー処理を行う可能性があります.
つまりbit=1で始まり、うっかりビットを切り替えても1<<1から始まります.
(1<0)は、ビット1を切換えずに1の位置に置くことを意味し、この問題では、1番目のビットが開いているか否かを計算する論理である.
最初のビットは計算されず、別のビットが計算されるため、最後の例の正解は常に4である.つまりk個を倒すということで、実質的にk+1個を倒すことになります.
したがって,(1<
Reference
この問題について([白駿1062]教え), 我々は、より多くの情報をここで見つけました
https://velog.io/@wlgns2223/백준-1062-가르침
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
したがって,まずすべてのビットが0のmask変数を宣言し,anta,ticaに含まれるアルファベットのビットを開く.
mask|=(1<<文字–a)
1~(1<26)種の場合のビット数がbit&mask=maskであれば、bitはmaskに含まれるすべてのアルファベットを含む.そして降りて
int cnt=0;
for(int i=0; i<26; ++i){
if(bit & (1<<i)) cnt += 1;
}
if(cnt != k ) continue;
このコードで発生したエラーは最も時間の無駄です.bitで開くアルファベットはk個でなければならないので、これは1桁の論理であり、bitは1から和
ビット切替(1<ビットが1から(for(int bit=1...)ビットが0の場合、すべてのビットが0に設定されている場合、k<5|k=26の場合に処理されます.k=0がbit=0を表す場合、それ以外はbitが1以上を表す.
bitのあるforゲートは回転時に5<=k<26であり、bitは1より大きくなければならないため、bitの開始は1である.
しかもbit=0がないと思った場合は0でも大丈夫と書いてあります逆に、k=0でエラー処理を行わない場合は、k=0から、サンプルコードが正しくても、コードをコミットする際にエラー処理を行う可能性があります.
つまりbit=1で始まり、うっかりビットを切り替えても1<<1から始まります.
(1<0)は、ビット1を切換えずに1の位置に置くことを意味し、この問題では、1番目のビットが開いているか否かを計算する論理である.
最初のビットは計算されず、別のビットが計算されるため、最後の例の正解は常に4である.つまりk個を倒すということで、実質的にk+1個を倒すことになります.
したがって,(1<
Reference
この問題について([白駿1062]教え), 我々は、より多くの情報をここで見つけました https://velog.io/@wlgns2223/백준-1062-가르침テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol