Entries

スポンサーサイト (この記事を編集する[管理者用])

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/522-78037046
この記事にトラックバックする(FC2ブログユーザー)

UVa 11651 - Krypton Number System (この記事を編集する[管理者用])

Source
Once Again! A Bangladeshi Contest (2009-08-22) (blog)
UVa 11651

問題概要
b進数で,隣り合う数字は異なっていて,最初は0から始まらなくて,隣り合う数字の差の2乗和がsとなる数字はいくつあるかをmod 2^32で求める問題.
bは2以上6以下,sは10^9以下.

解法
行列べき乗.
ただし,何も考えずに行列作ると,サイズが b*(b-1)^2 となって,最大で150になってしまってTLE.
最後の桁を考えているとき,0とb-1は同じように思える,といった対称性を使うとサイズが半分ぐらい( (b+1)/2 (b-1)^2 )になって通る.

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/522-78037046
この記事にトラックバックする(FC2ブログユーザー)

Appendix

Recent Articles

ブログ内検索

Ads


(プライバシーポリシー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。