<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dicai4331</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dicai4331]]></copyright><item><title><![CDATA[HDOJ-1019 Least Common Multiple]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607999</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607999</guid><author>dicai4331</author><pubDate>Tue, 28 Apr 2015 20:00:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1019
题意：给出n个数，求它们的最小公倍数

对于n个数，它们的最小公倍数等于【前n-1个数的最小公倍数和第n个数】的最小公倍数
而前n-1个数的最小公倍数又等于【前n-2个数的最小公倍数和第n-1个数】的最小公倍数
以此类推..
所以，从第1和第2个数开始依次求出最小公倍数，然后迭代即...]]></description><category></category></item><item><title><![CDATA[HDOJ-1018 Big Number]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607985</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607985</guid><author>dicai4331</author><pubDate>Tue, 28 Apr 2015 19:47:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1018
题意：给出一个数n，输出n的阶乘的位数
汗Σ( ° △ °|||)︴刚开始还准备上大数乘法 然而10000的阶乘结果就已经接近40000位10^7的阶乘...
正：对于一个数n 求其位数可以用 log10(n) + 1 求得所以 对于N! 其位数= log10(1*2*...*(N-1)*...]]></description><category></category></item><item><title><![CDATA[HDOJ-1017 A Mathematical Curiosity（淼）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607994</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607994</guid><author>dicai4331</author><pubDate>Tue, 28 Apr 2015 19:41:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1017

# include &lt;stdio.h&gt;

int find(int n, int m)
{
	int count = 0;
	for(int i = 1; i &lt; n; i++)
	{
		for(int j = i + 1; j &lt; n; j++)...]]></description><category></category></item><item><title><![CDATA[HDOJ-1016 Prime Ring Problem（DFS）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607982</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607982</guid><author>dicai4331</author><pubDate>Tue, 28 Apr 2015 19:32:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1016
题意：输入n，代表有一个包含n个节点的环，在环中的节点中填入1,2...n-1,n，要求填入的数与左边的数之和，与右边的数之和，都为素数
输出所有符合要求的环（第一个数总为1）

用DFS模拟，从第2位到第n位依次选取一个与上一个选取的数之和为素数的数
直到选取完第n个数，判断第n个...]]></description><category></category></item><item><title><![CDATA[HDOJ-1015 Safecracker（DFS）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607992</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607992</guid><author>dicai4331</author><pubDate>Tue, 28 Apr 2015 17:31:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1015
题意：给出一个目标值target和一个由大写字母组成的字符串 A-Z分别对应权值1-26
要求从给出的字符串中选出5个字符，它们的权值v,w,x,y,z应符合下列式子
v - w^2 + x^3 - y^4 + z^5 = target
同一个字符只能被选取一次
输出符合要求的5个字符...]]></description><category></category></item><item><title><![CDATA[HDOJ-1014 Uniform Generator]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607980</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607980</guid><author>dicai4331</author><pubDate>Tue, 28 Apr 2015 16:38:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1014
给出式子seed(x+1) = [seed(x) + STEP] % MOD
seed初始为0，给出STEP和MOD的值
问seed能否取到0~(MOD - 1)之间的所有值
简单模拟

# include &lt;stdio.h&gt;

int main()
{
	int...]]></description><category></category></item><item><title><![CDATA[HDOJ-1013 Digital Roots]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607990</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607990</guid><author>dicai4331</author><pubDate>Sun, 26 Apr 2015 10:21:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1013
1.给出一个整数，求每一位上的数字之和
2.若求出的和大于1位，则对该和继续执行第1步，直至和的位数为1
注意：该整数有可能远远大于int或__int64的取值范围，所以用字符数组处理

# include &lt;stdio.h&gt;
# include &lt;string.h...]]></description><category></category></item><item><title><![CDATA[HDOJ-1012 u Calculate e（水）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607978</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607978</guid><author>dicai4331</author><pubDate>Sun, 26 Apr 2015 09:23:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1012
简单套公式

# include &lt;stdio.h&gt;

double Factorial(double num)
{
	if(num == 0 || num == 1)
		return 1;
	return Factorial(num - 1) * num;
}...]]></description><category></category></item><item><title><![CDATA[HDOJ-1010 Tempter of the Bone（dfs+剪枝）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607975</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607975</guid><author>dicai4331</author><pubDate>Thu, 16 Apr 2015 15:23:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1010
给出一个n*m的迷宫 X为墙 .为空地 S为起点 D为终点 给出时间T
每走一步花费一单位的时间 走过的空地会消失不能再次经过
问能不能刚好花费T单位时间到达终点（在T时间前到达终点也算失败）

典型深搜 为减少时间花费加点剪枝
1.奇偶剪枝：给出一个01矩阵如下
从0到0或从1...]]></description><category></category></item><item><title><![CDATA[HDOJ-1009 FatMouse' Trade]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607988</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607988</guid><author>dicai4331</author><pubDate>Mon, 13 Apr 2015 22:35:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1009

# include &lt;stdio.h&gt;
# include &lt;algorithm&gt;
# define MAX 1010
using namespace std;

struct NODE
{
	int j, f;
	double avg;
}foo...]]></description><category></category></item><item><title><![CDATA[HDOJ-1008 Elevator]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607986</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607986</guid><author>dicai4331</author><pubDate>Sun, 22 Mar 2015 12:31:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1008

//模拟 无亮点
# include &lt;stdio.h&gt;

int main()
{
	int n;
	while(scanf("%d",&amp;n) &amp;&amp; n)
	{
		int Target, Last = 0, Time = 0;
		...]]></description><category></category></item><item><title><![CDATA[HDOJ-1042 N!（大数乘法）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607973</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607973</guid><author>dicai4331</author><pubDate>Sat, 21 Feb 2015 22:24:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1042

题意清晰..简单明了开门见山的大数乘法..
10000的阶乘有35000多位 数组有36000够了

# include &lt;stdio.h&gt;
# include &lt;string.h&gt;
# define MAX 36000

int BigNum[MA...]]></description><category></category></item><item><title><![CDATA[HDOJ-1041 Computer Transformation（找规律+大数运算）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607984</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607984</guid><author>dicai4331</author><pubDate>Sat, 21 Feb 2015 21:25:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1041
有一个初始只有一个1的串 每次都按①0 -&gt; 10;②1 -&gt; 01;这两条规则进行替换
形如：n = 1 1
　　　n = 2 01
　　　n = 3 1001
　　　...
求经过n步替换之后 串中只含复数个0的连续子串（不难发现，这种子串只能是‘00’）的出现...]]></description><category></category></item><item><title><![CDATA[HDOJ-1007 Quoit Design（最近点对问题）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607981</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607981</guid><author>dicai4331</author><pubDate>Sat, 21 Feb 2015 15:25:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1007
给出n个玩具（抽象为点）的坐标 求套圈的半径 要求最多只能套到一个玩具
实际就是要求最近的两个坐标的距离
典型的最近点对问题

最近点对详解
http://blog.youkuaiyun.com/lonelycatcher/article/details/7973046

//最近点对
...]]></description><category></category></item><item><title><![CDATA[HDOJ-1005 Number Sequence]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607979</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607979</guid><author>dicai4331</author><pubDate>Sat, 21 Feb 2015 00:58:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1005
给出两个初值f(1) = 1；f(2) = 1和 递推公式f(n) = (a * f(n - 1) + b * f(n - 2)) % 7
输入a，b，n 要求输出f(n)
1 &lt;= n &lt;= 100,000,000这个限制条件表示直接迭代n次注定是超时的结局
由迭代公式...]]></description><category></category></item><item><title><![CDATA[HDOJ-1004 Let the Balloon Rise]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607976</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607976</guid><author>dicai4331</author><pubDate>Fri, 20 Feb 2015 22:48:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1004
输入N个字符串 输出出现频率最高的字符串

# include &lt;stdio.h&gt;
# include &lt;string.h&gt;
# define MAX 1005

struct BALLOON
{
	char Color[20];
	int Time...]]></description><category></category></item><item><title><![CDATA[HDOJ-1003 Max Sum（最大连续子段 动态规划）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607974</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607974</guid><author>dicai4331</author><pubDate>Fri, 20 Feb 2015 18:09:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1003
给出一个包含n个数字的序列{a1，a2，..，ai，..，an}，-1000&lt;=ai&lt;=1000
求最大连续子段和及其起始位置和终止位置，很基础的动态规划（DP）问题，看完DP第一次做的DP题目
DP真的是一种很优美的算法，或者说思想，但是比较难理解，我对DP的理解还很浅薄
...]]></description><category></category></item><item><title><![CDATA[HDOJ-1002 A + B Problem II （非负大整数相加）]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607971</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607971</guid><author>dicai4331</author><pubDate>Fri, 20 Feb 2015 16:56:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1002
输入的数都是正整数，比较好处理，注意进位。

//非负大整数加法

# include &lt;stdio.h&gt;
# include &lt;string.h&gt;
# define MAX 1100

int main()
{
	int t;
	char Num...]]></description><category></category></item><item><title><![CDATA[HDOJ-1001 Sum Problem]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607970</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607970</guid><author>dicai4331</author><pubDate>Fri, 20 Feb 2015 16:05:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1001

# include &lt;stdio.h&gt;

int main ()
{
	int n;
	while(scanf("%d",&amp;n) != EOF)
	{
		int Sum = 0;
		for(int i = 1; i &lt;= n; i++)
		...]]></description><category></category></item><item><title><![CDATA[HDOJ-1000 A + B Problem]]></title><link>https://blog.youkuaiyun.com/dicai4331/article/details/101607968</link><guid>https://blog.youkuaiyun.com/dicai4331/article/details/101607968</guid><author>dicai4331</author><pubDate>Fri, 20 Feb 2015 15:00:00 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=1000

# include &lt;stdio.h&gt;

int main()
{
	__int64 a, b;

	while(scanf("%I64d %I64d",&amp;a, &amp;b) != EOF)
		printf("%I64d\n",a + b);

	...]]></description><category></category></item></channel></rss>