09 2010 档案
摘要:1、题目类型:数论、卡特兰数。2、解题思路:卡特兰数的经典应用;递归输出的灵活运用。3、注意事项:注意递归函数中第二个参数的处理,刚开始有点难于理解。4、参考博客:http://blog.csdn.net/scut_lyq00/archive/2009/07/30/4393598.aspx5、实现方法: [代码]
阅读全文
摘要:1、题目类型:模拟、计算几何、树状数组。2、解题思路:题意,给定n*n矩阵,和几种在线操作,包括对某一点(x,y)值修改,查询一个矩形(x1,y1,x2,y2)的元素和。步骤,(1)树状数组的经典应用;(2)面积处理过程中,面积=Sum(R,T)-Sum(R,B-1)-Sum(L-1,T)+Sum(L-1,B-1)。3、注意事项:注意貌似除了树状数组这种方法,其他的方法都TLE,面积处理时候,记得...
阅读全文
摘要:1、题目类型:计算几何、离散化、扫描法。2、解题思路:(1)根据输入记录每个矩形的位置,用Coor[i][4] 记录;(2)对已形成的点分别根据横纵坐标进行离散化;(3)扫描获得矩形的总面积。3、注意事项:注意程序实现过程中,横竖坐标的记录与调用。4、实现方法: [代码]
阅读全文
摘要:1、题目类型:模拟、哈希表、BFS。2、解题思路:(1)模拟Eigh Puzzle的变换方式,并记录在数组中;(2)由于变换的最终结果相同,所以采用反向的BFS遍历所有情况,并记录所有情况;(3)在查找情况过程中采用二进制哈希表形式,以便于查找;(4)根据题目每个输入的case对表中进行对应查找,直接输出答案。3、注意事项:注意哈希表方式,否则TLE。4、实现方法:(由于又借用模板,所以代码有点乱...
阅读全文
摘要:1、题目类型:DP。2、解题思路:(1)对输入TV Battle 按其终点进行排序;(2)DP时间点1--10080每个时间点的最大收益值,dp[i]表示第 i 个时间点的最大收益值。3、注意事项:注意按照终点排序,开始点不行。3、实现方法:[代码]
阅读全文
摘要:1、题目类型:图论、最大流、Edmonds_Karp算法。2、解题思路:(1)对输入的receptacle、devices的类型和数目进行构图,注意重边增加边的权值加加即可,而对于adapter的权值是无穷大;(2)Edmonds_Karp算法获得此时图的最大流,结果为devices总数减去最大流量max即可。3、注意事项:注意receptacle、devices的数目是一定的几位n、m,而ada...
阅读全文
摘要:1、题目类型:博弈、DP。2、解题思路:(1)构建18条边、9个三角形分别由那三条边组成;(2)模拟输入的残局,并记录A、B获得三角形的差值,中间利用player保持A、B主动权的变换;(3)DP递归剩余情况,寻找player到最后的单步最有情况;(4)判断最终的最大差值MAX,正负即A、B博弈的结果。3、注意事项:注意构造三角形三边是对应的16进制表示;DP递归过程中注意dp[]的更新。4、参考...
阅读全文
摘要:1、题目类型:计算几何、线段相交。2、解题思路:分析,读题后第一想法是从treasure点多边形向外做BFS直到到达边界,但区域内的各个不规则多边形无法确定;后发现只要在区域的四周的焦点间中点做与treasure点的线段,获取其最小焦点就可(即使线段通过内部线段的交点此时不影响结果,同样计算了两次)。步骤,(1)对区域四个边界上的点进行排序(源码的方法比较呆板、代码比较冗余,应该有更好的方法);(...
阅读全文
摘要:1、题目类型:模拟、暴力法。2、解题思路:(1)根据输入建立跳点的pos[]数组和标识位置的map[][]矩阵;(2)对跳点按照其横坐标进行排序;(3)暴力法遍历排序好的的跳点比较获得最大的步数,时间复杂度为nlog(n)。3、注意事项:注意青蛙从区域的外面跳入,必须沿着直线方向跳出区域。4、实现方法: [代码]
阅读全文
摘要:1、题目类型:模拟、贪心。2、解题思路:(1)根据输入的map[][]从左往右逐列、从下往上逐列BFS寻找并标记最大块;(2)对最大块进行删除操作,并更新map[][];(3)知道map[][]中节点删除完毕或者无法再删除,则输出总得分。3、注意事项:注意运用scanf()获得输入字符串、cin.getline() WA了好些次。4、实现方法: [代码]
阅读全文
摘要:1、题目类型:字符串、置换群。2、解题思路:(1)根据输入n个编码的顺序分别记录每单个字符置换的周期,记录为Cy[i];(2)编码次数k对Cy[i]分别进行求余,余数即为此字符k次置换后的位置。3、注意事项:注意不可对整个序列求周期(此时的周期为n个单个字符周期的最小公倍数),否则TLE。4、实现方法: [代码]
阅读全文
摘要:1、题目类型:图论。2、解题思路:(1)根据输入建立图的vector邻接表;(2)vector连接表中寻找度为 1 的点,并其连接点一起标示为同一双sock,直到vector中所有顶点全部标示,否则输出'NO';(3)对所有成双的sock按照其标号小的进行排序,并依次输出。3、注意事项:注意题意理解,题中说说的是将所有成双的sock按序输出,而不是单个输出其最小的两双。4、实现方法:[代码]
阅读全文
摘要:1、题目类型:图论、最大流、Edmonds_Karp算法。2、解题思路:(1)根据建立图的连接矩阵,并记录被匹配男生的总数目cnt;(2)判断cnt与男生数目的大小,如果cnt小则表示不可能完成任务,直接 impossible;(3)由最小可能party数目开始遍历,每次女生的输出容量加加,直到Edmonds_Karp寻找最大流等于男生数目即找到了最佳答案,否则impossible。3、注意事项:...
阅读全文
摘要:1、题目类型:迷宫、BFS。2、解题思路:(1)cin.getline()接收迷宫;(2)BFS搜索其开始位置 'S' 和其结束位置 'E' 并记录两者间的总步数、横向移动步数;(3)根据搜索答案判断其是否满足题意,满足输出结果。3、注意事项:注意一定存在最短路径、找到符合题意答案即输出。4、实现方法:[代码]
阅读全文
摘要:1、题目类型:DP。2、解题思路:(1)建立DP[i][j][k]表示键盘输入第k 个数字时的最短按键次数,此时的i 表示the left finger的位置、j 表示the right finger 的位置;(2)DP遍历所有的情况,结束位置(即DP[i][j][len]列),寻找代价最小的情况。3、实现方法:[代码]
阅读全文
摘要:1、题目类型:图论、最大环、DFS。2、解题思路:(1)建立图的连接矩阵;(2)类似于求解强连通分量(Trajan算法)利用时间戳DFS最大环。3、注意事项:注意宏定义常量的大小,预防MLE。4、实现方法:[代码]
阅读全文
摘要:1、题目类型:数论、物理。2、解题思路:(1)根据物理公式S=V*t+0.5*a*t*t 换代求的t、v的表达式;(2)据题意条件输出。3、注意事项:注意0.0 ≤Xu < Xo ≤1000.0 and 0.0 ≤Yu, Yo ≤800.0.这样题意确定了shot轨迹,而不用考虑多种情况;Pi 的精度需控制在1E-9左右;输出判断时候注意never exceed 30...
阅读全文
摘要:1、题目类型:DP。2、解题思路:(1)建立DP[i][j]表示第 i 次移动到达第 j 个单元格的最大收益;(2)遍历移动结束位置(即DP[i][N+1]列),寻找最大收益。3、实现方法:[代码]
阅读全文

浙公网安备 33010602011771号