09 2008 档案

摘要:比较恶心的逼近 首先对2组数据排序然后在形式上化作N*N的阵 使用DP变量保存查找深度每次查询如果key值较小 左移一次 则排名增加(n-dp) 否则深度+1使用二分逼近返回ans 注意逼近时计算k的上下界代码如下:[代码] 阅读全文
posted @ 2008-09-18 21:44 Hdu-Lost 阅读(428) 评论(0) 推荐(0)
摘要:题目意思 求解是否能够到达出口 如果能 求解到达时的最大携带价值首先使用广搜搜出包括起点和终点在内 所有特殊点之间的最短距离 建立一个隐式图然后使用DFS枚举各个组合 然后求出最大值 注意DFS的强剪以下是代码:[代码] 阅读全文
posted @ 2008-09-17 12:53 Hdu-Lost 阅读(867) 评论(0) 推荐(0)
摘要:本来是用字典树的 用了很多种优化竟然都超时 那就只好用hash了 对所有的串进行重构 化为64位整型 然后使用位运算枚举所有K长串 然后用hash存储 使用线性扫描法 还可以优化代码如下:[代码] 阅读全文
posted @ 2008-09-14 09:52 Hdu-Lost 阅读(587) 评论(2) 推荐(0)
摘要:题目意思有点不清 其实是可以在原地停留的 注意桥的变化与时间相关 用方向数组压缩代码 OK 以下是实现 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include #include using namespace std; ... 阅读全文
posted @ 2008-09-13 09:53 Hdu-Lost 阅读(470) 评论(0) 推荐(0)
摘要:自己写了半天 WA了很多次 后来就请教了留上星 题目意思就是需要使用到并查集的 然后进行顶点着色似的枚举 很简单的枚举 不过暴力的实在不会 只好重新学习学习了 代码如下 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include u... 阅读全文
posted @ 2008-09-10 20:45 Hdu-Lost 阅读(680) 评论(2) 推荐(0)
摘要:题目意思 是任何只有一个字母不同的单词可以进行改变 最后要转换成全部不同的单词 根据理论每次转换的最小步长应该为单词长度 题目要求输出最小字典序的序列~~~ 只要对输入的单词进行排序就能保证 然后首先建2张图 一张是只改变一个字母能变换的路径图 一个是都不相同单词之间的图 很好 下面就是BFS 使用一个数组保存父亲节点 找到后输出就可以了~~~ 注意下BFS如果采用逐层遍历的话 ... 阅读全文
posted @ 2008-09-09 13:04 Hdu-Lost 阅读(372) 评论(0) 推荐(0)
摘要:很easy的一个BFS 注意强剪一下就过了~~6分钟敲完代码 调试5分钟 诶 自己还是太菜了~~~ 以下是代码 HDU的服务器可能有问题 每次提交时间都不一样 最高的是765MS 还是小号 郁闷 当然还可以进一步优化 比如位运算处理 可能会快一倍以上时间吧 懒得写了 反正也不是太卡时间 Code highlighting produced by Actipro CodeH... 阅读全文
posted @ 2008-09-07 23:36 Hdu-Lost 阅读(399) 评论(0) 推荐(0)
摘要:很经典的一道题目 几乎不用建模了 用hash记录ID号 然后套模版就OK了~~~ 以下是代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include #include using namespace std; #defin... 阅读全文
posted @ 2008-09-07 11:11 Hdu-Lost 阅读(458) 评论(0) 推荐(0)
摘要:稳定婚姻是二分图匹配的一种 原模版几个变量有问题 进行过修正 贴代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include #include using namespace std; #define MAX 1010 ... 阅读全文
posted @ 2008-09-07 10:45 Hdu-Lost 阅读(366) 评论(0) 推荐(0)
摘要:使用四维数组进行状态判重 注意要用scanf("%s“)或者gets 用cin莫名其妙WA 我查了30分钟错都没查出 改一下就好了 FUCK~~~ 这道DK有更有效率的BFS 所以这次2个代码都贴上 任君瞻仰 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighl... 阅读全文
posted @ 2008-09-06 20:16 Hdu-Lost 阅读(438) 评论(0) 推荐(0)
摘要:根据题目意思 很容易得到一个二分的概念 即只要确定了一个格子 就有能再取的格子和不能再取的格子 2种情况 可以把图化作二分图 相当于在能取的部分再取然后求取的和最大 引入最大流的概念 首先对图进行黑白染色(我们现在设i+j为奇数为黑) 然后连接所有黑的格子旁的白格子 将所有白格子连入虚拟的汇点 将所有黑格子连入虚拟的源点 用数的总和扣去求出的结果(即总和-最大流) 代码如下: Cod... 阅读全文
posted @ 2008-09-06 16:21 Hdu-Lost 阅读(631) 评论(0) 推荐(0)
摘要:题目意思是检测最小奇数环 并输出结果 对于该类题目 分析了下复杂度 可以对各个点进行一一枚举 对于每次的枚举 记录访问到该点时的深度 当下一次访问时只要将当前深度加上访问到该点的深度就能计算出总共所用去的点数 使用2个队列 以形成逐层遍历(保证了路径的不重复) 感觉很不错 每次枚举计算出的最小值可以作为下一次的阀值 从而达到了缩小规模的目的 OK 下面是代码啦.... Code ... 阅读全文
posted @ 2008-09-06 10:33 Hdu-Lost 阅读(702) 评论(0) 推荐(0)
摘要:对于双方有意义的信息分别为日和月 当且仅当其入度为一存在时 才能继续进行游戏 否则必然无法判断出谁能获胜 另外要注意的是可能是生日不在表中的情况 以及 对重复日期的处理 具体参加wiskey大牛的解题报告 以下是实现代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Code... 阅读全文
posted @ 2008-09-04 20:42 Hdu-Lost 阅读(395) 评论(0) 推荐(0)
摘要:我们引用国家队2008年陈丹琦的大作——《基于连通性状态压缩的动态规划问题》,上面对于插头、轮廓线的概念有详细的解释,不再赘述。 我们使用一个三维数组,前两维表示所在的格子,后一维表示轮廓线的状况,值为方案数。 在每一行开始前,我们需要把上一行最右的轮廓线转换为这一行最左的轮廓线,因此执行一次左移操作(实际上轮廓线是进行了向右的一次滑动) 然后枚举所在单元格对每个轮廓线... 阅读全文
posted @ 2008-09-04 11:20 Hdu-Lost 阅读(4071) 评论(2) 推荐(0)
摘要:这个题目的意思很简单 但是如果照着模拟一定会TLE 所以在模拟上也需要很大的技巧 先前我使用了并查集来表示团的关系 但后来发先直接使用hash映射就好了 所以不必想这么复杂 而后就是对于队列的模拟 由于牵涉到的是插入和删除操作 所以应该使用链表结构 比如stl中的list容器 如果单纯使用该结构一定会超时 所以必须进行优化 使用桶结构 将每个队伍看做是一个桶 然后按先来后到的顺序进表 ... 阅读全文
posted @ 2008-09-02 11:46 Hdu-Lost 阅读(614) 评论(0) 推荐(0)
摘要:简单的字典树水题,统计为单词前缀的单词数,取最大,注意要去前0,具体原理还是自己想想吧,最大数决定了最大分组。 诶 PKU月赛之后 我发现我只会水的 .............. Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#inc... 阅读全文
posted @ 2008-09-01 11:26 Hdu-Lost 阅读(462) 评论(0) 推荐(0)