約 1,084,312 件
https://w.atwiki.jp/akasatanahama/pages/92.html
Mobの量が多くなりましたのでこちら側に移設しました。 現在、総計百十五体の匠が追加されています。 下位Mob +... 名称 画像 特性 ドロップ(火薬除く) ゾンビ匠 ゾンビの匠。もちろん巨匠化する。爆発に巻き込まれた村人をゾンビ匠化させるので厄介。 サイレント匠 静かに忍び寄る匠。速い。 砂匠 砂を発生させる匠。窒息注意。 水匠 水源を発生させる匠。地形破壊注意。 熔岩匠 溶岩源を発生させる匠。全ロスト注意。 発火匠 周囲に炎タイルをまき散らす匠。延焼が怖い。 氷匠 氷塊ブロック漬けにしてくる匠。こいつを利用して床に氷を引く強者もいるらしい。 エンダー匠 爆発に巻き込まれた生物をワープさせる匠。パニックにならないよう。 光匠 付近の光源ブロックを爆破する匠。改築注意。 スライム匠 キモイ。死亡時に爆発 分裂する。別名「匠式クラスター爆弾」。 スライムボール ブレイズ匠 火球を飛ばす匠。プレイヤーとの距離が近いと自爆特攻を仕掛けることもある。意外にも、ネザー要塞以外でもネザー全域でスポーンする。 ブレイズロッド 湯匠 温泉を湧かせる匠。ありがたや。 スケルトン匠 匠式強弓を使いこなし、爆発性の矢を飛ばす匠。時には死角から急襲し、時には接近して自爆特攻を仕掛ける厄介者。 匠式強弓・骨・矢 ウィザースケルトン匠 爆発時にウィザー状態にさせてくる危ないやつ。倒すと匠式宝剣を落とすため、頑張って倒したい。内部コード上ではスケルトン匠と同一モンスターであり、厳密にはウィザースケルトン匠というMobは存在しない。 匠式宝剣・骨・石炭 オブジェ匠 匠ワールドにあるオブジェを生成させるやつ。間違えて上にある匠式高性能爆弾を壊すと…… 森守匠 謎の模様の匠。匠の木を生成させる。 匠魚 匠版シルバーフィッシュ。すばしっこい体で近づき、爆発してくる。 烏賊匠 匠版のイカ。漢字で書くのは作者の趣味。イカと間違えて近づくと爆発されて危険。 イカスミ 蜘蛛匠 匠版のクモ。もちろんカベのぼりは健在。 糸・クモの目 花火匠 花火を打ち上げる匠。もちろん匠花火。わざと爆発させて花火鑑賞もいいかも。因みに、巨匠化させると花火の数も増える。 微匠 「ほほえみ」と読む。爆発に触れると回復する。優しい匠。……のは昔の話。ver 1.2より、爆発に触れて回復するのは匠だけとなった。 硝子匠 匠式硬質硝子を発生させる匠。透明で見えづらい。 グロウストーン匠 グロウストーンを発生させる匠。ネザーに生息。 石匠 ツルハシが適性ツールのブロックを爆破する匠。洞窟なんて軽く吹き飛ばす。 丸石 木匠 斧が適性ツールのブロックを爆破する匠。オークの木材が後ろにあると背景によく溶け込む。 木材 土匠 シャベルが適性ツールのブロックを爆破する匠。畑ががっつりえぐれる。 土 失匠 ワールド中のドロップアイテムを消滅させ、プレイヤーの手持ちのアイテムのスタック数を強制的に一つ減らし、挙句の果てには防具もランダムで一つ消し飛ばす。まさしく、ロストの匠。 子蜘蛛匠 蜘蛛匠の周囲にスポーンする匠。小さく素早い。 落匠 楽勝だぜ!とか言ってられない。周囲のブロックを砂利に書き換えるため、洞窟内での窒息死は必至。下位最強。 砂利 矢匠 爆発時天空から矢を降らせる。 矢 蝙蝠匠 蝙蝠型の匠。 天匠 天候を雷雨にする。 色匠 周囲のブロックの色を変える。 牛匠 牛型の匠。 ステーキ 豚匠 豚型の匠。匠の元もついに匠と化した。 焼き豚 馬匠 馬型の匠。 兎匠 兎型の匠。飛び跳ねるため攻撃が当てづらい。 1.7.10版 火薬1.8.9版 焼き兎肉 羊匠 カラフルな羊の匠。それぞれの色にあった匠式硬質羊毛を落とす。 匠式硬質羊毛 狼匠 凶暴な狼の匠。爆発と同時に、敵対した狼を召喚する。 雪守匠 スノーゴーレム型の匠。爆発時に周囲に雪玉をまき散らすが、その雪玉は……。 雪ブロック 音匠 ジュークボックス模様の匠。爆発に触れると、キチレコを流し始める。精神ダメージを多大に与える匠。 レコード C418-13 中位Mob +... 名称 画像 特性 ドロップ(火薬除く) 真化 自然匠 匠の木……ではなく、それに似た火薬岩と匠式高性能爆弾の木を生やす。危険。 爆匠 爆笑ww……とか言ってられなくなった。ピンポイント爆発の上に、爆発耐性のあるブロックがあると爆発力が上乗せされてしまうようになったのだ。匠ワールドでこいつにやられた人多数。 匠式高性能爆弾 流氷匠 氷と水の匠。最近は、低温によって周囲に雪のようなものが発生するようになった。 業火匠 ごうかたくみ。燃えてる。爆発時には熔岩を発生させる。 砂爆匠 砂と火薬岩を発生させる匠。閉じ込められたら基本的に死亡確定という、危険な匠。 ガスト匠 ガストの匠。火球の威力が強く、また自爆特攻もできる。 ガストの涙 ダイヤモンド匠 ダイヤの匠。硬い。ドロップももちろん素晴らしい。真化版のダイヤモンド匠[堂々優匠]の召喚は少々特殊で、真化の証の投与でなく、ダイヤモンドブロックの上に王匠の祭壇を置いて、祭壇を右クリック。 ダイヤモンドブロック ○ RS匠 レッドストーンの匠。速い。ドロップは当然よい。 RSブロック エメラルド匠 エメラルドの匠。デカい。ドロップは大きさに見合ったゴージャスさ。 エメラルドブロック 鋼匠 鋼の匠。小さい。ドロップは期待を裏切らない。 鉄ブロック 爆塵匠 爆塵を発生させる匠。ほかの匠との連携と化すため危険。 大砲匠 大砲を放つ匠。匠進撃ブロックにのみスポーン。防衛失敗の大きな要因の一つ。 匠式高性能爆弾 忍匠 敵がいないときは透明化して隠れ、爆発のダメージを与えるとともに、竹Modがあれば竹を生やして姿をくらます……伝説の匠。 虚無匠 きょむたくみ。周囲のブロックを消し、整地する。 ウィッチ匠 匠版ウィッチ。ポーションを投げつつ、自爆もする。厄介。 バニラのウィッチに同じ 改築ノ匠 恐ろしい村人……のような匠。光源、爆破耐性持ち、タイルエンティティ―持ち、レッドストーン関連のブロック、木材をことごとく消し飛ばす。ブロックの爆発と同時にブロックを空気に置き換えているためほんとに消し飛んでいる。まさしく、「改築」の匠。 改築の達人ロッド ○ 苦匠 くしょう。爆発しても死なない。というか爆発ダメージが一切効かない。連続攻撃注意。まさに苦しみの匠。 大地ノ匠 ゴーレム型匠。爆発により周囲の地面が隆起する上に、プレイヤーを大きく吹っ飛ばす。 ○ 暗黒ノ匠 エンダーマン型匠。ワープは健在。爆発に触れると盲目や吐き気、移動速度低下、眩暈などの症状とともにワープさせられる。超危険。 ○ 変化匠 周囲のブロックをランダムで一種類に書き換える。大惨事から超儲かる爆発まで、さまざま。 変化の達人ロッド 藝術匠 周囲のブロックをランダムで書き換える。変化匠と違って、一つ一つのブロックごとに抽選される。 変化の達人ロッド 守護匠 匠タワーにのみスポーンする、タワーを守る匠。幽霊のように透き通っており、また浮いていることもある。龍雷を操る、厄介な相手。 一文字匠 ターゲットに向けてまっすぐ爆発で切り込む匠。 十文字匠 十字の爆発で切り裂く匠。 新築ノ匠 様々な家を新築する匠。ただし、中身に期待してはいけない。 改築の達人ロッド ○ 天邪鬼匠 天邪鬼な匠。何が天邪鬼化は自分の目で確かめてみよう。匠と見た目がとても似ている。募集MOB AVA さんの作品 チャンク匠 チャンクリーパー。その名の通り、一チャンク丸々空気化させる。募集MOB トチノキ豆柴 さんの作品 導匠 爆発時に、周囲のMOBを強制的にこの匠のいたところに集結させる、厄介な匠。特に防衛中は危険。募集MOB 何かの化身 さんの作品 猫匠 匠達の天敵でさえも匠化した。猫とは逆に、匠を誘引する。また、ジャンプ力が高い。募集MOB のなめ さんの作品 鳥匠 鳥の匠。卵爆弾を落としてくる。また、いつも跳んでいるため攻撃が当たりにくい。アングリーバー(ryとか言ってはいけない。募集MOB c_9_l さんの作品 チェスト匠 チェスト形の匠。右クリックすると、アイテムが取れる。しかも、取り尽してももう一回開けるとまたとれる。ただし、もちろん爆発する。募集MOB 噛み神 さんの作品 アッパー匠 爆発にあたると、当たったものは高く飛びあがる。ひどいときには100m飛ぶ。落下死注意。募集MOB naori3595 さんの作品 ウィルス匠 匠ウィルスをまき散らす匠。このウィルスに感染した状態でダメージを食らうと、周囲にウィルスをまき散らす爆発を起こす。危険。募集MOB 虻蕎麦 さんの作品 突匠 プレイヤーを見つけると、突進してくる恐怖の匠。速すぎて残像しか見えないほど。索敵能力も極めて高く、ゾンビ匠の六倍を誇る。募集MOB tonasi_reo さんの作品 烈火匠 爆発と同時に、空高くまで飛びあがり、TNTをまき散らす。地形破壊力は中位MOBの中でも最高峰。募集MOB ふらいごん さんの作品 武匠 鳥匠に乗った匠。爆発と同時に周囲に自らと同じ装備に身を包んだゾンビ匠を召還する。 装備している防具 福匠 爆発で周囲のMOBを回復させる匠。まさに福の匠。その慈愛に満ちた行動ゆえ、倒してしまうと精神的ダメージで自分が瀕死になる。 一匠 爆発に触れたEntityのHPを1にする。 氷炎ノ匠 チュウニズムな匠。爆発時、氷柱を発生させたうえで周囲に炎をまき散らす。 ○ 匠大魚 巨大な匠魚。水中・溶岩中も抵抗を無視して進み、炎・溶岩・溺れダメージを無効化する。 寝台匠 プレイヤーが前に寝たベッドの周辺を爆破する匠。 腐匠 周囲のブロックを腐食ブロックに置き換える。地形破壊度はピカイチ。 真化ノ匠 爆発時周囲にいる匠を巨匠化のうえで真化させる。さらに、中位の真化MOBを召還する。 真化の証 ○ 巧匠 爆発に触れたMOBを匠化させる。まさに、匠の匠。 匠式高性能爆弾 エンダ―マイト匠 エンダ―マイト型の匠。爆発に触れたEntityは高いところにワープする。1.7.10でもちゃんとスポーンする。 エンダ―アイ 海守匠 ガーディアン型の匠。1.8.9では爆発レーザー、1.7.10では自爆でそれぞれ攻撃する。 1.7.10 焼き魚、生魚1.8.9 プリズマリンブロック 円匠 丸い模様が特徴の匠。爆発すると、半径25 mの円を爆発で描く拠点から離れていても、こいつには注意。 匠式高性能爆弾 獄匠 地獄からやってきたような匠。爆発に触れると、石レンガの処刑台の中に閉じ込められる。ネザーの地で、改築すら忘れスティーブを倒すことのみを目的とする匠。 腐豚匠 ゾンビピッグマン型の匠。爆発に触れると、周囲のゾンビピッグマンが一斉に襲い掛かってくる。 金ブロック 上位Mob +... 名称 画像 特性 ドロップ(火薬除く) 真化 雷匠 爆発時に雷を落とす。これまでならまだいいのだが、巨匠化してないと巨匠化して復活するという、エ●ルさんもびっくりの技をなす。攻撃の速さ、正確さが問われる。 かみなりのいし ○ 王覇錬匠 旧「オファレン匠」。Tom Kateが赤砂蛇凪浜さんに、「こっちのほうがかっこいいかと」とか言って名前を勝手に変更した。本爆発前に二回ブロック破壊のない爆発を起こす。間合いが大切。間合いと敵を見つける目が問われる。 匠のオファレン ○ ジャイアント匠 巨大なゾンビ匠。もちろん爆発も巨大。攻撃の火力と勇気が問われる。 匠式弩砲 TNT匠 TNTを発生させる匠。その破壊力は、ジャイアント匠に匹敵する。TNTを処理する冷静さとテクニックが問われる。 TNT匠式高性能爆弾 ○ ゆかり匠 満を持して登場したあの匠。能力は、戦ってみてのお楽しみ。伝説級の破壊力に対応する精神力と知恵が問われる。 ゆかり式高性能爆弾 希匠 幻の匠。周囲にいるエンティティーをすべて爆破する。超デカい。幻の力に対応する速度と回避力が問われる。 各種鉱石ブロック ○ 鬼匠 鬼の匠。周囲に匠式高性能TNTをまき散らす。超小さい。鬼のスピードに対応する目と力が問われる。 各種鉱石ブロック ○ 王匠 匠の王。多種多様な技でプレイヤーを翻弄する。敵の攻撃に対応する力と忍耐が問われる。 王匠の証 ○ ウィザー匠 匠化したウィザー。爆発力が超強化されている。爆発とウィザーの畳みかけに対応する知恵と技が問われる。 ネザースター匠式手投爆弾 匠龍 匠タワーの主。タワーの頂上に封印されている、伝説の龍。恐れずに突き進む勇気と経験が問われる。 覇王の証 大匠 まさかの100メートル級の匠。匠龍を討伐すると、続けて現れる匠ワールドの主。超大型の脅威と戦うセンスと対応力が問われる。 王匠の証 祝匠 百体目を祝う、祝砲を上げる上位の匠。祝砲のプレゼント箱は、地面につくと……?
https://w.atwiki.jp/hidamari_minecraft/pages/26.html
MOD情報 ひだまり鯖は、方針としてほぼバニラ状態(MOD無し)で運営しています。 ですが、より便利な機能を提供してくれるソフトを紹介します。 MCJPISS2 日本語MOD無しでも、日本語入力を支援してくれる外部ソフトです。 MODではないので、いち早く、新バージョンへ対応できます。 ハルの総合コマンドエディタ ワープブロックで使用している「コマンドブロック」 の使い方を広げられないか、このエディタを使って試してみよう? というところです。 導入予定MOD できるだけバニラに近い状態で運営しているサーバーですが、一部MODの導入を検討しています。 以下そのメモです。 日本語MOD 木こりMOD
https://w.atwiki.jp/tanacraftwiki/pages/16.html
★modを使う場合にやること META-INFの削除に伴い、プロファイルの編集が必要になります。 forgeのEdit Profile、JVM Argumentsに、「-Xmx1G -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true」 を設定してください。 導入必須 ・竹mod 日本風のブロックなどを追加するmodです。 modsフォルダに入れるだけでおkです。 導入推奨 ・NihongoMod(日本語mod) 全角入力(日本語入力)ができるようになります。 modsフォルダに入れるだけでおkです。 ・BitmapFont フォントを自由に変更できます。 VLゴジック(太字)が看板の文字も見やすくおすすめ。 入れると便利 ・マイン、ディグ、カットオール 任意のブロックを一括で破壊することができるmodです。 modsフォルダにそれぞれ入れるだけでおkです。 ・SpawnChecker 松明を持っているとき敵がスポーンする可能性のあるマスを表示します。 サーバの沸きつぶしに是非。 modsフォルダに入れるだけでおk。
https://w.atwiki.jp/socom4/pages/21.html
武器のキル数に応じてMODレベルが上がる。 銃が強化されたりアタッチメントが解除される。 キャリア→武器の状態で確認出来る。 スコープ 取り外し可能。アイアンサイトも使用可能。 リフレックスサイト サイト使用時の命中率を向上させる。 ACOGスコープ スコープ照準時の命中率を向上させるほか、視野を低倍率で拡大する。 低倍率可変スコープ 低倍率、中倍率を素早く切り替えることができる。 高倍率可変スコープ 低倍率、中倍率、高倍率を素早く切り替えることができる。 銃口用アタッチメント 取り外し可能。 ロー・サプレッサー 装着した武器の発射音を低減する。 ハイ・サプレッサー 装着した武器の発射音を大幅に低減する。 マズルブレーキ 武器の反動を低減する。 その他のアタッチメント 取り外し不可。スコープと銃口用とは別の扱い。 フォアグリップ 武器の安定性と命中率を向上する。 バイポッド 展開すると武器の反動はほとんどなくなるが、厚い遮蔽物の上や、伏せた状態でしか使用できない。 バイポッド展開時にL1でズームすると左スティックで移動出来なくなる。 グレネードランチャー バレルの下に装着するランチャーで、着弾と同時に爆発する40mmグレネードを発射できる。 L2を長押し右スティック下で切り替えて使用する。 性能アップ 取り外し不可。 連射速度向上 武器の連射速度が向上する。 射程距離向上 武器の射程距離が向上する。 拡張マガジン マガジンごとの装弾数を上げ、リロードの回数を減らしてくれる。 予備弾薬 携行できる弾薬が増加する。 クイックスワップ・コンポーネント 素早くリロードできるようになる。 発射音低減 武器の発射音を低減させて射手の位置を特定しづらくしてくれる。
https://w.atwiki.jp/haro25566/pages/15.html
注意 MODの導入方法 注意 導入に際して起きたトラブル等は自己責任でお願いします。 セーブデータの破損等の保障は一切できません。ご了承ください。 ファイルのバックアップを推奨します。 MODの導入方法 一括ファイルで導入する 一括ファイルで導入する場合はこちらのファイルを選んでダウンロードし導入してください。 FTPアップロードに時間がかかっているため、一時Axfc UpLoaderを使用中です。 ・日本語翻訳あり ・日本語翻訳なし ・翻訳なし+Improved Chat+ConvenientInventory ・翻訳なし+Optifog+Optimine導入済み 手動で導入する 手動で導入する場合は下記のMODを導入してください。 zeeksphere s Mod Minecraft 日本語対応化 MOD Risugami s Mods ModLoader AudioMod Beta 1.5_01 GaryCXJk s Turbo Model Thingy Flan s Mods(クライアント版のみ導入してください) ModLoaderMP planes 1.5_01 Teams Mod 1.5_01 SDKs Guns Unofficial 1.5_01 vehicles1.5_01
https://w.atwiki.jp/knkcraftmodpack/pages/13.html
yuuyuu and star mod解説 byきりひ or 職人 yuuyuu and star modとは このMODは LIT!のメンター ゆうゆうに関するものや ネザースターを使用した 高性能、チート なアイテムを追加するものです。 また、レシピはガバガバレシピです。 (実況などに使う場合はコメント欄に報告してください 実況対応版MODを作ります) レシピガイド使用推奨 yuuyuumodの特殊ブロックについて これらはサバイバルで殴ることで 見た目が変わります。 これらは上に乗ることにより 見た目が変わります。 これは木の棒をサバイバルで持った状態で殴ることにより 音や音楽がなります。 yuuyuumodの特殊アイテムについて これは右クリックをすると クリエイティブ飛行ができるようになります (もう一度右クリックでoff) これらは右クリックすることで 玉を撃つことができます これらは右クリックすることで 殺人雪玉を撃つことができます 右のほうはとても強いです 発見されているバグ rei s minimapが動かない このページはまだ未完成です バグ報告、その他の報告はこちら↓ 名前 テスト - 管理人 2016-01-26 21 32 38
https://w.atwiki.jp/ghostrecon2001mods/pages/26.html
名前 (名前読み) Mod情報 名称・読み 名称和訳 作者 制作チーム詳細はReadme.txtに記載 最新版 リリース年 ダウンロードページ メイン URL here ミラー 修正パッチ (備考) パッチその1 URL HERE パッチその2 URL HERE 必要要件 名前 (名前読み)Mod情報 概要 要素 追加コンテンツ 攻略情報 バグ情報 概要 要素 新ミッション ゲームタイプ スキン有無 追加コンテンツ 追加ミッションパック(管理人未プレイ) URL HERE 攻略情報 バグ情報
https://w.atwiki.jp/kojiro/pages/340.html
MODE
https://w.atwiki.jp/uwicoder/pages/2118.html
これはCompetitive Programming Advent Calendar Div2012に投稿された記事のようです。 今年ははてなではなくatwiki(こちら)のほうでやります。はてなはTeXが汚かったりソースコードの折りたたみができない等色々アレなので・・。 さて、今回は数え上げ・数学ゲーの常連、Combinationの剰余の計算について書きます。正確にはBinomial Coefficient(2項係数)ですね。ここでは1秒以下で求められることを目安に制約をつけてそれぞれについて解説します。 TeX的に楽な式で書きたいとおもいます。 0o_ ※一応Javaコードを添えてはいますが、完全なものとは限らないので、全部欲しい場合は関数名から察するか@uwitenpenにmentionください。 mがsqaurefree(4以上の平方数で割り切れない)のとき 値(階乗+逆元) (n 10^7, r 10^7, n,r m, m 素数) 値(逆元) (r 10^7, n,r m, m 素数) 列挙(テーブル型) (n*r 10^7, m 任意) 値(行列冪乗) (r 100, n,m 任意) 値(素因数分解) (n 10^7, r,m 任意) 値(Lucas' Theorem) (m 素数,m =1000, n,r 任意) 列挙(乗算型SegmentTree) (n =10^6, r すべて, m 任意) 値(Lucas' Theoremの拡張) (m=p^q 素数の累乗, m 10^7, n,r 任意) 値(Lucas' Theoremの拡張2) (pq 10^7) おまけ あとがき mがsqaurefree(4以上の平方数で割り切れない)のとき mを素因数分解して素数p_iの積にばらしたあと、各p_iについてを求めることができれば、拡張互除法によりmでの剰余も求められます。拡張互除法がわからなくなったら僕はここに行きます。 ■ コード +... public static long[] exGCD(long a, long b) { if(a == 0 || b == 0)return null; int as = Long.signum(a); int bs = Long.signum(b); a = Math.abs(a); b = Math.abs(b); long p = 1, q = 0, r = 0, s = 1; while(b 0){ long c = a / b; long d; d = a; a = b; b = d % b; d = p; p = q; q = d - c * q; d = r; r = s; s = d - c * s; } return new long[]{a, p * as, r * bs}; } public static long crt(long[] divs, long[] mods) { long div = divs[0]; long mod = mods[0]; for(int i = 1;i divs.length;i++){ long[] apr = exGCD(div, divs[i]); if((mods[i] - mod) % apr[0] != 0)return -1; long ndiv = div * divs[i] / apr[0]; long nmod = (apr[1] * (mods[i] - mod) / apr[0] * div + mod) % ndiv; if(nmod 0)nmod += ndiv; div = ndiv; mod = nmod; } return mod; } 値(階乗+逆元) (n 10^7, r 10^7, n,r m, m 素数) 前計算, 本計算. 基本に忠実なコードです。まずmax(n,r)までの階乗x!, 階乗の逆元(x!)^-1を列挙しておいて、 を計算するだけです。この計算はmの剰余類が群にならなければいけない(どの要素にも逆元が一意に決まる)ことが前提なので、汎用的に使うのであれば、mは素数でなければいけません。 コード +... public static long C(int n, int r) { if(n 0 || r 0 || r n)return 0; if(r n / 2)r = n - r; return FACT[n]*IFACT[n-r]%mod*IFACT[r]%mod; } static int mod; static long[] FACT, IFACT; N = 5000; FACT = new long[N+1]; IFACT = new long[N+1]; FACT[0] = 1; IFACT[0] = 1; for(int i = 1;i = N;i++){ FACT[i] = FACT[i-1] * i % mod; IFACT[i] = invl(FACT[i], mod); } 値(逆元) (r 10^7, n,r m, m 素数) O(r). これも基本に忠実。n!と(n-r)!の部分を相殺して を計算します。これならnが大きくても大丈夫。 コード +... public static long C(int n, int r, int p) { long ret = 1; while(true){ if(r == 0)break; int N = n % p; int R = r % p; if(N R)return 0; for(int i = 0;i R;i++){ ret = ret * (N-i) % p; } long imul = 1; for(int i = 0;i R;i++){ imul = imul * (i+1) % p; } ret = ret * Modulo.inv(imul, p) % p; n /= p; r /= p; } return ret; } 列挙(テーブル型) (n*r 10^7, m 任意) O(nr). 2次元配列で列挙するあれです。次の性質を利用しています。 和は2項までしかとらないので%mをとらずにif文で-mするのもあり。 コード +... long[][] C = new long[n+1][n+1]; for(int i = 0;i = n;i++){ C[i][0] = 1; for(int j = 1;j = i;j++){ C[i][j] = (C[i-1][j-1] + C[i-1][j]) % m; } } return ret; Javaでは0で初期化されるのでC[2][5]みたいなのにアクセスされても0を返すのですがC++まわりは初期化が必要です。 値(行列冪乗) (r 100, n,m 任意) rが小さい場合行列の冪乗で書けます。上のテーブル型をDPとした場合の行列DPですね。この行列は下三角Toeplitz行列なのでで計算できます。 と大仰なことをかきましたが、早い話がVandermonde's identityを利用して と で繰り返し二乗法しようという話です。 どうみても畳み込みなので、高速剰余変換とか使って高速化できるんですかね・・ コード +... public static int[] vander(long n, int r, int mod) { int[] v = new int[r+1]; v[0] = 1; for(int d = 63;d = 0;d--){ // Vandermonde int[] w = new int[r+1]; for(int i = 0;i r+1;i++){ long sum = 0; for(int j = 0;j = i;j++){ sum = (sum + (long)v[j] * v[i-j]) % mod; } w[i] = (int)sum; } v = w; if(n 63-d 0){ // +1 for(int i = r;i = 1;i--){ v[i] += v[i-1]; } } } return v; } 値(素因数分解) (n 10^7, r,m 任意) 前計算本計算? n!,(n-r)!,r!を素因数分解して各素数の乗数を求めたあと掛けあわせます。n!を素因数分解したときの素数pの乗数はで書けるので・・ コード +... public static long C(int n, int r, int mod, int[] primes) { if(n 0 || r 0 || r n)return 0; if(r n / 2)r = n - r; int[] a = new int[n]; for(int i = 0;i r;i++)a[i] = n-i; for(int p primes){ if(p r)break; for(long q = p;q = r;q *= p){ int m = n % q; for(int i = m, j = 0;j r / q;i+=q,j++){ a[i] /= p; } } } long mul = 1; for(int i = 0;i r;i++){ mul = mul * a[i] % mod; } return mul; } 値(Lucas Theorem) (m 素数,m =1000, n,r 任意) 前計算, 本計算 上述した乗数の式をうまく料理してやるとLucasの定理になります。n,rをm進数でと表す時、 と計算できます。 コード +... public static long C(long n, long r, int p, long[][] Cs) { long mul = 1; while(n 0){ mul *= Cs[(int)(n%p)][(int)(r%p)]; mul %= p; n /= p; r /= p; } return mul; } 列挙(乗算型SegmentTree) (n =10^6, r すべて, m 任意) Codeforces Round 100 Eを解いた時にTLEがとれなくて苦し紛れに書いたやつです。を列挙します。 乗算を伝播させるSegmentTreeをつくり、各葉はひとつの素数^(乗数) mod mを表します。まっさらな状態からはじめて nを素因数分解したものを足し, 1を素因数分解したものを引き、ルートの値を取得 n-1を素因数分解したものを足し, 2を素因数分解したものを引き、ルートの値を取得 ということを繰り返していくと列挙できます。結局TLEしたんですがー +... public static int[] enumC(int n, int[] primes, int mod) { int m = primes.length; int[] ip = new int[n+1]; for(int i = 0;i m;i++){ ip[primes[i]] = i; } SegmentTreeRMULQSimple st = new SegmentTreeRMULQSimple(m, primes, mod); int[] ret = new int[n+1]; ret[0] = ret[n] = 1; int[][][] fs = Num.enumFactor(n, primes); for(int i = 1;i = n/2;i++){ for(int[] ps fs[n+1-i]){ st.add(ip[ps[0]], ps[1]); } for(int[] ps fs[i]){ st.add(ip[ps[0]], -ps[1]); } ret[i] = ret[n-i] = st.st[1]; } return ret; } public static class SegmentTreeRMULQSimple { public int M, H, N, B; public int[] st; public int[] ps; public int[] es; public int mod; public SegmentTreeRMULQSimple(int n, int[] ps, int mod) { N = n; H = Integer.highestOneBit(Math.max(n,1)) 1; M = H 1; B = Integer.numberOfTrailingZeros(H); st = new int[M]; Arrays.fill(st, 1); es = new int[H]; this.ps = new int[H]; Arrays.fill(this.ps, 1); for(int i = 0;i ps.length;i++){ this.ps[i] = ps[i]; } this.mod = mod; } public void add(int pos, int v) { es[pos] += v; st[H+pos] = (int)Modulo.pow(ps[pos], es[pos], mod); for(int i = (H+pos) 1;i = 1;i = 1){ st[i] = (int)((long)st[2*i]*st[2*i+1]%mod); } } } 値(Lucas Theoremの拡張) (m=p^q 素数の累乗, m 10^7, n,r 任意) CodeSprint 3 nCrを解くときに調べたら出てきたpdfのやつです。割と有名らしい? これまで出てきたの値を求めるものの剰余はだいたい素数になっていました。これを素数の累乗まで拡張できると、小さい方のmではほとんど攻略できるといえるでしょう。 いくつか変数を定義します。例によってn,r,n-r=oをp進数で表します。 また、を、nのp進数表現でのi桁目からi+q-1桁目をつなげた値とします。も同様に定義します。 そしてを で定義しておきます。 最後に、を、x!からpの倍数の項を消したもの、つまりとします。 このとき、 が成り立ちます。の部分は、p=2かつq 3の時に限り1, それ以外は-1. の計算において邪魔なpを左辺に移行したものだと考えれば良いです。を右辺に移項するとが求められます。 前計算はp^qまでのとその逆元を列挙しておけばOK. コード +... public static long C(long n, long r, int p, int q, int[] fact, int[] ifact) { if(n 0 || r 0 || r n)return 0; int P = 1; for(int i = 0;i q;i++)P*=p; long z = n - r; int e0 = 0; for(long u = n/p;u 0;u /= p)e0 += u; for(long u = r/p;u 0;u /= p)e0 -= u; for(long u = z/p;u 0;u /= p)e0 -= u; int em = 0; for(long u = n/P;u 0;u /= p)em += u; for(long u = r/P;u 0;u /= p)em -= u; for(long u = z/P;u 0;u /= p)em -= u; long ret = 1; while(n 0){ ret = ret * fact[(int)(n%P)] % P * ifact[(int)(r%P)] % P * ifact[(int)(z%P)] % P; n /= p; r /= p; z /= p; } for(int i = 0;i e0;i++)ret = ret * p % P; if(!(p == 2 q = 3) (em 1)==1)ret = (P-ret) % P; return ret; } public static int[][] makeFF(int p, int q) { int P = 1; for(int i = 0;i q;i++)P*=p; int[] fact = new int[P+1]; int[] ifact = new int[P+1]; fact[0] = 1; for(int i = 1;i = P;i++){ if(i % p == 0){ fact[i] = fact[i-1]; }else{ fact[i] = fact[i-1] * i % P; } } for(int i = 0;i = P;i++){ long ret = 1; long mul = fact[i]; for(long n = P/p*(p-1)-1;n 0;n = 1){ if((n 1)==1){ ret = (ret * mul) % P; } mul = (mul * mul) % P; } ifact[i] = (int)ret; } return new int[][]{fact, ifact}; } 値(Lucas Theoremの拡張2) (pq 10^7) 上の方式でmが小さい時はいけるようになりましたが、qが大きいとが列挙できずに破綻してしまいます。次の2個の公式を使っての列挙範囲をでよくします。 vは0以上p-1以下 . は負までいった二項係数の計算に見えますね。整数にはなるみたいなので、桁あふれをどう抑えるかはまだ課題です。mod p^qだったのではで剰余とれそうですね。 これと、もうひとつ、 が、または以外のときに成り立ちます。成り立たない場合は大きめにrをとればいいだけの話です。 はp=2のときのみマイナスになる。 . このも桁あふれこわいですね・・これもで剰余とれそう。 q=2r+1となるように調整して2個の公式の左辺同士をかけるとがでてきて、vはp-1以下で、jp+vもjpもpq以下なので、pq以下のでが求められることになります!良いですね!がうまく計算できれば実用的そうです。 コード(実際にはP,betanum,alphanumが馬鹿でかくなるのであまり使えませんね・・) +... public static long ff(long n, int p, int q, int[] fact, int[] ifact) { long u = n/p; int v = (int)(n%p); int r = (q-1)/2; long P = 1; for(int j = 1;j = q;j++)P *= p; long ret = fact[v]; for(int j = 1;j = r;j++){ long betanum = u; long betaden = j; for(int i = 1;i = r;i++){ if(i != j){ betanum *= u*u-i*i; betaden *= j*j-i*i; } } long d = betanum / betaden; long po = Modulo.pow(fact[j*p], Math.abs(d), P); if(d 0)po = Modulo.invl(po, P); ret = ret * po%P; } if(p == 2)ret = -ret; for(int j = 1;j = q-1;j++){ long cell = (long)fact[j*p+v]%P *ifact[j*p]%P *ifact[v]%P; long alphanum = u; long alphaden = j; for(int i = 1;i = q-1;i++){ if(i != j){ alphanum *= u-i; alphaden *= j-i; } } long d = alphanum / alphaden; long po = Modulo.pow(cell, Math.abs(d), P); if(d 0)po = Modulo.invl(po, P); ret = ret * po%P; } return (ret+P)%P; } おまけ でnがでかくてmがやばい場合、n,n-1のいずれかは偶数なので、先に偶数の方を2で割ってしまえば幸せになります。 この手の式には同じ考え方が使えます。ProjectEulerの制約サイズが最近大きくてここによくはまるので自戒も込めて。 mがintをこえてさらにやばい場合はlongの範囲で収まる例の乗算をすればよいですね。 +... public static long c2(long n, int mod) { if(n % 2 == 0){ return (n/2%mod)*((n-1)%mod)%mod; }else{ return (n%mod)*((n-1)/2%mod)%mod; } } あとがき さて、いろいろ書きなぐってきましたが、これだけあれば競プロで出てくる二項係数には困らないんじゃないでしょうか。 ただこれだけあっても素早く求まらない二項係数はいくらでもあります。そのときは恥ずかしがらずに教えて下さいね。
https://w.atwiki.jp/ksnarma/pages/23.html
Advanced Combat Environment 2 (ACE2) MODについて。 目次 Advanced Combat Environment 2 ACE MODの導入ファイルの入手・更新 導入準備 起動・キー設定 ACE MODの諸機能 Advanced Combat Environment 2 高い人気を誇る統合型MODです。通称ACE。 正式版はv1.13で更新が止まっていますが、Six Updater上で頻繁に小パッチを出し続けているのが特徴。更新は忘れずに。 ACE MODの導入 ファイルの入手・更新 ACEは安定版のリリース後も開発版のバージョンアップを重ねているため、入手にはSix Updaterが必要です。 Six Updaterを用いたアドオンの導入・更新についてはこちらを参照。 ACEで必要なアドオンは以下の通りです。 CBA関連…@CBA、@CBA_A2、@CBA_OA ACE本体…@ACE、@ACEX、@ACEX_SM、@ACEX_RU、@ACEX_USnavy (プリセットを作って上記のアドオンを登録しておけば1クリックで更新可能に。) 導入準備 @ACE\clippiにある"aceclippi.exe"を起動し、ACEの設定をします。Peca Tactical HQ様の解説ページを参照して下さい。 (Select Your Identityで自分のプロファイル名を選択するのを忘れないこと) @ACE\storeにあるuserconfigを解凍し、ArmA2直下のフォルダに上書きします。続いてキーコンフィグファイルをダウンロードし、userconfig\aceにあるsettingsファイルを上書きします。 以上で導入準備は完了です、 起動・キー設定 導入準備が完了したらArmA2を起動し、動作確認と細かい設定を行います。 ACE MODの最小構成は@KBA(Community base Addons及び分隊レーダー)・@SMK(アニメーション)・ACE MOD(@ACE・@ACEX・@ACEX_SM・@ACEX_USNavy・@ACEX_RU)です。@KBA→ACE MOD→@SMKの順に読み込まれるようにしましょう。 ランチャーを使用している場合ACEとSMKが干渉してバグが発生する模様です。 これを避けるためにランチャーのLaunch OptionタブにあるAdditional Parameters欄(画像で -exThread=8 の記述がある部分)に -skipIntro と記述してください。他の記述がある場合は半角スペースを開けてください。 起動に成功したらエディタを開き、ユニットと弾薬・アイテム箱等を置いて動作確認とACEの設定確認を行いましょう。 上記の最小構成で起動した場合は報告されていませんが、1942ArmA全アドオン+ACEで起動した場合は一部の武器(報告例はPK、M240、Vintorez等)を装備した際に腕がおかしくなるバグがあるようです(これもランチャー派のみの現象の模様。上記の -skipIntroコマンドで回避可能?)。気になる場合は弾薬箱を置いてゲーム中で確認しましょう。 エディタでユニット、各種弾薬箱およびターゲット(”目標"欄に各種ターゲット有)を置き、訓練がてらACEのキー設定確認をしましょう。 設定はメニュー欄のACE settingsカラ確認・変更することが可能です。 キーコンフィグファイルを導入した場合、主なキーの割当は以下のようになっています。 インタラクションメニュー : Shift+G セルフインタラクションメニュー : Shift+T 依託射撃 : Shift+Space 狙撃中のZeroing : Shift+V 対戦車兵器、GL等のZeroing : Shift+矢印↑、↓ ハンドシグナル : Tab インタラクションメニュー・セルフインタラクションメニューの2つはゲーム中で頻繁に用いるキーです。使いやすいキーに割り振っておきましょう。 ※各キーの役割についてはこちらを参照のこと。 キーを変更する場合、saveを押しても実は設定が保存されていないことに注意してください。 キー設定を保存するにはACE settingsのsaveを押してゲームを終了し、ArmA2\userconfig\aceにあるsettingsファイルをメモ帳などで開きます。中の記述を全削除し、ctrl+Vを押すと新しいキーコンフィグがペーストされるので上書き保存してください。 ACE MODの諸機能 以下のホームページで解説されています。 Peca Tactical HQ Total22 Server 様々な機能がありますが、特に以下の機能は重要度が高いのでよく理解しておきましょう。 負傷システム 小火器の追加機能 照準調節機能 リュックサック機能 対戦車火器(無誘導) 重火器システム