<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JZQT_T的博客]]></title><description><![CDATA[求知若饥，虚心若愚。]]></description><link>https://blog.youkuaiyun.com/JZQT_T</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JZQT_T]]></copyright><item><title><![CDATA[HDOJ-1171-Big Event in HDU 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45895617</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45895617</guid><author>JZQT_T</author><pubDate>Thu, 21 May 2015 18:56:02 +0800</pubDate><description><![CDATA[普通母函数。题意：有最多50种不同价值的机器，每种机器的价值不超过50并且数量不超过100，现在要把这些机器分成A和B两部分，使两部分机器的价值尽可能相等且A的价值不能够小于B。


       我的解题思路：可用普通母函数解题，也可用DP。DP貌似更加快，可惜我不会Orz。讲母函数的解法：这题本质上还算是母函数的水题，用价值作为x的指数求出母函数后找到与总价值（也就是最大的指数）的一半最]]></description><category></category></item><item><title><![CDATA[HDOJ-2152-Fruit 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45870171</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45870171</guid><author>JZQT_T</author><pubDate>Wed, 20 May 2015 14:08:39 +0800</pubDate><description><![CDATA[普通母函数带上下界。中文题意不说了。


       我的解题思路：我们可以设置水果的个数为x的指数，那么对于上下界分别为a和b的水果的母函数那一项为(x^a + x^(a+1) + ... + x^b)了。最内层循环枚举水果个数的时候根据上下界枚举，哎呀比较水也没什么好说的了。


       我的解题代码：
#include 
#include 
#include 
#inc]]></description><category></category></item><item><title><![CDATA[HDOJ-2069-Coin Change 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45846207</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45846207</guid><author>JZQT_T</author><pubDate>Tue, 19 May 2015 16:21:10 +0800</pubDate><description><![CDATA[普通母函数变体。题意：有五种面值的硬币，50分，25分，10分，5分，1分。现在，比如我们有11分，那么这11分换成硬币可以是1个10分和1个1分，2个5分和1个1分，1个5分和6个1分以及11个1分这4种情况。现在告诉你我们手上拥有的钱数，问如果要换成硬币，有多少中换法。注意：总硬币数不能超过100。


       我的解题思路：一般的母函数都是限制每种硬币的个数，而本题是限制所有硬币]]></description><category></category></item><item><title><![CDATA[HDOJ-1709-The Balance 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45825297</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45825297</guid><author>JZQT_T</author><pubDate>Mon, 18 May 2015 17:57:50 +0800</pubDate><description><![CDATA[普通母函数，不错的题。题意：你需要计算一份药的剂量，现在有若干砝码，问在从1到所有砝码的质量和这段区间内有那些重量是测量不出来的。


       我的解题思路：砝码并不是只放在天平的一端，可以把砝码放在天平的两端，这样两边砝码的差值就是可以测量的质量数。所以对于每一个砝码，有三种情况，放天平左边，放天平右边，以及未使用。令砝码质量为x的指数，那么构造的母函数中对于一个质量为a的项为（x^]]></description><category></category></item><item><title><![CDATA[HDOJ-1085-Holding Bin-Laden Captive! 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45748937</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45748937</guid><author>JZQT_T</author><pubDate>Fri, 15 May 2015 19:54:40 +0800</pubDate><description><![CDATA[普通母函数水题。题意：有三种面值的硬币，一元，两元和五元，个数分别为num_1，num_2，num_5，现在求不能一次性付清的最少钱数。比如如果你只有一个两元硬币，那么1元就是你无法一次付清的最少钱数。


       我的解题思路：以钱数来做x的指数，那么这道题其实就是求指数最小的系数为0项（指数为0不算）了。


       我的解题代码：
#include 
#includ]]></description><category></category></item><item><title><![CDATA[HDOJ-1398-Square Coins 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45670743</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45670743</guid><author>JZQT_T</author><pubDate>Tue, 12 May 2015 15:58:32 +0800</pubDate><description><![CDATA[普通母函数题。题意：在一个只使用平方数面值硬币的岛上（不超过17^2=289），有这些面值的硬币，1,4,9......等，现在要支付十元，有四种方式：
十个1元硬币，一个4元硬币和六个1元硬币，两个4元硬币和一个1元硬币，一个9元硬币和一个1元硬币。
现在告诉你需要支付的数量，请输出有多少种不同的支付方式。


       我的解题思路：假设硬币的面值为x的指数，那么1元硬币的那一项]]></description><category></category></item><item><title><![CDATA[HDOJ-1028-Ignatius and the Princess III 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45560865</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45560865</guid><author>JZQT_T</author><pubDate>Thu, 07 May 2015 14:41:16 +0800</pubDate><description><![CDATA[普通母函数基础题。题意：对于整数拆分问题，4有如下几种拆法
4 = 4
4 = 3 + 1
4 = 2 + 2
4 = 2 + 1 + 1
4 = 1 + 1 + 1 + 1
其中3 + 1和1 + 3属于同一种拆法。
现在给你一个数，问这个数有几种拆法。


       我的解题思路：普通母函数题，令数字为x的指数，那么可以构造出母函数(1 + x + x^2 + ...)]]></description><category></category></item><item><title><![CDATA[HDOJ-2082-找单词 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45560647</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45560647</guid><author>JZQT_T</author><pubDate>Thu, 07 May 2015 14:28:13 +0800</pubDate><description><![CDATA[普通母函数基础题。把字母的价值作为x的指数然后就可以构造母函数为(1 + x + x^2 + ...)(1 + x^2 + x^4 + ...)...但是这里有一个需要注意的就是题目要求找到价值小于等于50的单词就行了，所以大于50的可以直接跳过。另外价值为0也就是没有英文字母这种不算单词。


       解题代码：
#include 
#include 
#include 
#inc]]></description><category></category></item><item><title><![CDATA[POJ-1833-排列 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/45096889</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/45096889</guid><author>JZQT_T</author><pubDate>Fri, 17 Apr 2015 14:46:41 +0800</pubDate><description><![CDATA[STL全排列水题。PS：我已经水到只能做这种水题了Orz。


       解题思路：没什么好说的，就是STL中的全排列。


       解题代码：
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

usin]]></description><category></category></item><item><title><![CDATA[HDOJ-1211-RSA 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44959887</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44959887</guid><author>JZQT_T</author><pubDate>Thu, 09 Apr 2015 15:23:34 +0800</pubDate><description><![CDATA[同余方程或快速幂水题。题意：RSA加密算法是这样的，
1.选择两个大素数p和q
2.计算n = p × q，F(n) = (p - 1) × (q - 1)
3.选择一个整数e(1 
4.计算一个整数d，使得d × e = 1 (mod F(n))，d 就是密钥
加密用这个方法
C = E(m) = m^e mod n
解密用这个方法
M = D(c) = c^d mod n
现]]></description><category></category></item><item><title><![CDATA[POJ-2115-C Looooops 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44941805</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44941805</guid><author>JZQT_T</author><pubDate>Wed, 08 Apr 2015 15:53:00 +0800</pubDate><description><![CDATA[扩展欧几里得算法，同余方程。题意：C风格的for循环语句是这样的，
for (variable = A; variable != B; variable += C)
假设A、B和C在计算机中都是k位无符号整数，现在问这个for循环语句会执行几次循环。


       解题思路：既然是k位无符号整数，那么假设循环n次，就有A + nC = B(mod 2^k)，这是一个同余方程，我们可以]]></description><category></category></item><item><title><![CDATA[HDOJ-5199-Gunner 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44890537</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44890537</guid><author>JZQT_T</author><pubDate>Sun, 05 Apr 2015 20:03:29 +0800</pubDate><description><![CDATA[哈希。题意：有n个鸟分别在n棵树的顶端，第i棵树的高度为Hi，有个猎人准备开m枪打鸟，开枪的高度为Qi，可以把在Qi高度的所有鸟击落，现在请你输出每开一枪能够击落的鸟的个数。


       解题思路：刚开始还以为是线段树，一看数据范围就萌萌哒了。看题解说是哈希可搞，于是就学了一下STL里面的map哈希，果然名不虚传。


       解题代码：
#include 
#inclu]]></description><category></category></item><item><title><![CDATA[HDOJ-5194-DZY Loves Balls 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44755413</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44755413</guid><author>JZQT_T</author><pubDate>Mon, 30 Mar 2015 19:19:37 +0800</pubDate><description><![CDATA[概率水题，或者可以用搜索。题意：给你n个1和m个0，它们能组成q种不同的排列组合字符串，记p为这些字符串中出现01子串的次数，输出p/q的最简形式。


       我的解题思路：用求概率的思路来推的话结果是(n×m)/(n+m)的最简分数形式，可是我不会。由于数据规模不大，所以也可以用dfs搜索来求出答案，dfs记录上一个数字，剩余1和0的个数还有已出现01串的次数就好了。


 ]]></description><category></category></item><item><title><![CDATA[POJ-2769-Reduced ID Numbers 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44702545</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44702545</guid><author>JZQT_T</author><pubDate>Sat, 28 Mar 2015 16:31:10 +0800</pubDate><description><![CDATA[同余的应用，哈希。题意：给你G个学生的编号，编号为0~10^6的整数，请你找出最小的正整数m使得所有学生的编号对与模m不同余。


       我的解题思路：从小到大枚举m然后哈希判断是否都不同余。我想到了一个小小的优化就是如果有n个学生的话，那么最小的正整数m至少是n，这个思想是基于容斥原理的。但是还是TLE了，最后看了讨论版才知道memset的优化，只memset用过的部分。优化后从T]]></description><category></category></item><item><title><![CDATA[HDOJ-5171-GTY's birthday gift]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44626165</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44626165</guid><author>JZQT_T</author><pubDate>Wed, 25 Mar 2015 19:45:32 +0800</pubDate><description><![CDATA[矩阵快速幂。题意：在一个有n个整数元素的集合S中，你可以做操作：选择集合S的两个元素a和b，把a+b放进集合S中。这种操作只能够做k次，要求做完后集合S里所有元素的和最大。输出S里所有元素的和模10000007的结果。


       我的解题思路：首先肯定是选择S里面最大的两个元素合并再添加到S集合中，假设一开始S的最大两个元素是a和b。那么第一次添加到S集合的元素是a+b，第二次是a+]]></description><category></category></item><item><title><![CDATA[POJ-1284-Primitive Roots 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44590727</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44590727</guid><author>JZQT_T</author><pubDate>Tue, 24 Mar 2015 13:45:16 +0800</pubDate><description><![CDATA[欧拉函数水题。题意：给出原根的定义，求模p的原根的个数。


       我的解题思路：根据原根的性质，模p的原根个数为phi(phi(p))，直接求两次欧拉函数就好。


       我的解题代码：
#include 
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std]]></description><category></category></item><item><title><![CDATA[POJ-2773-Happy 2006 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44275979</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44275979</guid><author>JZQT_T</author><pubDate>Sun, 15 Mar 2015 12:30:58 +0800</pubDate><description><![CDATA[欧拉函数好题。题意：给你一个数m，请你输出从1开始升序排列与m互素的数列中的第k个数。


       我的解题思路：根据数据范围，K最大可以达到1E，比m还大，因此很容易想到数据会超过32位整型。而且要找m的第k个与m互素的数肯定不能用暴力枚举的办法。
两个互素的数a，b它们满足gcd(a,b) = 1这个条件，根据gcd的这么一个性质gcd(a,b) = gcd(b,a%b)即gcd]]></description><category></category></item><item><title><![CDATA[POJ-3358-Period of an Infinite Binary Expansion 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/44159275</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/44159275</guid><author>JZQT_T</author><pubDate>Mon, 09 Mar 2015 20:14:32 +0800</pubDate><description><![CDATA[欧拉定理，同余运算性质，好题。题意：给你两个整数p和q，请输出p/q作为小数在二进制表示下的第一个循环节在第几位小数和最小循环节长度。比如1/10的二进制小数表示为0.00011001100110011......那么1/10的最小循环节是0011，长度为4，它第一次出现是在第二位小数上。


       我的解题思路：首先要把p/q转化成为最简真分数，也就是说p
二进制思考可能比较难懂]]></description><category></category></item><item><title><![CDATA[POJ-2478-Farey Sequence 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/43925675</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/43925675</guid><author>JZQT_T</author><pubDate>Tue, 24 Feb 2015 16:17:51 +0800</pubDate><description><![CDATA[求欧拉函数表题。题意：法雷序列Fn对于任何一个大于等于2的n来说是这么一种序列，它是由最简真分数a/b构成，0 


       我的解题思路：水题，对于2～n中每一个数的欧拉函数之和就是答案了。


       我的解题代码：
#include 
#include 
#include 
#include 
#include 
#include 

using namespace]]></description><category></category></item><item><title><![CDATA[HDOJ-1563-Find your present! 解题报告]]></title><link>https://blog.youkuaiyun.com/JZQT_T/article/details/43876175</link><guid>https://blog.youkuaiyun.com/JZQT_T/article/details/43876175</guid><author>JZQT_T</author><pubDate>Wed, 18 Feb 2015 11:08:55 +0800</pubDate><description><![CDATA[位运算巧解题。题意：给你n个数，n为奇数，这n个数里面除了一个数只出现一次其他数都有出现两次，请输出那个出现一次的数。


       我的解题思路：根据异或运算性质，相同的数异或等于0，0与任何数异或都得任何数，异或运算满足交换律。这么以来把这所有的数都异或之后就得到了只出现一次的数了。


       我的解题代码：
#include 
#include 
#include ]]></description><category></category></item></channel></rss>