狠狠撸

狠狠撸Share a Scribd company logo
回文なアナグラム




       原案?問題文:宮村
       解答:宮村、橋本
            解説:宮村
問題概要



   文字列 S が与えられる。 S のアナグラムで回文に
    なっているものの個数を求めてください。
   |S| ≦ 40
解法




   解を持たない条件は?
    奇数回出現する文字が 2 個以上存在するとき
    それ以外の場合は必ず解を持つ
解法

   個数をどうやって数える?
    後半は無視して前半がどうなるかだけを考える。
    簡単な組み合わせの計算。二項係数を用いたり、
    (|S|/2)! / (Π (n[c]/2)!)
    ( ただし、 n[c] は S に文字 c が何回表れるか )
    を用いたり。計算量は O(|S|) 。
   64bit 整数を使えばオーバーフローとか気にせず計
    算できます。
解答例

   宮村: C
    37 行 501 byte


   橋本: Java
    32 行 632 byte

More Related Content

What's hot (20)

AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
?
【第34回数学カフェの予习会#1】微分と代数学のつながり
【第34回数学カフェの予习会#1】微分と代数学のつながり【第34回数学カフェの予习会#1】微分と代数学のつながり
【第34回数学カフェの予习会#1】微分と代数学のつながり
MathCafe
?
AtCoder Beginner Contest 014 解説
AtCoder Beginner Contest 014 解説AtCoder Beginner Contest 014 解説
AtCoder Beginner Contest 014 解説
AtCoder Inc.
?
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説
AtCoder Inc.
?
第33回数学カフェ予習会#1 線形空間?射影空間の定義
第33回数学カフェ予習会#1 線形空間?射影空間の定義第33回数学カフェ予習会#1 線形空間?射影空間の定義
第33回数学カフェ予習会#1 線形空間?射影空間の定義
MathCafe
?
ソート
ソートソート
ソート
Atelier Frameworks
?
abc027
abc027abc027
abc027
AtCoder Inc.
?
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説
AtCoder Inc.
?
Sengoku
SengokuSengoku
Sengoku
Hirotaka Isa
?
20140914冲曲面上の「直线」と「最短线」
20140914冲曲面上の「直线」と「最短线」20140914冲曲面上の「直线」と「最短线」
20140914冲曲面上の「直线」と「最短线」
matsumoring
?
20150522冲つながり方?まがり方?大きさ
20150522冲つながり方?まがり方?大きさ20150522冲つながり方?まがり方?大きさ
20150522冲つながり方?まがり方?大きさ
matsumoring
?
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説
AtCoder Inc.
?
高认数学 第1回 式の计算
高认数学 第1回 式の计算高认数学 第1回 式の计算
高认数学 第1回 式の计算
yanai_compass
?
相関係数と决定係数~回帰係数とその不偏性も
相関係数と决定係数~回帰係数とその不偏性も相関係数と决定係数~回帰係数とその不偏性も
相関係数と决定係数~回帰係数とその不偏性も
T T
?
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1
T2C_
?
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
AtCoder Inc.
?
双曲平面のモデルと初等几何
双曲平面のモデルと初等几何双曲平面のモデルと初等几何
双曲平面のモデルと初等几何
matsumoring
?
AI course report part 1(Fix)
AI course report part 1(Fix)AI course report part 1(Fix)
AI course report part 1(Fix)
hisa2
?
AI course report part 1
AI course report part 1AI course report part 1
AI course report part 1
hisa2
?
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
?
【第34回数学カフェの予习会#1】微分と代数学のつながり
【第34回数学カフェの予习会#1】微分と代数学のつながり【第34回数学カフェの予习会#1】微分と代数学のつながり
【第34回数学カフェの予习会#1】微分と代数学のつながり
MathCafe
?
AtCoder Beginner Contest 014 解説
AtCoder Beginner Contest 014 解説AtCoder Beginner Contest 014 解説
AtCoder Beginner Contest 014 解説
AtCoder Inc.
?
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説
AtCoder Inc.
?
第33回数学カフェ予習会#1 線形空間?射影空間の定義
第33回数学カフェ予習会#1 線形空間?射影空間の定義第33回数学カフェ予習会#1 線形空間?射影空間の定義
第33回数学カフェ予習会#1 線形空間?射影空間の定義
MathCafe
?
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説
AtCoder Inc.
?
20140914冲曲面上の「直线」と「最短线」
20140914冲曲面上の「直线」と「最短线」20140914冲曲面上の「直线」と「最短线」
20140914冲曲面上の「直线」と「最短线」
matsumoring
?
20150522冲つながり方?まがり方?大きさ
20150522冲つながり方?まがり方?大きさ20150522冲つながり方?まがり方?大きさ
20150522冲つながり方?まがり方?大きさ
matsumoring
?
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説
AtCoder Inc.
?
高认数学 第1回 式の计算
高认数学 第1回 式の计算高认数学 第1回 式の计算
高认数学 第1回 式の计算
yanai_compass
?
相関係数と决定係数~回帰係数とその不偏性も
相関係数と决定係数~回帰係数とその不偏性も相関係数と决定係数~回帰係数とその不偏性も
相関係数と决定係数~回帰係数とその不偏性も
T T
?
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1
T2C_
?
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
AtCoder Inc.
?
双曲平面のモデルと初等几何
双曲平面のモデルと初等几何双曲平面のモデルと初等几何
双曲平面のモデルと初等几何
matsumoring
?
AI course report part 1(Fix)
AI course report part 1(Fix)AI course report part 1(Fix)
AI course report part 1(Fix)
hisa2
?
AI course report part 1
AI course report part 1AI course report part 1
AI course report part 1
hisa2
?

