{"blog_title":"AtCoderInfo","provider_url":"https://hatena.blog","width":"100%","blog_url":"https://info.atcoder.jp/","title":"XOR \u7573\u307f\u8fbc\u307f\uff08\u9664\u7b97\u306a\u3057\uff09","published":"2026-04-10 14:16:21","url":"https://info.atcoder.jp/entry/algorithm_lectures/division_free_xor_convolution","height":"190","type":"rich","categories":["\u96c6\u5408\u95a2\u6570","XOR","XOR \u7573\u307f\u8fbc\u307f","Walsh-Hadamard \u5909\u63db","\u74b0"],"author_url":"https://blog.hatena.ne.jp/atcoder/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Finfo.atcoder.jp%2Fentry%2Falgorithm_lectures%2Fdivision_free_xor_convolution\" title=\"XOR \u7573\u307f\u8fbc\u307f\uff08\u9664\u7b97\u306a\u3057\uff09 - AtCoderInfo\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","version":"1.0","image_url":"https://cdn.user.blog.st-hatena.com/default_entry_og_image/158934417/1702097020779738","description":"1. \u6982\u8981 \u672c\u8a18\u4e8b\u3067\u306f\u9577\u3055 $2 ^ N$ \u306e\u5217\u306e XOR \u7573\u307f\u8fbc\u307f\u3092\u6c42\u3081\u308b\u554f\u984c\u3092\u6271\u3044\u307e\u3059\uff0e \u3053\u306e\u554f\u984c\u306f\uff0c\u6574\u6570\u5217\u3084\u5b9f\u6570\u5217\u3092\u5bfe\u8c61\u3068\u3059\u308b\u3088\u3046\u306a\u901a\u5e38\u306e\u72b6\u6cc1\u3067\u306f\uff0cWalsh-Hadamard \u5909\u63db\u3092\u7528\u3044\u3066 $\\mathrm{O}(N\\cdot 2 ^ N)$ \u6642\u9593\u3067\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e Walsh-Hadamard \u5909\u63db\u306f\u305d\u306e\u5b9a\u7fa9\u306e\u5b9a\u6570\u500d\u306b\u3044\u304f\u3064\u304b\u306e\u6d41\u5100\u304c\u3042\u308a\u307e\u3059\u304c\uff0c\u3044\u305a\u308c\u306b\u305b\u3088\u3053\u306e\u8a08\u7b97\u65b9\u6cd5\u306b\u306f\uff0c\u6570\u3092 $2$ \u3084\u305d\u306e\u7d2f\u4e57\u3067\u5272\u308b\u3068\u3044\u3046\u64cd\u4f5c\u304c\u542b\u307e\u308c\u307e\u3059\uff0e\u4e00\u65b9\u3067\uff0cXOR \u7573\u307f\u8fbc\u307f\u81ea\u4f53\u306f\u74b0\u6f14\u7b97\u306e\u307f\uff08\u3064\u307e\u308a\u52a0\u7b97\u30fb\u6e1b\u7b97\u30fb\u4e57\u7b97\u306e\u307f\uff09\u3067\u5b9a\u7fa9\u3055\u308c\u308b\u305f\u3081\uff0c\u74b0\u6f14\u7b97\u306e\u307f\u3092\u7528\u3044\u308b\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306f\u306a\u3044\u306e\u304b\u3092\u8003\u3048\u308b\u306e\u3082\u81ea\u7136\u306a\u554f\u984c\u3067\u2026","author_name":"atcoder"}