上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 32 下一页
摘要: 近期所做题目中最好的一道,首先是比较创新不是常规的,另外需要比较好的数学功底能够洞察到一些小细节,然后转化方法貌似有很多,我自己想了很多但是都很差劲,最后实在没办法很无耻地找了解题报告,这篇解题报告感觉写得最好,我就是按照他的思路自己写的代码1A,佩服佩服此大神解题报告 http://hi.baidu.com/lixubd/item/1fbebd2c0389700f43634a5f算法思路都在里面了,我就不写了,我自己独立写了代码,加了很多注释,代码虽然比较多(这道题代码本来就多),然后其实不难读懂说明一点,预处理后的矩阵行和列都翻倍了,我的代码行和列都是从1开始标号的,而那位大神的代码都是从 阅读全文
posted @ 2012-11-16 23:41 Titanium 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 在poj上也有 是poj 1420,在poj上AC了,但是在UVA上RE题意:很好理解就是给你一个表格,一些元素已经有数字了,一些元素还不知道,但是它等于某些元素相加的和,要你补完整个表格(行用1到999表示,列用大写字母来表示,用ABC开始一直到ZZZ,这个很容易算出来,26+26*26+26*26*26=18278,字符处理有些麻烦,代码中的funtion函数)这个东西一开始没想到是什么,后来喵了一下解题报告说是拓扑排序,瞬间就懂了,因为有些元素是未知的,未知的元素是由已知的元素相加得到的,那么就是有一个优先关系,看sample就看得出来然后数据较大,打了一半不知道要怎么做了,然后又轻轻喵 阅读全文
posted @ 2012-11-14 18:10 Titanium 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 献上题意:个你一个转轮,有5种颜色,为了5中颜色的位置是确定的,为了方便处理我们用01234来表示绿,黑,红,蓝,白。轮子可以沿着它的方向滚动(只能是它当前的方向不能相反方向),每滚动一次会到达另一个格子,着地的颜色会改变,变了之前颜色的下一个,例如当前是绿色着地下一次就是黑色,依次是红蓝白。也可以原地转动(顺逆时针都可以),原地转动其实就是改变了轮子的滚动方向,原地转动每次能转90度。原地转动一次和滚动一次时间都是1秒。另外轮子有4个方向,上北下南左西又东。另外给你n*m个格子,有些格子不能到达,用#表示,给你起点S和终点T。在起点时轮子方向规定向北,绿色着地,然后滚动到终点,要求绿色着地, 阅读全文
posted @ 2012-11-14 15:13 Titanium 阅读(970) 评论(0) 推荐(1) 编辑
摘要: 说白了还是搜索题输入n有n个点,从1到n标号,起点为1,终点为n,下面n行是每个点信息第一个数字是该点所带的能量值,第二个数字是该点的出度m,然后m个数分别是和该店相连的点的标号起点和终点的能量值都是0游戏一开始的能量值是100,没到达一个点,新的能量值等于之前的能量值加上该点的能量值,游戏要求在任何一个的时候能量值都不能小于等于0,问最后能否到达终点另外一个点是可以多次到达的这题不要想复杂了其实很好做当发现有个和为正值的环存在时,直接求看该点能否直接到达终点。如果可以,直接返回true,即winnable。否则,不用做任何的标记。因为不会再去探索它是否可以直接到达终点。在搜索的过程中看看有没 阅读全文
posted @ 2012-11-13 09:53 Titanium 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 图的搜索,双重搜索题意:(折腾的UVA又是好难懂的题意),给你一个h行w列的矩阵输入(标准的),注意输出w h,别颠倒过来。然后只有三种点 '*' , '.' , 'X'其中X和*一起称为区域I,在区域I中相连的X称为区域II , 输出就是输出m个数字,其中m就是区域I的个数,这m个数字中第i个数字num[i]表示某块区域I一面又多少个区域II其中相连是两个格子有公共边,只有点不行,所以对于一个格子而言有4个相连的格子,分别就是上下左右另外区域I可能是任意形状的,可以看samplesample中就是有4块区域I左上角的区域I有两个X,但是这个两个 阅读全文
posted @ 2012-11-11 00:55 Titanium 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 一样的题目,看poj 1386 Play on Words即可 阅读全文
posted @ 2012-11-10 20:06 Titanium 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 再学欧拉路无力再写题解报告了,最近写得最难受的一道题,前前后后调试了有10来个小时,就一个这么个BUG#define N 30#define MAX 1010开某些数组的时候把N和MAX写反了但是…………代码还是有问题的,G++一直过不了,一直是WA,C++可以过,等下还要调试,一定要把G++给过了题意:和poj 1386 是一样的题目,不过这次要输出路径,而且要字典序最小做法:用邻接表来构建有向图(我的构建方法和网上找来的不一样,不是用白书介绍的那种模拟链表的头插法,而是直接一点,比较然后插入,已有的元素向后移,感觉在时间上没什么差距)。然后用并查集来判断有向图的基图是否连通(其实直接用邻接 阅读全文
posted @ 2012-11-10 17:58 Titanium 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 再学欧拉路,没搞清楚定理错了好几次题意:给你n个单词,要求这些单词相连,要求是前面的字母的尾字母和后面单词的头字母相同,问你这n个单词能不能全部连起来,可以连成一条链或者连成一个环另外单词只有小写字母。很容易想到,顶点集合就是26个小写字母,用1到26来表示,一个单词的首字母和尾字母就是一条有向边,注意是有向边,因为单词是不能倒回来的其实就是问你这个图是否存在欧拉道路(一条链的情况)或者欧拉回路(环的情况),反正存在欧拉路就是成功的,否则就是失败判断有向图是否有欧拉路1.判断有向图的基图(即有向图转化为无向图)连通性,用简单的DFS即可。如果图都不连通,一定不存在欧拉路2.在条件1的基础上 对 阅读全文
posted @ 2012-11-09 20:44 Titanium 阅读(657) 评论(0) 推荐(2) 编辑
摘要: 推荐技术公众号:不爱睡觉的大猪 题意:给你n个珠子,一个珠子分为两半有两种颜色,用1到50来表示50种不同的颜色。把这些珠子串起来,两个紧挨着的珠子要满足一个条件就是接触的那部分颜色要相同 例如(1,2)(2,4),两个珠子的接触部分颜色相同都为2。当然,因为珠子最后是连成环的,第一个珠子和最后一个 阅读全文
posted @ 2012-11-09 12:19 Titanium 阅读(2227) 评论(1) 推荐(4) 编辑
摘要: 题目翻译:1976年“四色定理”在计算机的帮助下被证明。 这个定理宣告任何一个地图都可以只用四种颜色来填充, 并且没有相邻区域的颜色是相同的。现在让你解决一个更加简单的问题。 你必须决定给定的任意相连的图能不能够用两种颜色填充。 就是说,如果给其中一个分配一种颜色, 要让所有直接相连的两个节点不能是相同的颜色。 为了让问题更简单,你可以假设:1. 没有节点是连接向它自己的。2. 是无向图。 即如果a连接b, 那么b也是连接a的3. 图是强连接的。就是说至少有一条路径可走向所有节点。方法一:广搜BFS由题目可知,对于每个结点,所有和它相接的点必须和这个点颜色不一样。那么,很自然可以用广搜来做: 阅读全文
posted @ 2012-11-07 23:51 Titanium 阅读(229) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 32 下一页