上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 38 下一页
摘要: 官方解题报告:http://page.renren.com/601081183/note/8672549111001Number Sequence 容斥定理+组合数hduhttp://acm.hdu.edu.cn/showproblem.php?pid=4390题意:给你b1,b2,...bn个数,求存在多少个这样的序列a1,a2,a3....an满足a1*a2*a3*a3...an = b1*b2...*bn; ai>1思路:首先多谢日华兄热心的给我讲解,现在算是明白点了吧。a1*a2...*an = sum;我们首先将sum的所有质因子分解出来,然后就是将质因子分配到N个ai里面求有 阅读全文
posted @ 2012-08-24 11:22 E_star 阅读(303) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4380http://acm.hdu.edu.cn/showproblem.php?pid=4353http://acm.hdu.edu.cn/showproblem.php?pid=4367昨天第9场比赛的第一题类型据说已经出成屎了,如果不是数据出错了,做就会被轮奸的。于是就坐了坐类似的题目。这里有一个同一的前提,不存在三点共线;首先给出这类题目的解法AC大神:http://hi.baidu.com/aekdycoin/item/3f151dafcfcfb9ac29ce9ddc还有一个帮助理解s[i][j]的 阅读全文
posted @ 2012-08-22 19:37 E_star 阅读(340) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1286题意:3种颜色对一个有n个顶点的圈着色,问有多少种不同的着色方法。对于通过旋转或者翻转得到的相同的着色视为一种;思路:Polya定理 设有n个对象,G是这n个对象上的置换群,用m种颜色涂染这n个对象,每个对象涂染一种颜色,问有多少种染色方案?一种染色方案在群G的作用下变为另一种方案,则这两种方案当作是一种方案。 方案数为因为这里的有旋转与翻转两种所以|G|的个数为2*n |G|表示置换群的个数View Code #include <iostream>#include <cstdio>#include <c 阅读全文
posted @ 2012-08-21 11:35 E_star 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 官方解题报告:1001 hdu 4370http://acm.hdu.edu.cn/showproblem.php?pid=4370题意:给你一个n*n的矩阵,求另一个矩阵满足如下条件:1.X12+X13+...X1n=12.X1n+X2n+...Xn-1n=13.for each i (1<i<n), satisfies ∑Xki(1<=k<=n)=∑Xij(1<=j<=n).使得∑Cij*Xij(1<=i,j<=n) 最小,官方解题报告已经很完善这里不再罗嗦,只是强调一下在自己出现的错误:1:这里分别得到由1,n出发的环视如果不存在返回的都是 阅读全文
posted @ 2012-08-20 21:22 E_star 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 链表:struct node{ int v; //边的结束顶点 int w; //边的长度 node* next; //指向以同一起点的下一条边的指针}*head[N],H[M]; //head[u]指向以u为起始点的第一条边void init(){ memset(head,NULL,sizeof(head));}void add(int u, int v, int w)//添加边{ node* p = &H[tt++]//new node; p->v = v; p->w = w; p->next = head[u]; head[u] = p;}//使用的时... 阅读全文
posted @ 2012-08-14 18:20 E_star 阅读(604) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2057题意:蜗牛的房子遗失在了一棵树的某个叶子结点上,它要从根结点出发开始寻找它的房子。有一些中间结点可能会住着一些虫子,这些虫子会告诉蜗牛它的房子是否在以这个中间结点为根的子树上,这样蜗牛就不用白跑路了。当然,如果有些结点没有住着虫子的话,那么可怜的蜗牛只有靠自己决定访问顺序来探索了。假设蜗牛走过一条边的耗费都是1,且房子遗失在每个叶子结点的概率都是相等的,那么请问蜗牛找到他的房子的最小数学期望值?思路:http://blog.sina.com.cn/s/blog_5f5353cc0100hd08.html (觉得这里讲的比较清楚)Vie 阅读全文
posted @ 2012-08-14 11:36 E_star 阅读(213) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1185题意:给出一个n*m的矩阵,矩阵的每个方格标有P/H p表示可以安置大炮,H表示不能安置大炮,当大炮安置于(i,j)点时,其左右两个单位以及上下两个单位都在攻击范围,求在两支大炮不会相互攻击的前提下,最多能够安置大炮的数量。思路:当前行大炮的的安置要受其前两行的影响,所以状态转移方程有:dp[i][j][k] = max(dp[i][j][k],dp[i - 1][k][l] + sum[j]) dp[i][j][k]表示第i行的状态为j第i - 1的状态为k sum[j]表示该行取j状态时可能增加的数量;View Code #i.. 阅读全文
posted @ 2012-08-13 21:03 E_star 阅读(233) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3254题意:给定一个n*m的矩形,fj要在里面种玉米给奶牛吃,矩形内的小格中如果为1说明土地肥沃可以种植,如果为0说明土壤贫瘠不能种植玉米,而且奶牛们不喜欢在挨着的田地里吃玉米,问fj有多少种可选择方案种植玉米。思路:表示对状态dp不来感啊,首先dp[i][j]表示第i行在第j中状态下的可能数,则有dp[i][j] += dp[i - 1][k]这里k是在第i - 1行的所有状态中满足要求的状态。j也是在第i行满足要求的状态。j,k满足要求的条件:1:满足当前行本身的种植条件;2:与上一行的种植情况要满足要求;View Code #incl 阅读全文
posted @ 2012-08-13 17:33 E_star 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 雅虎刊发文章称,科技日新月异,我们难以紧跟每一项最新和重大发明。伴随着每部新智能手机、每台新计算机、每个新芯片的推出,很多目前推出的技术方明将成为明日的标准。随处可使用无线高速互联网?由于LTE网络的出现,我们距此又近了一步。自动驾驶汽车?谷歌正在研发。智能家用电器?Android@Home系统可帮助实现。以下是雅虎总结的最佳技术方明,雅虎相信这些技术发明将成为未来的标准。 1、 微软Kinect微软Kinect于2010年上市发售 Kinect的出现标志着玩家首次在不需要使用任何控制器的情况下享受视频游戏。正如微软的宣传口号,用户乃是Kinect的控制器。Kinect不仅支持动作捕捉,还.. 阅读全文
posted @ 2012-08-13 15:38 E_star 阅读(237) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1925题意:蜘蛛侠的女朋友被坏人抓到了tower (目标点),他必须尽快从apartment(起点)到tower去救人,给出n个建筑物的坐标以及高度(第一个为起点最后一个为目标点),求蜘蛛侠用蜘蛛网最少荡几次才能到达tower?注意:这里在起点之后的建筑物保证高度都会大于等于起点的高度。思路:首先计算每个点i的来源点j的取值范围,然后枚举这个范围,递归的求解。假设来源点为j 则有x[i] - sqrt(h[i]*h[i] - (h[i] - H)*(h[i] - H)) <= j < x[i]; 其中x[i]为i建筑物的坐标,h 阅读全文
posted @ 2012-08-13 14:25 E_star 阅读(240) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2948题意:给你一个n*m的矩形方格,每个方格里面都存有一定的矿资源,要求我们在每个方格内建立传送带,将他们传送到指定的工厂,一定有两种资源一种是yeyenum ,规定这种资源只能用自东向西传送带传送到最西边的工厂否则这些资源就会丢失,第二种为bloggium,规定只能用自南向北的传送带传送到最北边的工厂生产否则这种资源也会丢失。为如何开采后传送资源使获得的资源数最多,并输出最多的开采量。思路:对于每一个点来说,他要么一直传送到最北边的工厂,要么传送到最西边的工厂,所以对于每一点有两种传送方式,故有状态转移方程为:dp[i][j] = ma 阅读全文
posted @ 2012-08-13 09:07 E_star 阅读(267) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2029二维树状数组解法:http://www.cnblogs.com/E-star/archive/2012/07/30/2615239.html题意:给定一个W*H的矩形方格,然后给出n个柿子树所在矩形小方格的坐标,然后给你一个dx*dy的小矩形,求用此小矩形能够框住的最多的柿子树的个数;思路:dp[i][j] 存储从[0,0]到[i,j]的和,然后暴力枚举即可:View Code #include <cstdio>#include <iostream>#include <cstring>#includ 阅读全文
posted @ 2012-08-12 19:51 E_star 阅读(167) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3280题意:给定一个长度为m的字符串(都是小写字母) ,求通过添加或者删减若干个字符是原字符串变为回文串的最小代价(这里给出n个字符的删除与添加所需的代价,规定添加和删除的字符串都在给定的这n个字符中);思路:只能说自己dp太弱了,以后有时间一定要多练习dp。这里对字符串从两端开始进行比较如果相同则dp[i][j] = dp[i + 1][j - 1],如果不同则dp[i][j] = min(dp[i + 1][j] + min(addv[str[i] -'a'],delv[str[i] - 'a']),dp 阅读全文
posted @ 2012-08-12 16:54 E_star 阅读(174) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1054题意:给你r*c的一块稻田,每个点都种有水稻,青蛙们晚上会从水稻地里穿过并留下脚印,问题确保青蛙的每次跳跃的长度想相同,而且沿直线行走,给出n个青蛙的脚印点问存在大于等于3的最大青蛙走的连续的脚印个数;若不存在输出0思路:这题O(n^3)的三次方+j剪枝竟然能过无语了。。。。首先排序,然后O(n^2)枚举任意两点找直线,O(n^2)判断同一直线并且是同一青蛙留下的脚印然后求最大值。剪枝:1:青蛙的起点肯定在稻田外;2:该点的直线上的脚印一定要大于上一次的点数;3:多余上一点的基础上点要在稻田内;View Code #include & 阅读全文
posted @ 2012-08-12 14:35 E_star 阅读(312) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1191题意:中文省略.思路:黑说p116有讲解,主要的状态转移方程为横着切:dp[k][x1][y1][x2][y2] = min(dp[k - 1][x1][y1][mid][y2] + dp[1][mid][y1][x2][y2],dp[k - 1][mid][y1][x2][y2] + dp[1][x1][y1][mid][y2]); x1 + 1 <= mid < x2竖着切:dp[k][x1][y1][x2][y2] = min(dp[k - 1][x1][y1][x2][mid] + dp[1][x1][mid][x 阅读全文
posted @ 2012-08-12 09:55 E_star 阅读(245) 评论(0) 推荐(0) 编辑
摘要: DFS解法:http://www.cnblogs.com/E-star/archive/2012/08/11/2633842.htmlhttp://poj.org/problem?id=1691题意:给定一个大矩形,然后给出n个需要染色的小矩形的左上角的坐标,右下角的坐标以及该矩形要染得颜色,每个颜色对应的一把刷子。问将这些小矩形染完规定的颜色之后需要最少的刷子数。要求:只当该小矩形的上边的矩形都染完色之后,该矩形才能染色,如果同一个刷子被使用多次也要计算进来;View Code #include <cstdio>#include <cstring>#include & 阅读全文
posted @ 2012-08-11 21:07 E_star 阅读(263) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1691题意:给定一个大矩形,然后给出n个需要染色的小矩形的左上角的坐标,右下角的坐标以及该矩形要染得颜色,每个颜色对应的一把刷子。问将这些小矩形染完规定的颜色之后需要最少的刷子数。要求:只当该小矩形的上边的矩形都染完色之后,该矩形才能染色,如果同一个刷子被使用多次也要计算进来;思路:首先根据一个矩形的所有上部分染完之后才能染色建立关系图,然后根据拓扑排序的理论,找入度为0的点开始染色,(因为入度为0 表明其上部的所有矩形都已经染色),dfs所有点求最小值。注意这里画的边只是统计度数用的,而我们真正用来描述可行的边是根据经过该点之后的剩余点里 阅读全文
posted @ 2012-08-11 17:36 E_star 阅读(367) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3373题目意思:给出2个整数N(n<10^100)和K(k<10000),求满足以下条件的整数M1、M与N位数相同2、M能被K整除3、满足以上两点时,M和N不同位数最少4、满足以上三点时,M值最小思路:题目意思很好理解,我们只要以n为基础分两个方向搜索即可,1:首先搜索比n小的,这样保证在为数不同的前提下,M值最小;2:搜索比n大的,详细的解题报告:http://blog.csdn.net/lyy289065406/article/details/6698787解题报告中说只要改变n的5位就一定能够找到解(由鸽巢定理得 k最多为 阅读全文
posted @ 2012-08-11 15:15 E_star 阅读(272) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1724题意:Bob现在有的钱数为k,他想从城市1到城市n,给出m条连接两个城市的有向边,并且给出路的长度w,和经过这条路要交的钱数c。问Bob在花的过路费不超过k的前提下能到达城市n的最短路径为多长。思路:才开始我想spfa来做,开两个数组dis记录距离最短disw记录话费最小,在松弛的时候进行距离与费用的限制来进行,可是发现当某一个点被多个点更新时,比如i点被更新为[7,12] [9,9] [12,7]那我们选择哪一个呢?如果我们选择路径短的话,[7,12] 可是可能时间总和就会超出k,如果我们选择费用小的话[12,7] 可是路径的长度可 阅读全文
posted @ 2012-08-10 22:09 E_star 阅读(214) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3411题意:给出 n 个节点 m 条边,求从 1 到 n 的最小花费。有两种支付方式:1> 预先在城市 Ci (必须先到过该城市)支付费用 Pi ;2> 在终点 Bi支付费用 Ri;思路:这里给定的节点,边的数量都<=10爆搜没问题,关键注意一下几点:1> 边有多条,不能用邻接矩阵计算,而要用邻接表(存在重边)。2> Pi 始终小于等于对应的 Ri。3>每个点可以走多次,边也可以走多次。这里正常的搜索写法不会重复走一个点而这里当遇到需要提前支付的路并且支付点还没有访问过就必须返回去访问支付点,这里我们每次 阅读全文
posted @ 2012-08-10 20:18 E_star 阅读(216) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 38 下一页