<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[blaze003003的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/blaze003003</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; blaze003003]]></copyright><item><title><![CDATA[洛谷P7224 [RC-04] 子集积解析]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/157324647</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/157324647</guid><author>blaze003003</author><pubDate>Sat, 24 Jan 2026 11:36:26 +0800</pubDate><description><![CDATA[分析答案：对于一个子集积小于等于m的子集来说，必定包含了某几个数，那么对于所有的数来说，存在选与不选两种情况，妥妥的01背包。怒优化为：for (int j=m/a[i]*a[i];大于m的个数不好用背包，小于等于用背包就好求嘛！转移方程：f[ j ]=f[ j ]+f[ j/a[ i ] ]观察对于当前数a[i]来说，只有j%a[i]==0的才能转移，意为目前子集积为1的只有空集，其它选择情况都可以从空集转移。n小于等于22，无脑dfs一顿混个基础分。第二层循环 j从m到a[i] 必定会超时。]]></description><category></category></item><item><title><![CDATA[详解状压DP]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/153111350</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/153111350</guid><author>blaze003003</author><pubDate>Sun, 12 Oct 2025 10:57:45 +0800</pubDate><description><![CDATA[也就是说，如果第 i−1 行的状态 S1​（表示状态的二进制数）的第 j 位是 1（放国王）的话，第 i 行的状态 S2​ 的第 j−1，j，j+1 位一定为 0（不能再放国王了），否则就是不合法的状态；最后的情况，肯定是我们已经考虑完 n 行的排放情况，并且在其中一定是只放了 k 个国王了，但对于第 n 行具体摆成什么稀奇古怪的亚子，我们也不知道，所以我们去枚举第 n 行所有可能的情况，统计答案就好了；显然对于第 i−1 行来说，第 i 行多放的国王数就是第 i 行的状态上 1 的个数（在二进制下）；]]></description><category></category></item><item><title><![CDATA[数论函数、积性函数、和函数]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/121113330</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/121113330</guid><author>blaze003003</author><pubDate>Wed, 03 Nov 2021 07:27:56 +0800</pubDate><description><![CDATA[一、数论函数

定义：数论函数指一类函数的称谓，这类函数的共同点是：定义域是正整数N*，值域是一个数集。
加法：逐项相加即可
数乘：用一个常数 x 乘f ( n ) = x ∗ f ( n )

例如：
，表示正整数n的正因子之和。

，表示正整数n的正因子个数。

二、积性函数

（一）、积性函数定义：如果一个数论函数 f（）满足：当gcd(n,m)==1时，f ( n ∗ m ) = f ( n ) ∗ f ( m ) ，则 f（）为积性函数。

（二）、完全积性函数定义：当gcd(n,m) ≠ 1 时]]></description><category></category></item><item><title><![CDATA[洛谷 P3802 小魔女帕琪【期望】]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/115145714</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/115145714</guid><author>blaze003003</author><pubDate>Fri, 26 Mar 2021 10:54:19 +0800</pubDate><description><![CDATA[洛谷 P3802 小魔女帕琪【期望】



设事件A1表示释放出第1种魔法，则成功的概率为
]]></description><category></category></item><item><title><![CDATA[uva557或P2719 搞笑世界杯的三种解法]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/114480228</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/114480228</guid><author>blaze003003</author><pubDate>Sun, 07 Mar 2021 11:22:30 +0800</pubDate><description><![CDATA[传送门

题意翻译

设一共有nn个汉堡（nn为偶数且n&lt;=100000n&lt;=100000），其中有n/2n/2个火腿汉堡，n/2n/2个芝士汉堡。

nn个小朋友坐成一排，依次等概率抽选汉堡。有意思的是，抽完倒数第三个小朋友时，厨师发现抽不下去了，因为正好剩下了两个相同的汉堡。

厨师觉得很有趣，想问你出现这种情况的概率。

输入格式 第一行一个整数tt，表示测试组数。

对于每组测试，输入一个nn，意义如上。

输出格式 输出tt行，每行为对应测试的答案。

输入输出样例

输入 #1复制
]]></description><category></category></item><item><title><![CDATA[离散化]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/113698809</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/113698809</guid><author>blaze003003</author><pubDate>Fri, 05 Feb 2021 16:38:22 +0800</pubDate><description><![CDATA[一、概述

数据离散化是一个非常重要的思想。

为什么要离散化?当以权值为下标的时候，有时候值太大，存不下。 所以把要离散化的每一个数组里面的数映射到另一个值小一点的数组里面去。

打个比方，某个题目告诉你有10^4个数，每个数大小不超过10^10，要你对这些数进行操作，那么肯定不能直接开10^10大小的数组，但是10^4的范围就完全没问题。

我们来看一下定义：离散化，把无限空间中有限的个体映射到有限的空间中去，以此提高算法的时空效率。（by百度百科）

通俗的说，离散化是在不改变数据相对大小的条件下，对]]></description><category></category></item><item><title><![CDATA[P2882 [USACO07MAR]、POJ 3276 Face The Right Way（翻转问题 贪心+枚举+差分）]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/113406630</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/113406630</guid><author>blaze003003</author><pubDate>Fri, 29 Jan 2021 22:05:26 +0800</pubDate><description><![CDATA[题意：N头牛排成一列1&lt;=N&lt;=5000。每头牛或者向前或者向后。为了让所有牛都面向前方，农夫每次可以将K头连续的牛转向1&lt;=K&lt;=N，求操作的最少次数M和对应的最小K。

本题的模型是开关问题（或者叫翻转问题）。拿到题目，你肯定会思考两个问题，1、从哪里开始翻转，2、翻转多大的区间呢？

发现一句话很重要Each time the machine is used, it reverses the facing direction of a contiguous group of K]]></description><category></category></item><item><title><![CDATA[莫比乌斯函数、莫比乌斯反演]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/109755503</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/109755503</guid><author>blaze003003</author><pubDate>Wed, 18 Nov 2020 10:18:25 +0800</pubDate><description><![CDATA[莫比乌斯函数

在学习这个函数之前，最好先了解欧拉函数

莫比乌斯函数：数论函数，由德国数学家和天文学家莫比乌斯(Möbius ,1790–1868)提出。梅滕斯(Mertens)首先使用μ(n)作为莫比乌斯函数的记号。而据说，高斯(Gauss)比莫比乌斯早三十年就曾考虑过这个函数。莫比乌斯函数在数论中有着广泛应用。
莫比乌斯函数完整定义的通俗表达：
1）莫比乌斯函数μ(n)的定义域是N
2）μ(1)=1
3）当n存在平方因子时，μ(n)=0
4）当n是素数或奇数个不同素数之积时，μ(n)= -1
5）当n]]></description><category></category></item><item><title><![CDATA[图的连通性问题及Tarjan算法]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/104153089</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/104153089</guid><author>blaze003003</author><pubDate>Tue, 04 Feb 2020 20:21:11 +0800</pubDate><description><![CDATA[推荐观看视频教程

一、图的连通性

1. 无向图的连通性

在无向图G＝（V，E）中：

①连通：若节点u和v能够互相到达，则称u,v是连通的；

②连通图：若图中任何节点之间都是可互相到达的，则称G是连通图，否则称G是非连通图；

这是一个连通图这不是一个连通图，

③连通分量（连通分支）：我们可以看出上面右图有两个部分连通的图，叫做连通分量（或连通分支）

④无向图的连通性判定：并查集、DF...]]></description><category></category></item><item><title><![CDATA[欧位函数及欧拉定理]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/83443763</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/83443763</guid><author>blaze003003</author><pubDate>Sat, 27 Oct 2018 10:09:25 +0800</pubDate><description><![CDATA[欧拉函数1

点击打开链接

欧拉函数2

点击打开链接

欧拉函数3

点击打开链接

欧拉函数4

点击打开链接]]></description><category></category></item><item><title><![CDATA[欧几里得、扩展欧几里德及其应用（解不定方程、求逆元）www]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/83096660</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/83096660</guid><author>blaze003003</author><pubDate>Tue, 16 Oct 2018 20:48:25 +0800</pubDate><description><![CDATA[一、欧几里得算法（中国叫辗转相除法）：gcd(a,b)=gcd(b,a%b)

证明：
设d是a、b的公因数（或公因子）则有d|a、d|b
（根据整除定义）存在q1、q2使得a=q1*d、b=q2*d
又因为对于整数a、b可写成b=aq+r（q是某一整数，r=a%b）
所以q2*d=q1*d*q+r即r=q2*d-q1*d*q=(q2-q1*q)*d即d|r，也就是d|(a%b)
得到结论一：a、...]]></description><category></category></item><item><title><![CDATA[整除及其性质]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/82261485</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/82261485</guid><author>blaze003003</author><pubDate>Fri, 31 Aug 2018 20:52:06 +0800</pubDate><description><![CDATA[整除的定义：

若整数a除以非零整数b，商为整数，且余数为零， 我们就说a能被b整除（或说b能整除a），即b∣a,读作“b整除a”或“a能被b整除”。a叫做b的倍数，b叫做a的约数（或因数）。

整除的基本性质及证明：

①若a|b，a|c，则a|(b±c)。

证明：因为a|b和a|c，所以∃q1,q2∈Z，使得b=q1*a  c=q2*a，可推出b±c=q1*a±q2*a=(q1±q2)*a。...]]></description><category></category></item><item><title><![CDATA[二分的应用]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/81164579</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/81164579</guid><author>blaze003003</author><pubDate>Mon, 23 Jul 2018 11:44:38 +0800</pubDate><description><![CDATA[1. 计算 anan （数的幂）

2. 计算 AnAn （矩阵的幂）

由于矩阵乘法具有结合律，因此 A4=A∗A∗A∗A=(A∗A)∗(A∗A)=A2∗A2A4=A∗A∗A∗A=(A∗A)∗(A∗A)=A2∗A2

我们可以得到这样的结论：

当n为偶数时，An=An/2∗An/2An=An/2∗An/2
	当n为奇数时，An=An/2∗An/2∗AAn=An/2∗An/2∗A （其中n/2取...]]></description><category></category></item><item><title><![CDATA[经常使用的构造散列函数的方法]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/81156419</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/81156419</guid><author>blaze003003</author><pubDate>Sun, 22 Jul 2018 17:15:49 +0800</pubDate><description><![CDATA[散列表,它是基于高速存取的角度设计的，也是一种典型的“空间换时间”的做法。顾名思义，该数据结构能够理解为一个线性表，可是当中的元素不是紧密排列的，而是可能存在空隙。

散列表（Hash table，也叫哈希表），是依据关键码值(Key value)而直接进行訪问的数据结构。也就是说，它通过把关键码值映射到表中一个位置来訪问记录，以加快查找的速度。这个映射函数叫做散列函数，存放记录的数组叫做散列表。...]]></description><category></category></item><item><title><![CDATA[哈希算法和哈希表]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/81155548</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/81155548</guid><author>blaze003003</author><pubDate>Sun, 22 Jul 2018 16:19:27 +0800</pubDate><description><![CDATA[转载自：http://baijiahao.baidu.com/s?id=1580022096840800840&amp;amp;wfr=spider&amp;amp;for=pc

（“hash“”这个英文通常翻译成“哈希”，也有的书翻译成“散列”）

在编程中常常要面临查找问题。哈希算法主要是利用哈希表（一种数据结构）进行高效地查找。

最简单的解释

脑补下，你是一个创（不）新（善）能（长）力（收）强（拾）的...]]></description><category></category></item><item><title><![CDATA[判断一个数是否为质数/素数——从普通判断算法到高效判断算法思路]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/81095807</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/81095807</guid><author>blaze003003</author><pubDate>Wed, 18 Jul 2018 11:57:27 +0800</pubDate><description><![CDATA[
转载

https://blog.youkuaiyun.com/huang_miao_xin/article/details/51331710]]></description><category></category></item><item><title><![CDATA[NOIP 2017 小凯的疑惑]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/81094088</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/81094088</guid><author>blaze003003</author><pubDate>Wed, 18 Jul 2018 10:39:21 +0800</pubDate><description><![CDATA[引用博主：Hany01的文章 NOIP 2017 小凯的疑惑 （数学）

博文地址：https://blog.youkuaiyun.com/hhaannyyii/article/details/78618358



分析：

（野路子：因为&amp;gt;=a*b的数都能由a和b组成，这个可以证明（此处省略）。那么就考虑小于a*b的数。简单想法就是找几对小的a和b，把最大不能组成的数推出，再尝试写出公式。（考试时学...]]></description><category></category></item><item><title><![CDATA[倍增算法思想（二分新姿势--倍增法）]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/81084954</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/81084954</guid><author>blaze003003</author><pubDate>Tue, 17 Jul 2018 17:32:20 +0800</pubDate><description><![CDATA[建议先看看这篇博文：https://blog.youkuaiyun.com/JarjingX/article/details/8180560【白话系列】倍增算法 博主：JarjingX

以下转自：https://blog.youkuaiyun.com/wybooooooooo/article/details/80778807

博主：wybooooooooo的博客

倍增思想举例

A、B两点之间相隔若干单位为1的距离...]]></description><category></category></item><item><title><![CDATA[分块学习小结]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/81084036</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/81084036</guid><author>blaze003003</author><pubDate>Tue, 17 Jul 2018 16:53:17 +0800</pubDate><description><![CDATA[明天要开始讲二分、分块、倍增、差分等，今天先补一补！

基础知识

引用别人的一段话：一直觉得分块是一个很高端的东西…一直没敢碰，现在才知道分块就是一种稍微优美一些的暴力，所以没有学过分块的同学不要害怕啦…

分块，就是将一段信息（数据结构，序列）分成几块处理，当然最基础的是序列上的分块，再高层点的就是树上的分块，分块套分块，分块套数据结构以及数据结构套分块。 

顾名思义就是把要处理的东西进行分...]]></description><category></category></item><item><title><![CDATA[由取石子游戏想到的博弈论]]></title><link>https://blog.youkuaiyun.com/blaze003003/article/details/79875384</link><guid>https://blog.youkuaiyun.com/blaze003003/article/details/79875384</guid><author>blaze003003</author><pubDate>Tue, 10 Apr 2018 10:52:19 +0800</pubDate><description><![CDATA[先将本文的参考列表如下，以示对大咖的尊敬：作者：ojshilu     《两人取石子游戏 组合数学-博弈问题》作者：提比-我有特殊的AC技巧 《取石子游戏【各类取石子总结】》（该文也系转载）    有一种很有意思的游戏，就是有物体若干堆，可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干，规定最后取光物体者取胜。这是我国民间很古老的一个游戏，别看这游戏极其简单，却蕴含着深刻的数学原理。下面...]]></description><category></category></item></channel></rss>