坐井观天

In the name of dream

导航

2021年4月1日

摘要: 周尚超老师是华东交大ACM集训队的创始人和教练,连续多年带领交大学子在全国大学生编程竞赛中获奖,他的学生遍布全国各地,在互联网行业中崭露头角。2013年春,周老师因病逝世,他的女儿周娟老师接过衣钵,继续带领交大ACM队。前几日收到周娟老师的信息,说写一些关于周老师的故事,我努力地去回想,才发现周老师 阅读全文

posted @ 2021-04-01 12:10 一毛_ 阅读(122) 评论(0) 推荐(0) 编辑

2012年7月18日

摘要: 题目链接:http://poj.org/problem?id=2513题目大意: 给定最多25000个筷子,两头有颜色(字符串表示),要求判断这些是否可以连成一条直线,要求是只有相同颜色的才可以连接。分析: 这题我居然想了两个晚上都不会!!!!!!!!!!!!!!!!!!! 看了题解:.http://blog.sina.com.cn/s/blog_5cd4cccf0100apd1.html 注意我看了题解之后一时情急代码居然写wa了, 字符串hash我用了字典树,而且只会字典树。 判断是否是欧拉回路: 1、并查集判断是否连通,用带路径压缩的写法就可以,然后要扫描出根,对每个点在f... 阅读全文

posted @ 2012-07-18 08:53 一毛_ 阅读(252) 评论(0) 推荐(0) 编辑

2012年7月2日

摘要: 题目链接:http://poj.org/problem?id=1511题目大意: 给定一个n(n<=1000000)个点的有向图,1为起点,求 1到所有点的最短路径之和 + 所有点到1的最短路径之和;分析: 对于原图求一次最短路,再对反图求一次最短路即可; 最短路可以使用spfa或者dijkstra+heap,下面都可以作为模版了很好用,深刻理解算法原理是关键; 尤其是dijkstra+heap有多种写法,用下面的写法是比较好的(来自fhq队长);代码:poj1511 SPFA代码 1 /*1511 Accepted 44324K 1688MS C++ 1... 阅读全文

posted @ 2012-07-02 18:23 一毛_ 阅读(530) 评论(0) 推荐(0) 编辑

2012年6月26日

摘要: 题目链接:http://poj.org/problem?id=3411题目大意: 给定n个点,m条边(n,m<=10),每条边ai,bi,ci,pi,ri表示从ai到bi有边,付费方式两种: 1、 之前在ci点付费pi, 2、 到达bi点再付费ri; 求1到n的最小花费;分析: 纯属乱搞,状态( u, cost, node ),u表示当前节点,cost表示此时花费,node表示已经经过的点(二进制表示),用优先队列+bfs过。 开始tle了,后来干脆给每条边开了一个cnt计数,初始化为0,然后没访问边一次,cnt++,当cnt>20时不访问,居然ac了!!! 注意 pi <= 阅读全文

posted @ 2012-06-26 21:30 一毛_ 阅读(236) 评论(0) 推荐(0) 编辑

摘要: 题目链接:http://poj.org/problem?id=1724题目大意: 给定一个图,边有边权和费用,要求在给定总费用下,求从st到ed的最短路。分析: 开始考虑着dp,离散dp,后来发现这个很水,直接写了bfs+优先队列,居然1A; Discuss里面iSea神说到 逆着bfs用vector可以存边,我就是这样写的,可是我觉得本来就该逆着做,因为是求st到ed的最短路,那么理应以ed为出发点,不是吗? (这句话应该是不妥的,但是你这样做保证你ac此类题); 类似dijkstra的贪心,先贪距离,再贪费用,体现在优先队列的优先级上,具体见代码,另外我觉得这题还是数据弱吧,我连标... 阅读全文

posted @ 2012-06-26 20:33 一毛_ 阅读(267) 评论(0) 推荐(0) 编辑

摘要: 题目链接:http://poj.org/problem?id=2243题目大意: 给定一个8×8棋盘,问骑士在棋盘中走“日”,从指定点s到指定点e所需的最小步数;分析: 看A*算法的时候,作者引用了这个例题,并且写了个A*代码,咋一看是个floyd; 只需要把一步就可以走到的两点之间距离初始化为1,其余初始化为inf,然后跑一遍floyd就可以得出所有的最优解; Discuss里也有人说是纯数学题,还不理解。 另外这题用bfs也是一样的,见我的poj1915(n<=300)的bfs代码:poj1915 1 /*1915 Accepted 396K 94MS C... 阅读全文

posted @ 2012-06-26 16:20 一毛_ 阅读(212) 评论(0) 推荐(0) 编辑

摘要: 题目链接:http://poj.org/problem?id=2449题目大意: 给定一个有向图,求st到ed的第k短路。分析: 显然,我是看解题报告的。 1、逆向求所有点到ed的最短距离(Dijkstra,ed作为起始点); 2、A*,即建立一个优先级f[x]= h[x] + g[x]; h[x]作为当前搜索时的代价(即本题搜索中的实际距离),g[x]为估价函数,从当前节点移动到目标节点的预估费用,本题选1中所求的最短距离作为估价函数g,进行普通的bfs+优先队列就可以了,用cnt[]记录每个点出队列的次数,当cnt[u]>k就可以continue; 当cnt[u]==k && 阅读全文

posted @ 2012-06-26 13:53 一毛_ 阅读(686) 评论(0) 推荐(0) 编辑

摘要: 题目链接:http://poj.org/problem?id=3635题目大意及分析: http://hi.baidu.com/legend_ni/blog/item/c7525409cf8057f036d1229d.html http://ip96cns.blog.163.com/blog/static/1700951922011215104442567/ 显然这题我不会,后来觉得应该要dp的才是,因为前后总是会有影响。 看了解题报告后似乎有点明白,然后自己实现了代码,发现比上面链接里的代码略了一个数组dp[][],我的代码还是比他们的更有可取之处的,我想我以前还是不曾深入地认识bf... 阅读全文

posted @ 2012-06-26 10:34 一毛_ 阅读(569) 评论(0) 推荐(0) 编辑

2012年6月23日

摘要: 题目链接:http://poj.org/problem?id=3463题目大意及分析: (我这题不会,纯属抄袭) http://www.cppblog.com/Yuan/archive/2010/04/19/112983.html代码风格不错,学习了下dijkstra+优先队列来解决这种题目,也学到了那个Node(int v_, int f_){v=v_,f=f_;}的写法;代码:poj3463 1 /*3463 Accepted 572K 47MS C++ 2481B 2012-06-23 19:44:41*/ 2 #include <cstdio> ... 阅读全文

posted @ 2012-06-23 19:48 一毛_ 阅读(227) 评论(0) 推荐(0) 编辑

2012年6月22日

摘要: 题目链接: http://poj.org/problem?id=2516题目大意及分析: http://blog.csdn.net/lyy289065406/article/details/6742534 这个题解非常非常详细,我的构图和他反了下,本质一样。 这题KM的做法: http://blog.csdn.net/ChinaCzy/article/details/5813011P.S. 这题我错了三天,三天来一直在搞这题,把网上一份和我的类似的代码找来改成我的风格,不断差错…… 不觉得把时间这样浪费是一种对生命的亵渎吗?区域赛说近也近了,三天可以做多少事啊!1、我过去习惯的spfa... 阅读全文

posted @ 2012-06-22 14:31 一毛_ 阅读(234) 评论(0) 推荐(0) 编辑