每日一题
OceanLight
xxxx
展开
-
SGU 259 单机调度问题 +贪心 及此题解法的证明
259. Printed PR time limit per test: 0.5 sec. memory limit per test: 65536 KB input: standard output: standard Small PR-agency got an order to print a very big lot of agitational materials.原创 2012-08-13 23:34:46 · 4564 阅读 · 0 评论 -
poj 2778 AC 自动机 + 矩阵快速幂
AC自动机构建fail 指针时与 跟 原来匹配时的 AC自动机有改动。。 就是如果 这个节点k没有next[ i ] , 并不是直接跳过 ,而是 由于求转移矩阵的需要 ,顺着 k 的fail 指针 一直找到 有 next[ i ] ,然后把 k点的 next [ i ] 的指针 指向找到的那个 next[ i ] ,这样 就减少了 , 在求转移矩阵的时候, 失配时的跳转。 但这种方式 只适合原创 2012-12-07 22:12:24 · 533 阅读 · 0 评论 -
poj 1038 Bugs Integrated, Inc. 状态DP+四进制+DFS
题意:在给定的一个大的格子中(分成n*m格,其中的若干格是坏的),有其中的2*3格或3*2格可以制造一个芯片,问这块板最多能造几块芯片。 1.状态压缩DP ,每行的状态用 二进制表示 , 2. 由于是三行之间的关系,在DP 时,每种状态存储本行的状态和上一行的状态。。 然后将这两种状态在压缩成一种状态,原因是 这上下两行的状态有许多是不满足条件的, 比如 111001 和 11原创 2012-09-13 20:59:31 · 703 阅读 · 0 评论 -
ZOJ 1203 Swordfish (最小生成树 prim算法)
关于prim 算法在我写的另一篇中做了详细解释。 http://blog.csdn.net/oceanlight/article/details/7885941 此题是裸的最小生成树,比较容易。不过第一次写,不熟,写错了一处,一直wa。。。。 此题的图是个完全图 E = V*(V-1)/2; prim 朴素的算法是 O(V^2) 而kruskal 算法 是 O(ElgE) ,因为是完全图原创 2012-08-19 23:39:38 · 990 阅读 · 0 评论 -
POJ 3601 Escape from Enemy Territory (二分+BFS+预处理)
原题:http://poj.org/problem?id=3501 题意是: 有些士兵完成任务后要返回原地,区域被看成矩形,每个小区域有被看成小正方形。在地图上的某些方格内有敌人。。 他们要返回原地,选择一条路使得路的点距离敌人最近的那个点 距离敌人最远,距离是曼哈顿距离|x-xi|+|y-yi|,如果有多条选择最近的。。输出 这条路上距离敌人最近的点到敌人距离 和 这条路的长度、、 思原创 2012-08-18 21:56:08 · 1154 阅读 · 0 评论 -
POJ 3687 Labeling Balls 拓扑排序 优先队列实现
题意是: 有重量从1到N 的 球,和1- N的标签,对球进行标记。 给出M个关系A B 表示 标签A的球的重量 要求对其排序 ,重量从小到大, 同时使标签1 尽可能的 排在前边,满足标签1的球之后,在使得标有标签二的球尽可能的靠前,依次排序。。。 如果有这样的结果输出结果如果没有输出-1; 这个题目很诡异。。。。 不仔细读题的话,很可能出错, For each test ca原创 2012-08-18 13:43:45 · 1572 阅读 · 0 评论 -
POJ 1094 Sorting It All Out 拓扑排序
题意是 给出你一个数N,(表示 从A 开始的N个大写字母) 以及这N字母 的M个关系 ,关系是 A N个字母的大小顺序,能否出现 矛盾。共三种结果 。 思路: 每次读入后,拓扑排序。。 判断能否排好序或者出现矛盾。 只要在拓扑排序上稍加改动就行。。 一 。能否排好序:每次往队列添加一个数,在抛出一个,在添加一个 ,才能是拍好序的。。。 于是 每次往队原创 2012-08-17 01:01:53 · 718 阅读 · 0 评论 -
HDU 4091 Zombie’s Treasure Chest (每日一题)
大意是: 一些战士来到了一个村庄,发现了两种宝石和一个宝箱,每种宝石的个数是无限的,给出了宝箱的大小 N 和两种宝石的 size 和 value ,即 N s1 v1 s2 v2 ,已知这五个两,求利用这个宝箱,战士能够带走多大价值的宝石。 五个数的范围是 int 。 也就是 10^9。 如果范围比较小的话,就直接可以用多重背包的解法。 但是数据范围是 10^9 就没法用 多重背包来做了。。原创 2012-08-12 20:32:14 · 2371 阅读 · 2 评论 -
POJ 1465 Multiple BFS + 余数判重
题意是: 给出一个 0 - 4999 的数 N ,在给出 M 个0-9的数,判断这M个数字能不能构成一个数是N的倍数,如果有输出最小的,如果没有输出0。 初次做的 时候犯了很多错误。。。CE TlE 等等各种, 初次做这个题目的时候用了 long long 结果就悲剧了。。。 想了想 long long 明显hold 不住 因为结果可能很大。 不信的话 跑一下这组数据 4999原创 2012-08-15 23:34:38 · 2415 阅读 · 0 评论 -
HDU 3466 Proud Merchants DP 分享排序方式的证明。。
此题我纠结了一下午,最终。。。。。。还是没想出来。然后看了神牛的题解 说是 按 q-p 排序。。。 于是我就去想为什么按此排序。。 在雨中漫步了一会,今晚的济南的正好下雨,但还是习惯性走出实验室,思考了十几分钟之后,终于想通了。。。。 于是就在这写题解。。。 我感觉这是一个好题。。。。。。。。 Proud Merchants Time Limit: 2000/1000 MS (J原创 2012-08-14 22:29:23 · 5722 阅读 · 2 评论 -
hdu 3625 Examining the Rooms 第一类stirling数
斯特林数的第一类应用 题意就是 求n个元素分成k个环排列的数目。 递推公式是: s( n , 0 ) = 0; s( 1 ,1 ) =1; s( n , k ) = s( n- 1 , k-1 )+ (n-1)*s( n-1 , k); 公式的意思是 : 当 n-1个 形成了 k-1 个 环时,第n个只能形成单环。 方案数 是 s( n -1 , k -1 ) 当n-1个原创 2013-07-24 16:14:17 · 763 阅读 · 0 评论