2013年5月4日

摘要: 题目链接:http://poj.org/problem?id=1679题目大意: 判断一个连通的无向图的最小生成树是不是唯一的,如果唯一,输出最小生成树的权值,否者输出“Not Unique!”题目思路: 这题目看的书上的,其实,最开始我的想法是,在求最小生成树的过程中,如果扩展到某一个点的时候,有多种选择,也就是说,有多个权值相同的边可以选择,那么就break掉,说明最小生成树不唯一。其实这是有问题的,因为,很可能在这权值相同的边当中,只能选择其中一条,如果选择其它的就得不到最小生成树,这就是一个反例。所以原来的做法是错误的。 书上的做法是,首先,预处理,看每个边是不是有别的边的权值和... 阅读全文
posted @ 2013-05-04 21:57 aries__liu 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1751 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1048题目大意: 给定n个点的坐标。还有m对已经相连的点的编号。求连接这n个点的总权值最小的一棵生成树,输出还需要连接的点的编号。题目思路: 这道题目和以前做过的poj2421是一样的。这里采用了那篇博客里面的第一种方法。幸运的是,在poj上1A了。但是在zoj上,因为输入输出格式有一些不一样,卡了一下,到最后我也没明白“If no new highways need to be built (al... 阅读全文
posted @ 2013-05-04 01:25 aries__liu 阅读(943) 评论(0) 推荐(0) 编辑

2013年5月3日

摘要: 题目链接:http://poj.org/problem?id=2349http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=914题目大意: 有一些炮台,如果这个炮台有卫星接收器,那么任意两个有卫星接收器的炮台可以通信,不受距离限制;否者,两个炮台之间只能通过对讲机通信,这是受距离限制的。要买一种对讲机,用在需要的炮台上,要求所有炮台两两之间可以直接或者间接通信,问要买通信距离至少为多少的对讲机可以满足要求。输入:S卫星接收器的数量,P炮台的数量,然后是P行,每行代表一个炮台的坐标。输出要求的对讲机的通信距离D。题目思路: 题.. 阅读全文
posted @ 2013-05-03 23:36 aries__liu 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1789题目大意: 输入一个数字n,然后输入n个长度为7的字符串,从任意一个字符串开始派生,直到派生出所有的字符串,两个字符串的距离规定为他们对应位置不相等的字母的个数,求出一种派生方案,使得派生方案的优劣值最大,并输出这个优劣值。优劣值的定义是:1/Σ(to,td)d(to,td) 表示对所有派生对的距离求和,再取倒数。题目了思路: 要让优劣值最大,只需要距离之和最小,把7个字符串看成7个点,每两个点有一个距离,目的就是求权值最小的生成树,其实就是最小生成树。 1 #include <iostream> 2 #incl 阅读全文
posted @ 2013-05-03 16:00 aries__liu 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=586题目大意: 题目意思比较难懂。看书上的翻译竟然没有看懂,还是打开OJ,看英文的原题。看了两遍的样子,终于差不多懂了。 QS是一种生物,要完成通信,需要设备,每个QS需要的设备的价格不同,并且,这种设备只能在两个QS之间用一次,也就是说,如果一个QS需要和3个QS通信的话,它就必须得买3个设备,同时,对方三个也必须买对应的适合自己的设备。同时,每两个QS之间是有距离的,要完成通信还需要网线,给出每两个QS之间的网线的价值。求一棵生成树,使得所需要的费用最少。数.. 阅读全文
posted @ 2013-05-03 01:59 aries__liu 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 输入:顶点个数n和边数m,然后是m条边的数据。u v w 分别代表两个顶点和权值。顶点从1开始记起。输出:一次选择的各条边和最小生成树的权。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cctype> 6 #include <stack> 7 #include <queue> 8 #include <map> 9 #include <set> 阅读全文
posted @ 2013-05-03 01:04 aries__liu 阅读(286) 评论(0) 推荐(0) 编辑

2013年5月2日

摘要: 题目链接:http://poj.org/problem?id=2421题目大意: 给定一个矩阵,第 i 行第 j 列表示点 i 和点 j 的距离是s[i][j]。然后输入Q,下面Q行,每行两个数字a,b表示点a和点b已经有路相连。求需要至少再修多长的路,可以构成一棵生成树。输出需要在修的路的总长度。题目思路: 转化为最小生成树求解。有两种思路: 1)把已经相连的两个点的权值设置为0,这样,就可以直接求最小生成树了。因为kruscal的过程中,一定会选择到已经相连的这些点,因为它们的权值是0嘛,同时,即使把它们的权值加上,也不会影响结果。这个方法我好不容易想出来了,可是还有一个问题,就是:... 阅读全文
posted @ 2013-05-02 10:17 aries__liu 阅读(394) 评论(0) 推荐(0) 编辑

2013年5月1日

摘要: 题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12616题目大意: 给n个点,m条边,求一棵生成树,使得这个生成树的边的权值的中位数最小。输出这个中位数。题目思路: 和poj1861&&zoj1542的思路是一样的。可以证明要求的树就是最小生成树。然后就是中位数的概念:长度为N的数列的中位数,就是(N+1)/2位置的数字。百度百科里面貌似不是严格的中位数的概念。 开始写了一遍按照那种不严格的中位数的定义写的。过了。kruscal的过程中,只需要计算到(n-1+1)/2-1的那一条边即可退出。 阅读全文
posted @ 2013-05-01 21:43 aries__liu 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1861http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=542题目大意: 给n个点,m条边。求一棵生成树,并且满足任意两点之间的距离的最大值最小。输出这个最大值,然后输出树的边的数量,最后输出树的每条边。题目思路: 其实就是求最小生成树。关键就是证明,对于一个图的最小生成树来说,它的最大边满足在所有的生成树的最大边里最小。这是可以理解的。简单思考一下:假设最小生成树不满足这个条件。那么就是说,存在另一棵生成树,它的最大边的值比最小生成树还小,但是它的权值之和可.. 阅读全文
posted @ 2013-05-01 20:52 aries__liu 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=203题目大意: 给定N个点的坐标,求经过这N个点的路线长度总和的最小值。题目思路: 求出任意两点之间的距离,然后就是最小生成树。 写的过程中还是遇到了三个问题,有一个局部变量没有初始化;没有把边按照权值排序;另外就是没有看输出,每两个case之间有一个空行。这里有一个十分常见的问题,就是最后一个case后面没有空行。否则会PE。 1 #include <iostream> 2 #include <cstdio> 3 #include < 阅读全文
posted @ 2013-05-01 13:36 aries__liu 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 输入:顶点个数n和边数m,然后输入m行,每行输入格式:u v w 分别表示两个顶点和这个边的权值,顶点序号从1开始输出:一次选择的各条边和最终的最小生成树的权值 1 #include <cstdio> 2 #include <cstdlib> 3 #include <algorithm> 4 using namespace std; 5 #define MAXN 1000 6 #define MAXM 1000 7 int parent[MAXN], n, m; 8 typedef struct Edge { 9 int u, v, w;10 bool op 阅读全文
posted @ 2013-05-01 12:08 aries__liu 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1094http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=60题目大意: 输入两个整数,n, m 分别表示以下的字母在字母表前 n 个字母范围内,有 m 行,每行描述一个大小关系,只有小于号。如果从开始到某一个关系式可以确定最终的序列,就输出确定的序列。如果得到矛盾,就输出到此经历的几个关系式。如果最终都没有确定,就输出序列不能确定的信息。题目思路: 边读入,边建图,每读入一条表达式,就拓扑排序判断是不是可以确定最后的序列了。如果可以得到最后包含全部n个字母的序.. 阅读全文
posted @ 2013-05-01 01:23 aries__liu 阅读(147) 评论(0) 推荐(0) 编辑

2013年4月30日

摘要: 题目链接:http://poj.org/problem?id=2585http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2193题目大意: 有9个窗口,每个窗口占4个格子,并且每个窗口的位置是固定的。如果重叠的话,在前面的窗口会覆盖另一种窗口,这9个窗口在4*4的矩阵里面,给出一种矩阵的格局。问这中格局是不是合法的。题目思路: 还是看的书上的。刚开始一点也没有思路。方法就是:16个格子,每个格子可能会存在哪几种窗口,这是可以枚举出来的。针对输入的矩阵,那么可以判断,每一个格子会覆盖哪几种窗口,如果这种窗口在16个格子里.. 阅读全文
posted @ 2013-04-30 19:15 aries__liu 阅读(755) 评论(0) 推荐(0) 编辑

2013年4月29日

摘要: 题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12614&courseid=247题目大意: 有一种字典。把字典中的符号映射到英文字母。输入一个n,然后是n行映射后的单词,判断这n个单词是不是符合字典序,所谓字典序就是前面的单词可以是后面的单词的前缀,并且这n个单词符合字符串排序后的顺序,这是针对原来的字母的,而不是映射之后的字母。题目思路: 需要考虑映射之后的字母的相对顺序,来考虑是不是在原来的字母表中是不是符合字典序。 这道题目开始没看懂,最关键的第一段描述没有注意到,结果样例都看不懂。纠结了好 阅读全文
posted @ 2013-04-29 16:48 aries__liu 阅读(265) 评论(0) 推荐(0) 编辑

2013年4月28日

摘要: 输入:顶点个数n,边数m,然后是m行,表示每条边的起点和终点u, v 表示从顶点u到顶点v的一条有向边。输入0 0 表示结束。输出:如果不存在有向环,则输出一个拓扑有序序列;否则,输出“Netword has a cycle!” 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cctype> 6 #include <stack> 7 #include <queue> 8 阅读全文
posted @ 2013-04-28 01:51 aries__liu 阅读(294) 评论(0) 推荐(0) 编辑

2013年4月27日

摘要: 输入:n,m代表顶点数目和边数。然后m行,代表每个边的起点和终点。0 0 表示结束。输出:第一行为n个正整数,表示每个点的出度;第二行为n个正整数,表示每个点的入度。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cctype> 6 #include <stack> 7 #include <queue> 8 #include <map> 9 #includ 阅读全文
posted @ 2013-04-27 22:29 aries__liu 阅读(263) 评论(0) 推荐(0) 编辑

2013年4月26日

摘要: 25日 晚上去图书馆还书,没去跑步。开始读TAOCP,^_^26日 都起跑了才发现脚貌似有点儿受伤,大脚趾有些疼的感觉。乖乖回来了o(╯□╰)o 看来得休息几天了。 今天晚上自习的时候开始考虑要不要考研,以前的想法都是坚决不考研的,但是现在,唉……我也不知道该怎么办,总之,不想这些了,现在还是好好学习数学,英语,还有专业课,到时候想考就拼一下。目前最重要的是认真做比赛,还要努力把数学英语搞好,这货哪里都用得到。把自己的基础打好,各种技术都要自己去学,不管以后是去考研还是去找工作,都有好处,具体怎么样,以后的事情以后再说,现在想这些都没用。 纯粹胡思乱想…… 人生貌似有些迷茫了又。。迟... 阅读全文
posted @ 2013-04-26 22:53 aries__liu 阅读(121) 评论(0) 推荐(0) 编辑

2013年4月25日

摘要: 晚上有一些冷,开始起跑的时候状态就不好,中途产生了厌跑的心理,这种事情是最可怕的,尤其是这种情况,体力跟不上,还有一些负面情绪,最后在中途停下来了,悲剧了……其实跑步的时候,最大的敌人就是自己,如何战胜自己。后来就是跑跑停停,最后还是勉强跑完了。。 唉,我承认自己的意志力可能永远没有人家强,比如高中同学shiwei,从心底里佩服这种人,能够一上午一动不动地趴桌子上做题。现在还能想起那么专注的情景,似乎外界早已经和自己无关,这种状态我貌似很少有,自从上大学以来。。真的。 不是玩手机,就是看书的时候,看一会儿就看不下去了……唉,心太浮躁了。 也许是电脑用太多了,干什么都想追求速度,电脑卡... 阅读全文
posted @ 2013-04-25 02:09 aries__liu 阅读(119) 评论(0) 推荐(0) 编辑

2013年4月24日

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795题目大意: 高度为h,长度为w的板子,贴n个海报,每个海报的高度都为1,长度由n个整数给出。贴海报的原则是,从高到低,优先选高的,从左到右,优先选右边的位置。起初每个海报在板子上所在的行数。题目思路: 建立一棵叶子节点有h个的线段树,每个节点代表这个区间内的最大值,最开始,叶子节点都是w。然后每插入一个值就插入到叶子节点,输出叶子节点的值,然后更新父节点。 这道题目的难点是,要想到建立线段树,把模型抽象出来。 1 #include <iostream> 2 #include < 阅读全文
posted @ 2013-04-24 09:30 aries__liu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 22日 雨 晚上下雨,没跑成……23日 阴转雨 晚上跑步出门的时候,有一些小雨点,但是貌似好几天没跑了,所以,还是起跑了。状态还差不多,天气也挺凉快,到终点的时候,悲剧了,开始下雨了。。还有2500+m的路程。。唉,浑身上下都是汗水和雨水。最终还是回来了,可怜我的P3……进水了还没挂o(╯□╰)o晚上回去赶紧洗澡,换衣服…… 阅读全文
posted @ 2013-04-24 08:31 aries__liu 阅读(106) 评论(0) 推荐(0) 编辑

2013年4月23日

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394题目大意: 给一个数字由0~n-1这n个数字组成的数列,不断地把第一个数字移动到最后,一共得到n个数列。求这n个数列中,逆序数最小是多少。题目思路: 首先,建一棵线段树,每个节点表示这个区间内已经插入的数字的个数,开始初始化为0.然后没读入一个数字,把这个数字插入得到线段树的叶子节点,然后向上更新父节点。这样,在建树的过程中,就可以统计出每个逆序数,也就是说,可以再插入每个数字的时候,查找已经插入的数字当中,比这个数字大的数字有多少个,直到最后就可以求出这个数列的逆序数。 然后,利用数列... 阅读全文
posted @ 2013-04-23 23:23 aries__liu 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 http://acm.hdu.edu.cn/showproblem.php?pid=1166都是最基础的线段树,考的知识点就是点更新,区间求和,区间求最大值。再次学线段树,感觉理解加深了一些。但是写的时候还是会出现各种奇葩的错误。唉。hdu1754 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include < 阅读全文
posted @ 2013-04-23 14:54 aries__liu 阅读(147) 评论(0) 推荐(0) 编辑

2013年4月22日

摘要: 题目链接:http://poj.org/problem?id=2478题目大意: 给你一个数列f(N),这个数列是由一系列不能约分的分数 a / b (0 < a < b <= n 且 (a,b) = 1)按照递增的顺序排列而成的。输入一个N,求这个数列中元素的个数。题目思路: 因为题目只需要求出元素的个数,所以,把分母相同的放在一起,然后就发现规律了,其实就是求从2到 n 的欧拉函数的和。范围只有10^6,可以打表预处理。思路很清晰。因为要反复用欧拉函数,所以比较快的方法是用递推的方法求。 1 for (i = 1; i <= maxn; ++i) f[i] = i; 阅读全文
posted @ 2013-04-22 12:58 aries__liu 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2407题目大意: 这个题目就是欧拉函数的定义,求一个数字的欧拉函数。题目思路: 用公式:φ(n) = n * (1-1/p1) * (1-1/p2) * …… * (1-1/pk)。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cctype> 6 #include <stack> 7 #include <qu 阅读全文
posted @ 2013-04-22 08:36 aries__liu 阅读(186) 评论(0) 推荐(0) 编辑

2013年4月21日

摘要: 题目链接:http://poj.org/problem?id=2480题目大意: 给定一个数字N,求∑gcd(i, N) 1<=i <=N 的值。题目思路: x是一个数字,m与n互素,则gcd(x,m*n) = gcd(x, m) * gcd(x, n) 令g(y) = gcd(x, y) 那么g(y)是一个积性函数。令f(N) =∑gcd(i, N) 满足gcd(x, n) = 1 的个数是欧拉函数φ(n),那么可以知道,满足gcd(x, n) = p 的个数可以这么求:x 和 n 同时除以 p ,那么gcd(x/p, n/p) = 1 ,那么个数就是φ(n/p)。 分解N = 阅读全文
posted @ 2013-04-21 23:45 aries__liu 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 19日 晚上挑战赛,输了,回宿舍很晚了,没去跑步。20日 今天状态不是很好,中途P3还没电了……虽然跑得很慢,但还是跑完全程了~21日 晚上校队讨论,回去10点多了,没去跑步。今天上午上西班牙语选修课,很有意思~中南赛没能去,唉。以后挑战赛坚决不能输! 阅读全文
posted @ 2013-04-21 23:04 aries__liu 阅读(107) 评论(0) 推荐(0) 编辑

2013年4月20日

摘要: 题目链接:http://www.acm.uestc.edu.cn/problem.php?pid=1824题目大意: 给一个大的字符串,给一个数字n,然后给出n个小的字符串,在大的字符串里面每个字母只能选一次,问最多可以组成多少个小的字符串。小的字符串最多有10个,每个小字符串和大字符串长度最多10000。题目思路: 因为最多有10个小的字符串,从10个里面选,最多有1024种选法。因为字符串只包含26个小写字母,可以统计每个小字符串里面的每个小写字母的个数,这样,复杂度大约在10×26×1024,是10^5的范围,可以枚举。 比如对于n个字符串,最多有1<<n 阅读全文
posted @ 2013-04-20 09:30 aries__liu 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 卡在了水题上。后面的题目就不用说了,根本就没看。平时学习的东西根本就没有用上,简单题这一关就过不了。 唯一需要注意的就是,一道题目,有了想法,自己先把能考虑到的情况都考虑周全,不要指望和队友讨论再讨论一下,有的时候队友在思考自己的想法,没有时间,所以自己一定要考虑周全,再敲代码,千万不要有一个想法就敲,快写完的时候发现错了……就悲剧了。还有就是,读题,这次我就读错了一道题目,把队友坑了,虽然后来队友发现了,但我们三个还是都没有想法,比较坑的是,这题可以枚举,因为是10个人,范围很小。我们三个都没有注意到这一点。llh本来当时还问了一下范围,我看题的时候看到了10人,后来忘了,,就说题目没... 阅读全文
posted @ 2013-04-20 09:06 aries__liu 阅读(152) 评论(0) 推荐(0) 编辑

2013年4月19日

摘要: 题目链接:http://poj.org/problem?id=2001这道题目以前写过,复习一下字典树,再写一遍…… 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cctype> 6 #include <set> 7 #include <map> 8 #include <vector> 9 #include <stack>10 #include 阅读全文
posted @ 2013-04-19 15:46 aries__liu 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1298题目大意: 字母映射。太简单了。不说了。感脚都不好意思在博客里面写……水题一次最多切3道,再多就没意思了……也没有意义……题目思路: 为了学习STL,用的map。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <cctype> 6 #include <set> 7 #include <map> 8 # 阅读全文
posted @ 2013-04-19 14:18 aries__liu 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3087题目大意: 给定长度都为C两个字符串,S1,S2,和一个要求的结果字符串SS。先把S2的最下面一张牌放在最下面,然后S1,S2交错的叠放,得到S,再把S最下面的C个字符赋值给S1,把剩下的赋值给S2,再次重复上面的过程。最后求出要得到SS,需要几步这样的过程。题目思路: 开始以为是用STL的栈,后来才发现根本用不到,直接用字符串模拟就可以了。为了学习一下STL,用的是string类。只要比较当前得到的字符串和要得到的字符串是不是相等就可以了。如果永远也得不到要得到的字符串,那么就一定存在S1和S2和原来的S1和S2都对应.. 阅读全文
posted @ 2013-04-19 13:53 aries__liu 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1002题目大意: 给定一组电话号码,如果是包括字母,那么就映射到数字,统计相同的电话号码个数大于1的号码,按照从小到大的顺序输出,并且输出相应的个数。题目思路: 因为电话号码最多又7位数字,在整数范围内,把每个读入的电话号码转化成整数,用一个map记录是不是出现过,如果出现过,就把相应的map记录加1,如果没有出现过,就把这个数字放进一个数组arr里面,这样arr里面的数字是不重复的。最后把arr排序,对于每一个数组元素,输出相应的map记录,也就是它出现过的次数。 输出的时候,按照整数输出,但是要注意,开始要输出3位,如果... 阅读全文
posted @ 2013-04-19 11:22 aries__liu 阅读(231) 评论(0) 推荐(0) 编辑

2013年4月18日

摘要: 今天跑步状态超好,呼吸,速度都控制得很好,不知不觉就跑完全程了,还有一种意犹未尽的感觉。O(∩_∩)O哈哈~ 刚刚发现,其实自己每天的跑步路程也不过5200米,赶脚弱爆了……~唉,继续加油吧~~ 阅读全文
posted @ 2013-04-18 23:46 aries__liu 阅读(95) 评论(0) 推荐(0) 编辑

2013年4月17日

摘要: 今天跑步状态不错。起跑的时候正好遇到两个哥们在一起跑,我去……还跑得挺快,遇到高手了,但是正好也有了动力,紧跟着跑,状态还不错,跑得挺爽,好久没这么有激情地跑过了,然后不到一半的时候,一哥们干脆停下来了……挺悲剧的,唉,只要一停下来,就基本跑不起来了,然后就剩下我跟另一个人跑,那人很强悍,以那个速度,一直那么跑,不带减速的,然后我心理想:这回遇到真正的高手了。他同时也在加速,我有点儿撑不住,但是还是尽力坚持,因为我知道,只要距离拉远了,再跟上就不可能了,一直这么坚持了一段时间,心里想着,当一个人的平均速度和别人本来就有差距的时候,注定是没有赢得希望的,因为人家以正常的速度跑,习惯了,你以人.. 阅读全文
posted @ 2013-04-17 23:37 aries__liu 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=116&page=show_problem&problem=555题目大意: 给一个棋盘,分布着蛇和梯子,投骰子确定走的步数,问最少投几次骰子可以到达终点,到达蛇头就回到蛇尾,到达梯子底部就上升到梯子顶部。思路: BFS,到达每一个节点都可以扩展出6个节点,判断终点是不是到达过,如果到达过,退出循环。这题WA了…… 1 #include <iostream> 2 #inc 阅读全文
posted @ 2013-04-17 09:28 aries__liu 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1006题目大意: 人体有三个周期,23,28,33. 对于每个周期分别给出从第0天开始,这三个周期的高潮出现的一个日期,不一定是第一次,p , e , i 。给出一个天数 d 表示今年已经过去了多少天,计算在这 d 天之后,三个高潮同时出现的那一天距离现在还有多少天。思路: 23, 28, 33 是两两互素的,题目意思就是求一个数字 x ,使得这个数字 x 和 p 对23同余,同时 x 和 e 对28同余,同时 x 和 i 对33同余。所以可以用中国剩余定理解。这是一个同余方程组。 x = p(mod 23); x = e (.. 阅读全文
posted @ 2013-04-17 02:20 aries__liu 阅读(246) 评论(0) 推荐(0) 编辑

2013年4月16日

摘要: 今天跑步状态两个字:完美! 从一开始就感觉跑得比较快,并且节奏和呼吸都控制得比较好,本来觉得可能跑不完全程,结果连自己都很惊讶,竟然以那样的速度跑完了全程,时间大约40分钟,路程貌似是最长的一次,好神奇。可能是今天身体状态比较好,再加上心理状态比较积极,好久没有跑得这么酣畅淋漓了! 其实跑步的过程中,最重要的是战胜自己的心理,通过了这一关,剩下的就都不是问题了,有时候甚至会惊讶于自己竟然 能够跑这么远,起初这都是不曾想象过的。 总之今天跑步的速度堪比当年高中时候的跑步速度,O(∩_∩)O哈哈~太爽了 ACM其实只是一个比赛,当做一种爱好吧,全力以赴,不为别的,只因为兴趣而已,解决问... 阅读全文
posted @ 2013-04-16 22:42 aries__liu 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 13日 晴 那天去中南比赛,回来比较累,下午睡了一觉,晚上去跑步,然后喝了一口水,我去……跑的过程中各种纠结,,唉,全程不舒服,走走停停,很不爽。14日 晴 天气比较好,可惜,晚上校队有讨论,回到宿舍已经10点半了,这个时候的湘江边几乎没什么人了,貌似还有点儿害怕~长沙这种,地方嘛,^_^ 跑一半路程就回来了,一点儿也没意思,o(╯□╰)o 后来权当散步了。。。。 最近几天貌似状态不好啊。15日 晴,小雨 晚上去跑步,开始有一哥们儿在我后面跑,赶脚好有动力,O(∩_∩)O哈哈~所以开始速度比较快,跑到后期那哥们儿从另一条路走了,每个人的路线都不一样啊,后来一直自己跑,回来的路上,突然下起... 阅读全文
posted @ 2013-04-16 00:49 aries__liu 阅读(126) 评论(0) 推荐(0) 编辑

2013年4月15日

摘要: 题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1532题目大意: 给一个数字,各位数字的平方和相加,依次循环,如果最后得到1,那么这个数字就是happy number,如果不能,就是unhappy number。思路: 因为题目范围只有10^9,所以可以暴力求解,数字的平方和最大是9*9*9=729,可以用一个数组标记这个数字是否被访问过。 1 #include <iostream> 2 #include 阅读全文
posted @ 2013-04-15 23:35 aries__liu 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089题目大意: 含有4或者62的数字是不吉利数字,给一个区间,[m, n],求这个区间内的除了不吉利数字以外的数字的数目。思路: 由于数据范围只有1~1000000,可以暴力,水题,但是为了练习一下数位DP,没有把它当水题做…… 看的是这个人的代码:http://blog.csdn.net/acm_cxlove/article/details/7819907# 和hdu3555那道题目相似,但是多了一个条件,多了一个不含有4的条件,讨论一下。 1 #include <iostream> 阅读全文
posted @ 2013-04-15 21:24 aries__liu 阅读(1343) 评论(0) 推荐(0) 编辑