procedure2012
It's not worth it to know you're not worth it!
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: [关键字]:数学 计算几何[题目大意]:给出一个多边形,判断有多少种稳定的摆放方法。//========================================================================================================================================[分析]:从物理角度分析,多边形的稳定方法就是重心的垂足落在支撑边以内(不含顶点),而因为有可能会有凹多边形出现所以支撑边一定是所有点的凸包的边。现在问题转化成了:(1)、求凸包:可以用Graham_Scan搞定(2)、求重心:这个比较麻烦 阅读全文
posted @ 2012-03-01 18:24 procedure2012 阅读(333) 评论(0) 推荐(0)
摘要: [关键字]:枚举[题目大意]:给出一盘五子棋局,判断在3步内是否有人能赢。//=============================================================================================================================[分析]:首先考虑第一步就有人赢的情况:枚举全棋盘所有可以放子的点判断在此处放一颗子后当前先手是否能赢;第二步才有人赢的情况:当前后手有两处地方可以保证走一步就能赢,因为如果只有一处,先手可以在此放子,但有两处的话先手顾此失彼;第三步才有人赢的情况:比上两种情况稍微复杂, 阅读全文
posted @ 2012-03-01 18:05 procedure2012 阅读(277) 评论(0) 推荐(0)
摘要: [关键字]:搜索+建图[题目大意]:给出一个矩阵,矩阵里有5种格子:‘F’初始位置;‘G’:能量池——可以将能量补满;‘Y’开关;‘D’:不能走到;‘S’:空地,问最小拥有多少初始能量才能走过所有开关。//============================================================================================================================================[分析]:首先只要有解,中间走过哪些‘S’都无所谓,只有‘Y’和‘G’是需要考虑的节点,所以可以先BFS或Floy 阅读全文
posted @ 2012-03-01 17:52 procedure2012 阅读(274) 评论(0) 推荐(0)
摘要: [关键字]:枚举+贪心[题目大意]:给出N*M的矩阵和N*N个点,所有点只能左右移动,问将所有点排列成矩形的最小步数。//=====================================================================================================================================[分析]:枚举所构成的矩形的左边界,然后同一行上的每个点一定是按从y值从小到大往枚举的矩形里走,所以先将所有点按x为第一关键字y为第二关键字排序,然后按顺序移入枚举的矩形并计算出步数求最小。[代码]:View C 阅读全文
posted @ 2012-02-28 18:47 procedure2012 阅读(269) 评论(0) 推荐(0)
摘要: [关键字]:数据结构[题目大意]:给出一个n*n*n的立方体,然后回有m个操作,要求删去某一列,问最后删去了多少个小立方体。//====================================================================================================================================[分析]:对于每个操作,枚举另一个坐标,然后以x*100*1000+y*1000+z*1给坐标为(x,y,z)的立方体编号,建立Hash表查找是否已经被删过。[代码]:View Code #include&l 阅读全文
posted @ 2012-02-28 18:40 procedure2012 阅读(211) 评论(0) 推荐(0)
摘要: [关键字]:计算几何[题目大意]:给出N个点,先判断这些点能否构成一个边与边不相交的多边形,然后在判断站在给出点能看见哪几条边。//================================================================================================================================[分析]:第一问比较简单,只要判断规范相交就行了,利用叉积可以很容易的判断,祥见黑书。第二问可以用二分法解决,每次都找一条边的中点然后判断从给定点到中点是否和别的边相交,如果相交就二分判断能否看到左边或右边的部分 阅读全文
posted @ 2012-02-28 18:31 procedure2012 阅读(401) 评论(0) 推荐(0)
摘要: [关键字]:数据结构 Splay[题目大意] :有一个数字序列,按照如下顺序进行排序:在第i次交换时找到第i小的数字所在的位置k然后将[i,k]区间反转。问第i次反转前第i小的数字所在的位置。//==============================================================================================[分析]:既要支持反转操作又要快速查找的数据结构一定是——伸展树!但一开始我没想好怎么用,为了维护序列的顺序必须以原序列下标为关键字建立Splay,但是这样就无法快速查找第i小的数的位置,然后我就冥思苦想了一天发现自 阅读全文
posted @ 2012-02-27 23:01 procedure2012 阅读(265) 评论(0) 推荐(0)
摘要: [关键字]:图论 搜索(有个BFS,有剪枝的思想)[题目大意]:有一个国王和若干个骑士,国王可以在某一个遇到骑士的点和骑士一起走,要求自己找一个集合点使所有人(骑士+国王)走到这个点的距离最小。//====================================================================================================[分析]:usaco的官方题解没看懂……自己也没做出来……我一开始的想法是先处理出每个点到所有骑士的距离和e[u],然后枚举起点u,枚举骑士接国王的点v,枚举哪个骑士接国王k,然后ans=min(e[u 阅读全文
posted @ 2012-02-26 20:17 procedure2012 阅读(396) 评论(0) 推荐(0)
摘要: [关键字]:动态规划[题目大意]:你要买n种商品,每种买k件。同时有一些组合购买的优惠方案,问最小花费。//====================================================================================================[分析]:因为最多才有五种商品,每种最多5件,所以五维的动态规划完全可以接受。至于方程太麻烦了,不写了,代码里很清楚……[代码]:View Code /*ID:procedure2PROB:shoppingLANG:C++*/#include<iostream>#include& 阅读全文
posted @ 2012-02-26 19:58 procedure2012 阅读(187) 评论(0) 推荐(0)
摘要: [关键字]:搜索[题目大意]:给出一个魔版的目标状态,求利用A、B、C三种操作用最小步数有初始状态走到的序列(字典序最小)。//================================================================================================================[分析]:利用BFS扩展,Hash判重,还可用康托展开,但我不会……这个我是在不想说什么,就是超级简化版的八数码……[代码]:View Code /*ID:procedure2PROB:msquareLANG:C++*/#include<io 阅读全文
posted @ 2012-02-25 18:43 procedure2012 阅读(313) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页