まっつーのブログ

本の感想や振り返りなど雑多に書いてます

2021-09-01から1ヶ月間の記事一覧

競プロ典型90問 048(★3) 貪欲法

048 - I will not drop out(★3) 問題 N 問, K 分間, 満点 A 点, 部分点 B 点(部分点は満点未満, 半分より大きい) つまり を満たす。 1分で部分点, 2分で満点が取れる。 K 分間で得られる最大得点を求める。 解法 得点方法は2パターン。 B 点取る or B 点取…

植山類さん講演会

植山類さんの講演会に参加してきました。 植山さんは、高速なリンカlldのオリジナル作者かつ現メンテナで、Cコンパイラ8ccの作者でもあります。 そのため今回は特にリンカについて詳しく教えていただきました。 リンカの役割から動的リンクの仕組みまで前提…

第5章 プログラム性能の最適化

プログラムの最適化 最適化コンパイラ コードレベルの最適化 スーパースカラ 投機実行 レジスタ関連 ループ・アンローリング 条件付き移動 write/read依存 性能向上の4つのテクニック 感想 5章について この章では、コードの性能を向上させる数多くのテクニッ…

競プロ典型90問 046(★3) 組合せの問題

046 - I Love 46(★3) 問題 3つの長さ N の数列 A, B, C が与えられる。 が46の倍数となるの選び方の総数を求める。 解法 3つの数列が最大105と制約が厳しいため全探索ではTLEになってしまう。 そのため、最初にmodを取ることで、0〜45の46種類に絞る。 463…

第4章 プロセッサ・アーキテクチャ

ISA(命令セット・アーキテクチャ) プログラマ・ビジブルって? ハードウェア設計 レジスタファイル シーケンシャルなプロセッサ(SEQ) 処理ステージの説明 パイプライン処理 効率低下の要因 パイプライン・ハザードとは? 例外処理 感想 4章について この章では…

競プロ典型90問 038(★3) オーバーフロー

038 - Large LCM(★3) 問題 A, Bの最小公倍数を求める。 を超える場合は Large と出力する。 解法 最小公倍数は で表される。 そのまま計算すると でオーバーフローすることがあるので、式を変換する。 であれば が成り立つので正しく答えが求まる。 ちなみ…

第3章 プログラムのマシン・レベルの表現

高水準言語と低水準言語 マシン・レベル・コード 符号拡張 データ移動 ジャンプ命令 データ転送と制御転送 プロシージャ ポインタ演算 配列の格納 構造体と共用体 アラインメント制約 バッファ・オーバーフロー セキュリティ対策 感想 3章について この章では、…