SlideShare a Scribd company logo
Bit Map




       writer : komiya
       tester : tomerun
問題概要

   ビット演算を用いて定義された写像が与えられるの
    で、 50 文字以下に縮めてください。
着眼点

   ビット演算は and, or, xor だけで、各ビットは互いに
    干渉せず全て独立である。
   したがって、関数 f を表現するには f(0) と f(~0) の
    値が分かれば十分。
解の構成

   各ビット毎に、 0 と 1 の行き先の組み合わせはたか
    だか 4 通り。
   (0, 1) → (0, 0) なら and を噛ませる。
    (0, 1) → (0, 1) ならなにもしない。
    (0, 1) → (1, 0) なら xor を噛ませる。
    (0, 1) → (1, 1) なら or を噛ませる。
   結局、任意の関数は次の形で書ける。
    f(x)=(((x|a)^b)&c)
構文解析

   今回は特にスタックオーバーフローの心配もないの
    で、再帰下降構文解析器などで楽にかけます。
注意点

   f^n(x) を計算する時は、定義どおりに計算すると
    O(n) かかり TLE するので、何らかの方法で高速化
    する必要がある。
TLE 回避 (1)

   関数の合成は単位元 ( 恒等関数 ) をもち、結合法
    則を満たす。
   したがって、バイナリ法 ( 繰り返し二乗法 ) を用いる
    ことができる。
   バイナリ法を用いると f^n(x) は O(log n) で計算で
    きる。
TLE 回避 (2)

   各ビット毎への作用を考えると、 and, or, xor の
    どれかを繰り返しているだけ。
   and や or 演算を繰り返すことに意味はない。
   xor 演算は偶数回作用させたか奇数回作用された
    かだけ調べれば良い。
TLE 回避 (2)

   なので、
     f^( 奇数 ) = f
     f^( 偶数 ) = f^2
    となる。
   ただし、 f^0 の場合は例外なので注意。

More Related Content

PDF
代数トポロジー入門
PDF
とぽろじー入門(画像なし版)
PDF
最適化の手前の数学
PPTX
Introduction to Topological Data Analysis
PDF
ロマ数16 simizut
PDF
topology of musical data
PDF
Vinculum
PDF
introductino to persistent homology and topological data analysis
代数トポロジー入門
とぽろじー入門(画像なし版)
最適化の手前の数学
Introduction to Topological Data Analysis
ロマ数16 simizut
topology of musical data
Vinculum
introductino to persistent homology and topological data analysis

What's hot (20)

PDF
変分法
PDF
Ninja of Train
PDF
情報幾何の基礎輪読会 #1
PPTX
しかくのお勉強
PPT
言語処理系入門3
PPTX
Introduction to Persistence Theory
PPTX
Practical topology
PPT
言語処理系入門€2
PDF
Thomas-Fermi方程式のFEMによる解法
PPTX
Operad and Recognition Principle
PDF
Prml 4.3.5
PDF
Palin
PDF
X hago2 shortcoding 20110827
PDF
PRML 第4章
PDF
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PDF
C++によるソート入門
PDF
Ikeph 1-appendix
PDF
2015年度春学期 画像情報処理 第14回 逆投影法による再構成
PDF
私を SKI に連れてって
変分法
Ninja of Train
情報幾何の基礎輪読会 #1
しかくのお勉強
言語処理系入門3
Introduction to Persistence Theory
Practical topology
言語処理系入門€2
Thomas-Fermi方程式のFEMによる解法
Operad and Recognition Principle
Prml 4.3.5
Palin
X hago2 shortcoding 20110827
PRML 第4章
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
C++によるソート入門
Ikeph 1-appendix
2015年度春学期 画像情報処理 第14回 逆投影法による再構成
私を SKI に連れてって
Ad

Viewers also liked (8)

PPTX
Blended learning (ell) in low resource settings
PPTX
The art and practice of effective presentations
PPT
Isaeva & wagner
PDF
Match
PDF
Cards
PDF
Mastermind
PDF
U・N・C・O
PPTX
The art and practice of effective presentations 1b
Blended learning (ell) in low resource settings
The art and practice of effective presentations
Isaeva & wagner
Match
Cards
Mastermind
U・N・C・O
The art and practice of effective presentations 1b
Ad

Bitmap

  • 1. Bit Map  writer : komiya  tester : tomerun
  • 2. 問題概要  ビット演算を用いて定義された写像が与えられるの で、 50 文字以下に縮めてください。
  • 3. 着眼点  ビット演算は and, or, xor だけで、各ビットは互いに 干渉せず全て独立である。  したがって、関数 f を表現するには f(0) と f(~0) の 値が分かれば十分。
  • 4. 解の構成  各ビット毎に、 0 と 1 の行き先の組み合わせはたか だか 4 通り。  (0, 1) → (0, 0) なら and を噛ませる。 (0, 1) → (0, 1) ならなにもしない。 (0, 1) → (1, 0) なら xor を噛ませる。 (0, 1) → (1, 1) なら or を噛ませる。  結局、任意の関数は次の形で書ける。 f(x)=(((x|a)^b)&c)
  • 5. 構文解析  今回は特にスタックオーバーフローの心配もないの で、再帰下降構文解析器などで楽にかけます。
  • 6. 注意点  f^n(x) を計算する時は、定義どおりに計算すると O(n) かかり TLE するので、何らかの方法で高速化 する必要がある。
  • 7. TLE 回避 (1)  関数の合成は単位元 ( 恒等関数 ) をもち、結合法 則を満たす。  したがって、バイナリ法 ( 繰り返し二乗法 ) を用いる ことができる。  バイナリ法を用いると f^n(x) は O(log n) で計算で きる。
  • 8. TLE 回避 (2)  各ビット毎への作用を考えると、 and, or, xor の どれかを繰り返しているだけ。  and や or 演算を繰り返すことに意味はない。  xor 演算は偶数回作用させたか奇数回作用された かだけ調べれば良い。
  • 9. TLE 回避 (2)  なので、 f^( 奇数 ) = f f^( 偶数 ) = f^2 となる。  ただし、 f^0 の場合は例外なので注意。