CCF素晴らしい賛辞Xianxiang
*以下のタイトルの戦いは、私は重要な要素だと思いれます
コンピュータ上のI、
(A)コンピュータの構成
ハードウェアコンポーネント:
1.コントローラ(制御)制御情報の機能は、その要求、スケジューラ、データ、アドレス、ワークと連携コンピューターのメモリと周辺装置の各部分に応じて制御され、所定のプログラムを解釈し、コンピュータの全体の中枢神経系でありますアクセスの。
2.オペレータ(データパス):算術関数、すなわち、データ処理、データの様々な算術および論理演算です。
3.メモリ(メモリ)メモリの機能は、プログラムや各種データ信号を記憶するコマンド情報を、そして必要なときにこの情報を提供することです。
4.入力(入力システム):入力装置は、周辺アクションと呼ばれるコンピュータの重要な部分、一緒に外部デバイスと呼ば入力装置と出力装置であり、プログラムの入力装置は、元のデータ、テキスト、文字、または制御コマンドでありますフィールドデータは、コンピュータに情報を取得しました。一般的な入力デバイスは、キーボード、マウス、光入力、テープドライブ、ディスクドライブ、CD-ROMのマシンを持っています。
5.出力(出力システム):入力デバイスと出力デバイスは、コンピュータの重要な部分であり、それは中間結果又はコンピュータの最終結果の外側に情報を出力し、機械内部のデータシンボルとテキストや各種制御信号の各種アウト。一般にマイコン出力装置CRTディスプレイターミナル、プリンタ、レーザープリンタ、プロッタ、磁気テープ、CD-ROMドライブ等。
[CPU(中央処理装置)+ =オペレータ制御レジスタ+
= +メモリ内部メモリ、外部メモリ]
BIOSは、英語の「基本入出力システム」の略語で、直訳の中国名は「基本入出力システム」です。実際には、コンピュータの基本入出力システム設定情報、およびスタートアップ・プロシージャからPOSTプログラムのシステムの最も重要なプログラムを保持しているマザーボード上のROMチップ内にコンピュータプログラムのセットに硬化されます。その主な機能は、下の、最も直接的に提供し、コンピュータのハードウェアの設定を制御することです。
「ランダム」ランダム・アクセス・メモリRAMは「容易にアクセス」を指し、
ハードディスク、ROM:データを格納するための停電後
ないパワーセーブデータの後:メモリ(ビデオメモリ)、RAM、CPU
プロセス指向言語:C
オブジェクトレベルの言語:C ++、Javaの
解釈されたプログラミング言語(スクリプト言語):PythonやPHP
(B)のコンピュータ開発の歴史
(参照羅バレー毎日番号45の部分のこの部分では、おかげで)
(C)各記憶部を丸めコンピュータ:
1TB = 1024ギガバイト、1ギガバイト= 1024メガバイト、1メガバイト= 1024キロバイト
1キロバイト= 1024B ,. IB(バイト)= 8ビット(ビット)
第二に、元のバイナリコード、アンチコードおよび補体
(基準の一部https://blog.csdn.net/jq_ak47/article/details/45338061のこの部分。ありがとう)
(A)元のコード
コンピュータ(例えば8ビット機)において、我々は、バイナリメモリの数に使用されていることを知っています
00000101バイナリとして、5等
それでは、どの否定を格納していますか?符号ビットの最上位ビットは、正の数は、1負0であります
そのような-5のように、バイナリ10000101あります
-6、10000110であります
それは、元のコードと呼ばれ、上記
(B)が反転
抗所定のコード表記法:元のコードと同じ正の抗コードと、負のオリジナルコードによって反転は、符号ビットを除いて、そのビット反転です。
このような図7に示すように、元のコード00000111、00000111トランスコードとして
このような-10、元のコード10001010、11110101トランスコードとして
(III)補数
自体は正、負の抗補コードプラスで補完
それが何であるかを使用補完?解決するために負の整数の加算と減算
例えば、我々は、計算16又は16-8 +( - 8)
元のコードを使用して計算された場合
0 0 0 0 1 0 0 0
1 0 0 0 0 1 0 0
--------
1 0 0 0 1 1 1 1
10001111は明らかではない、バイナリ結果-24に変換されます。
それを補完する場合は?
0 0 0 0 1 0 0 0
+ 1 1 1 1 1 1 0 0
--------
1 0 0 0 0 0 1 0 0
*、ここで8ビットがバイナリであり、バイナリ計算は9であるため、最大ビットは自動的に省略されています
この結果は、ある-8正しいです
元のコードにコードを補完するために、同一の正、負、その後反転-1にコードすることができます
三、P問題、NPおよびNPC問題に関する問題
(基準の一部http://www.matrix67.com/blog/archives/105のこの部分。ありがとう)
私は少し簡単に(あなたが忘れてしまった主な理由)、URL上記を参照してくださいと述べました
(A)P問題
各アルゴリズムは、問題の時間複雑性を有します
O(1)、O(N)、O(NlogN)、O(N 2)nは多項式の複雑さの複雑さの指標のようではありません
O(N!)、O(2 N-)及び他の非多項式の複雑さ
あなたは、問題の多項式アルゴリズムの複雑さが問題Pで見つけることができます
NOI試験シリーズほとんどの問題は、問題Pです
注意:多項式のスペースを使用して、問題が存在しない場合は、それは間違いなく問題のPクラスではありません(NOIP2012は、20個の質問の予選を改善参照)
(B)NP問題
テストの問題を解決するには、することができ、多項式の複雑さは、NP困難な問題です
注:(非Pの問題は)多項式の複雑さに対する解決策を見つけることができない限らない問題がNP
容易に入手できるNP = P. つまり、すべてのP上の問題はNP問題となっています
P = NPについては、興味を持って誰もが自分自身の(面白いボディケア)を検索するには学ぶことができます
(C)NPCの問題(NP-完全問題)
「削減」について講演します
二つの問題、課題や問題Bがあります。
アルゴリズムは、問題B問題Aを解決するために使用することができる場合、問題は問題B程度に低減することができます
例えば、1ドル方程式は二次方程式程度に短縮することができます
減少推移、すなわち、AがBにおおよそであってもよい、CにBを、次いでCに約なければならない程度とすることができ
問題を解決するために、より広くより、これまで-程度もちろん、アルゴリズムの時間計算量は徐々に増加に見られるように
太字憶測は、すべてのNPの問題は、問題にについてですができますか?私たちは、この問題は、すべてのNPの問題を解決する解決しますか?
答えはイエスです!
そして、それはちょうど問題、または問題のクラスではありません
そのような問題は、NPCの問題と呼ばれています。
2を以下の一つの問題は、それはNPCの問題です:
1は、それはNP困難な問題です
2、すべてのNPの問題は、それに還元することができ
NPCの問題は、ロジックの問題の創始者である、興味のある読者は自分自身についてを知らせることができます。
もう一つは、NP困難問題を言ったが、それの最初の問題の第二の記事はNPCを満たして満たしていません。NPCよりも問題の広い範囲。
*第四に、バイナリ変換
(A)2、4、8、16 Huzhuan一般的な方法:
例としてオクタルバイナリRPM
表には、最初に記載されています:
オクタル |
進数 |
0 |
000 |
1 |
001 |
2 |
010 |
3 |
011 |
4 |
100 |
5 |
101 |
6 |
110 |
7 |
111 |
VIIIへII:
たとえば、次のように10,010,011.1011
2 ^ 3 = 8
したがって、の使用3ボンディング方法。整数部分は、最大最上位ビット0の前に、3ビットの倍数でない場合、0の終了時の小数部分、場合、3桁の倍数ではありません。境界として小数点続いて、左から右に整数部及び変換の小数部分です。
上表制御011.101 10 010 100
2 2 3。5 4
そう(10,010,011.1011)2 =(223.54)8
八ターン2:
同様に、の三分の一フランス
例えば:7643
7643上記の比較表
111 110 100 011
注:六角六角等、Aはそう、10、B 11の代表を表します
(B)ターン10と10の回転二つに
XへII:ビット* 2 ^ 0、2 ^ 1 * 10、百* 2 ^ 2 ......場合小数、-1十分位数* 2、* 2 ^ -2パーセンタイル......次いで追加オンライン
10の回転II:整数部分:商がゼロになるまで、常に2で割った余りの様々な段階を降ろすために
小数部:連続1の内部容積、各ステージの整数まで、2を乗じZhengqu
バイナリ変換10.25
10÷2 = 5 ...... 0
5÷2 = 2 ...... 1
2÷2 = 1 ...... 0
1÷2 = 0 ...... 1
後方整数部1010つまり、残りを取ります
0.25 * 2 = 0.5 ...... 0
0.5 * 2 = 1 ...... 1
丸みを帯びたポジティブで、それは、小数部分0.01であります
2つの部分は、10.25 =(1010.01)を得た2
(C)その他
他の2 ^ nがバイナリに変換10進バイナリとして形質転換し、次いで10進数に変換されます。
同様に彼らの10進数に変換。
**ファイブ、ソートアルゴリズム
基本的には、毎年義務です!
(参照http://blog.csdn.net/whuslei/article/details/6442755/とhttps://blog.csdn.net/xiazdong/article/details/8462393の部分のこの部分。ありがとう)
ナインアルゴリズム:(プラスバケットソートをソートすることは10です)
カウント配列決定O(N + K)O(N + K)O(N + K)O(N + K)単純安定
2つの数の相対的な位置を変更しない値と同じ種類を参照してくださいする前と後のソートアルゴリズムは、安定しています
安定性:プラグ、リターン、実行、グループ、すなわち、
不安定:高速、ヒープ、希望、選挙
追加スペースの必要性:行く、グループ、カウント数
追加のスペースない:プラグ、ギリシャ、実行して、高速で、ヒープ、選挙
分割統治のアイデアを使用します。速く行きます
時間計算量はO(NlogN)である:ヒープ、速い、決勝で(ヒルソート時間複雑選択肢の増加に依存し、ここでは説明しません)
最も遅いは、O(nは2から選ばれる、プラグ、速く走ります。)
最速は、O(N)である:プラグは、(改善後)を取ります
同じ最速最も遅い:、、選挙を(何の改善も)取らないヒープ、行く、グループ、カウントします
注意:近年では、被験者はより多くの「ライブ」、およびない丸暗記!
例:(NOIP2017上昇群)
11.レッツA及びBは、長さnの2つの規則正しい配列であり、A及びBは現在、少なくとも最悪の場合を計算するマージアルゴリズムの基本的な要素として、任意の比較を聞いて行う、ソートされた配列行にマージする必要があります(比較例)倍。
[黒疑問符.JPG]
答え:2N-1
第六に、時間と空間の複雑さ
(A)時間計算
(参照https://www.luogu.org/blog/Chanis/masterの部分のこの部分。ありがとう)
表の2行目は奇妙なもので、それを無視しないでください
予備的には、多くの場合、タイムコードの複雑さを計算します。慎重に再帰関数のために考えるようにしてください
(B)空間的複雑
(参照https://blog.csdn.net/shiwei408/article/details/7280296?utm_source=copy。おかげでの一部のこの部分)
長い長い、長い32ビットシステム、INT、 __ Int64のバイト数(B)によって占有
チャー:. 1バイト(8ビット)
の範囲のint :. 4バイト(32ビット、-2 ^ 31 31 ^ 2 -1)
の範囲内のunsigned int型:. 4バイト(32ビット、2 ^ 32-1〜0)
ロング:. 4バイト(32ビット、31が範囲内にある〜^ 2 ^ -2 31-1)
unsigned long型: 4バイト(32ビット、範囲内の2 ^ 32-1〜0)
ロングロング:. 8バイト(範囲では64ビット、-2 ^ 63 ^ 63-1〜2)
7ビットの算術論理演算
(A)ビット単位
ビットAND:&
ビットごとのOR:|
ビットごとのXOR:^
ビット単位:〜(小数点のために、逆にマイナス数を取ります)
左:<<
右:>>
*優先度: - より大きい>>、<<&^より大きいより大きくより大きい|よりも大きい&=、^ =、| =、<< =、>> =
(ii)の論理演算
「∨」を表す「または」(論理和)
「∧」を表す「と。」(論理積)
「┐」「非」を意味する。(論理否定)
「⊕は、」「排他的または」を意味します
ビット単位の論理演算は、優先度よりも大きいです
そして:11〜1、他の人に0
または:00から0、1、他の
XOR:1は同じでは0で、異なっています
八のポインタ
小さなこと......しかし混乱!
int型; //変数を定義
int型* P; //ポインタを定義します
* p =&; //アドレスへのポインタpを取得する(アドレスp)
COUT << * P; //出力値のアドレス(* P値です)
例:NOIP2015グループ24タイトルを改善
#include <iostreamの>
使用して名前空間STD;
ボイド楽しい(チャー*、チャー*のB){
A = B; // Aは、アドレスC2となります。ポインタのみを変化させる、定数、ポインタ=アドレスポインタの値はなお、
(* A)++; // +1(C2)の値のアドレス}
int型のmain(){ char型C1、C2、P1 * * P2; C1 = '' ; C2 = '' ; P1 =&C1; // P1はC1 P2 =&C2のアドレスである; // p2は楽しいC2(P1、P2)のアドレスである; //( NOIP の関数呼び出しの場合は楽しい......)coutの<< C1 << C2 <<てendl; // 0出力抗体を返します;}
*ナイン、グラフ理論(少し話)
グラフ理論は非常に重要な、ボードはバックバックを必要とします
ここでは単にいくつかの概念のです
(A)無向グラフ
図の完全な:N点、N(N-1)/ 2のエッジ(正確頂点の各対の間に接続されたエッジがあります)
ツリー:n個の点、N-1(頂点のすべての対の間で、唯一の経路を有する、非環式)エッジ
ポイントをカット:この時点で通信していない後に図を削除
エッジ(ブリッジ)を切断する:エッジグラフを削除した後に接続されていません
二重通信で:点は、無向グラフを切断しません
両面通信:図いいえ切刃(ブリッジ)。
デュアル通信コンポーネント:通信のビス大きなサブグラフ(両面二重成分ユニコムで割った通信コンポーネント)
図(B)。
強力な通信:Uは、UのV、UおよびVが強く接続すると言われていることができるかどうか有向グラフGには、Vすることができるようにします
強力なグラフがすべて強くグラフGの任意の2つのノードに接続されている場合、強連結グラフGと呼ばれています
強連結成分:強くグラフに接続されていない接続されたサブグラフで最大強度、強連結成分をいいます
DAG:非循環有向グラフ
図面の強連結成分が存在することになる点に縮小され、その後、画像がDAGを形成します
トポロジカルソートはDAGにのみ適用されます
テン、コンピュータ賞
1966年にACMによって確立されたチューリング賞(AMチューリング賞受賞)
これは、コンピュータ業界で最も権威のある、最高賞である、「コンピュータ業界のノーベル賞は、」言いました
コンピュータ業界に多大な貢献をしたそれらの個人に報酬を与えます
現在、2000年チューリング賞を受賞八尾で唯一の中国の学者
••ジョン・フォン・ノイマン賞は、1990年にIEEE(電気電子学会)によって設立されました
コンピュータ科学と技術における優れた業績の認識で科学者
クヌース賞(ドナルド・E.クヌース賞)は、五年ごとに授与され、1996年に始まりました
譲与者は、コンピュータのための科学的根拠に顕著な貢献をしました
......
2147483647、ちんぷんかんぷん
(A)関連決議で国際情報オリンピック(IOI)によると、アカウントにプログラミング言語の中国の現在の状況を取って、CCFは決まっ:以降1 2020、冬のキャンプ、CTSC、APIO含むNOIPに加えて、他のイベント(のNOIシリーズ、NOIは)もはやPascalとC言語をサポートしていません。2. 2022年から、NOIPの競争はもはやパスカル言語をサポートします。それはNOIP2022最初から、すべてのイベントのNOIシリーズは完全にパスカルにキャンセルされます、です。新しいプログラミング言語の事情がない場合には、NOIP2022の初めからイベントのNOIシリーズのみC ++言語をサポートしています。(NOIP2017は、グループ最初の質問を向上させます)
(B)IPアドレスは32ビットのバイナリ数であり、それは一般的に分割されている4つの「8ビットの2進数」(すなわち4バイト)。IPアドレスは、典型的には、「ドット十進」、B、C、Dは前記(ABCD)形態、として表され、0から255の間の10進整数を。例:ドット付き10進表記のIPアドレス(100.4.5.6)は、実際には32ビットのバイナリ数(01100100.00000100.00000101.00000110)です。
(C)ハフマン符号化は、貪欲な思考を使用しています。この方法は完全に最短プレフィックス符号語を構築するために異なる文字の平均長の発生確率に基づいています。非リーフノードの数より1つ多いリーフノードハフマン木の数。
(4)コンパイラのソースコードの主な機能は、命令に翻訳されます
(E)は、文字列は、必ずしも連続したサブシーケンスの連続ではなく、
この記事のネットワークセクションから写真
転載の場合は、https://www.cnblogs.com/llllllpppppp/p/9749930.htmlを明記してください