More from oupc (20)

Comment
CommentComment
Comment
oupc
?
Magical
MagicalMagical
Magical
oupc
?
Replace
ReplaceReplace
Replace
oupc
?
Sanpo
SanpoSanpo
Sanpo
oupc
?
Paren
ParenParen
Paren
oupc
?
Palin
PalinPalin
Palin
oupc
?
Sharp2sat
Sharp2satSharp2sat
Sharp2sat
oupc
?
Segpair
SegpairSegpair
Segpair
oupc
?
Permutation
PermutationPermutation
Permutation
oupc
?
Knapsack
KnapsackKnapsack
Knapsack
oupc
?
Four op
Four opFour op
Four op
oupc
?
Comment
CommentComment
Comment
oupc
?
Magical
MagicalMagical
Magical
oupc
?
Replace
ReplaceReplace
Replace
oupc
?
Sanpo
SanpoSanpo
Sanpo
oupc
?
Paren
ParenParen
Paren
oupc
?
Palin
PalinPalin
Palin
oupc
?
Sharp2sat
Sharp2satSharp2sat
Sharp2sat
oupc
?
Segpair
SegpairSegpair
Segpair
oupc
?
Permutation
PermutationPermutation
Permutation
oupc
?
Knapsack
KnapsackKnapsack
Knapsack
oupc
?
Four op
Four opFour op
Four op
oupc
?

Anagram

  • 1. 回文なアナグラム  原案?問題文:宮村  解答:宮村、橋本  解説:宮村
  • 2. 問題概要  文字列 S が与えられる。 S のアナグラムで回文に なっているものの個数を求めてください。  |S| ≦ 40
  • 3. 解法  解を持たない条件は? 奇数回出現する文字が 2 個以上存在するとき それ以外の場合は必ず解を持つ
  • 4. 解法  個数をどうやって数える? 後半は無視して前半がどうなるかだけを考える。 簡単な組み合わせの計算。二項係数を用いたり、 (|S|/2)! / (Π (n[c]/2)!) ( ただし、 n[c] は S に文字 c が何回表れるか ) を用いたり。計算量は O(|S|) 。  64bit 整数を使えばオーバーフローとか気にせず計 算できます。
  • 5. 解答例  宮村: C 37 行 501 byte  橋本: Java 32 行 632 byte