算法
文章平均质量分 79
相思作坊半世离殇
多刷题。
展开
-
DLX算法
DLX算法求解精确覆盖问题标签: DLX舞蹈链2015-08-12 08:44 277人阅读 评论(0)收藏举报本文章已收录于:分类: 算法归纳与总结(32) 作者同类文章X在网上看到一篇非常好的介绍舞蹈链的文章,转载之。1.原文链接:点击打开链接2.跳跃的舞者,舞蹈链(转载 2016-09-20 22:13:57 · 643 阅读 · 0 评论 -
Feel Good(POJ 2796) 单调栈
还是单调栈的应用,对单调栈的理解很深了一步。也渐渐的理解了,需要优化算法的时间直到满足题目要求,虽然这个优化很简单……1.题目原文http://poj.org/problem?id=2796Language:DefaultFeel GoodTime Limit: 3000MS Memory Limit: 65536K原创 2016-10-06 19:15:18 · 399 阅读 · 0 评论 -
Bad Hair Day(POJ 3250) 单调栈
来自《挑战程序设计竞赛》单调栈的应用单调栈,顾名思义,栈中的元素是单调递增或者单调递减的。1.题目原文http://poj.org/problem?id=3250Bad Hair DayTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 17768 Acc原创 2016-10-06 16:25:29 · 993 阅读 · 0 评论 -
Even Parity(UVa 11464) 开关问题
来自《算法竞赛入门经典训练指南》这道题和《挑战程序设计竞赛》上的例题很像,可参考博文http://blog.csdn.net/qq_33929112/article/details/52490729#t22中的开关问题1.题目原文https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show原创 2016-10-05 20:54:19 · 516 阅读 · 0 评论 -
K Smallest Sums(Uva 11997) 多路归并+优先队列
来自《算法竞赛入门经典训练指南》1.题目原文https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3148有k个整数数组,各包含k个整数。在每个数组中去一个元素加起来,可以得到k^k个元素,求这些和中最小的k个值(重复的值算多次)2.解题思路原创 2016-10-05 14:39:57 · 412 阅读 · 0 评论 -
The Closest Pair Problem(UVa 10245) 计算几何+最近点对问题
来自《挑战程序设计竞赛》1.题目原文https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1186给定平面上的n个点,求距离最近的两个点的距离数据范围:12.解题思路首先按照x坐标将所有点分成两半,那么最近点对的距离就是下面两者的最小原创 2016-10-04 16:29:52 · 371 阅读 · 0 评论 -
Asteroids POJ3041 二分图最小顶点覆盖
1.题目原文http://poj.org/problem?id=3041AsteroidsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 20663 Accepted: 11224DescriptionBessie wants to n原创 2016-09-24 00:32:06 · 384 阅读 · 0 评论 -
Sum of Consecutive Prime Numbers(POJ 2739)尺取法+数学问题
来自《挑战程序设计竞赛》1.题目原文http://poj.org/problem?id=2739Sum of Consecutive Prime NumbersTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 23592 Accepted: 12887原创 2016-10-07 20:33:23 · 383 阅读 · 0 评论 -
poj 2566 Bound Found
Bound FoundTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 3197 Accepted: 973 Special JudgeDescriptionSignals of most probably extra-terrestrial ori原创 2016-11-30 02:53:21 · 477 阅读 · 0 评论 -
POJ 3977 Subset
SubsetTime Limit: 30000MS Memory Limit: 65536KTotal Submissions: 3446 Accepted: 633DescriptionGiven a list of N integers with absolute values no larger than 101原创 2016-11-30 13:18:21 · 458 阅读 · 0 评论 -
poj 1741 Tree树的重心分解
Language:DefaultTreeTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 19441 Accepted: 6363DescriptionGive a tree with n vertices,each edge has a len原创 2016-12-03 23:48:47 · 459 阅读 · 0 评论 -
POJ 1930 Dead Fraction
poj1930 题目意思:给定一个无限循环小数,把它转换成分数。 这个需要一定姿势水平。。。纯循环9做分母,有几个循环数,就有几个9,例如0.3就是9分之3,0.654就是999分之654。。等等混循环把0.228转换成分数(8是循环节) =[(228/1000)+8/9000)] =228/(900+100)+8/9000 =[(228/900)-(228/9000)]+(8/9000)原创 2016-11-25 02:24:31 · 446 阅读 · 0 评论 -
BZOJ1059矩阵游戏-二分图完美匹配
链接http://www.lydsy.com/JudgeOnline/problem.php?id=1059构造一个二分图,其中行对应的编号是0到n-1,列对应的编号是n到2n-1,若矩阵中的元素m[i][j]为1则,在顶点i和n+j之间连一条边。求这个图的最大匹配。如果最大匹配数等于n,说明,矩阵经过一系列操作可以变成这样的:存在n个1,任意两个1不在同一行或者同一列。之后通过构造法:对刚才原创 2016-12-21 13:14:12 · 585 阅读 · 0 评论 -
UVA 10766 Organising the Organisation生成树计数
1.题目大意:某个公司,对所有员工有分级,分级的情况构成一颗树,其中父结点是子结点的直接领导。给一些约束条件,表示a.b都不愿让对方是自己的直接领导,求一共有多少种不同的员工分级方案。2.解题思路:若a,b之间没直接矛盾,就建一条边,那样我们得到的员工之间的关系就是一个生成树。虽然规定了生成树的根,但是无向图的生成树个数与根无关,所以直接利用Matrix-Tree定理求出生成树的个数即原创 2016-12-22 01:12:09 · 561 阅读 · 0 评论 -
Matrix-Tree定理
定理描述:Matrix-Tree定理(Kirchhoff矩阵-树定理)是解决生成树计数问题最有力的武器之一。首先要明确几个概念:1.G的度数矩阵D[G]是一个n*n的矩阵,并且满足:当i!=j时,d[i][j]=0,当i=j时,d[i][i]等于v[i]的度数。2.G的邻接矩阵A[G]也是一个n*n的矩阵,并且满足:如果v[i],v[j]之间有直接边连接,则a[i][j]=1,否则为0原创 2016-12-22 11:38:57 · 1873 阅读 · 0 评论 -
Largest Submatrix of All 1’s(POJ 3494) 单调栈
来自《挑战程序设计竞赛》1.题目原文http://poj.org/problem?id=3494Largest Submatrix of All 1’sTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 5885 Accepted: 2219Case原创 2016-10-07 00:21:51 · 471 阅读 · 0 评论 -
多重背包问题
来自《挑战程序设计竞赛》1.题目原文有n中物品,它们的重量和价值分别是w[i]和v[i]。现在要从中选出一些物品使得总重量不超过W,并且价值的总和最大。不过要求第i中物品最多可以选m[i]个。数据范围12.解题思路1这是一个有个数限制的问题,对于每个物品至多选一个或者可以选任意个的问题我们已经在O(nW)时间内求解。如果使用同样的方法解答本题,则状态转移方程为:dp[i原创 2016-10-07 00:55:40 · 295 阅读 · 0 评论 -
用Treap实现名次树
来自《算法竞赛入门经典训练指南》1.Treap实现名次树1.简单介绍Treap是一棵拥有键值和优先级两种权值的树。对于键值而言,这棵树是二叉排序树。对于优先级而言,这棵树是堆,即在这棵树的任意子树中,根的优先级是最大的。不难证明,如果每个结点的优先级事先给定且互不相等,整棵树的形态也就唯一确定了,和元素的插入顺序无关。在Treap的插入算法中,每个节点的优先级是随机确定的。因此原创 2016-10-11 02:45:51 · 842 阅读 · 0 评论 -
Commando War(UVa 11729)贪心算法
来自《算法竞赛入门经典训练指南》1.题目原文https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2829你有n个任务需要交代部下,每个部下独立完成一个任务,第i个部下需要花时间B[i]交代任务,然后他独立无间断的执行J[i]时间完成任务。安排交原创 2016-10-13 19:10:44 · 387 阅读 · 0 评论 -
Spreading the Wealth(UVa 11300)
来自《算法竞赛入门经典训练指南》1.题目原文https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2275分金币,使得n个人最终金币数均相等。分金币时,每个人都可以给他左边的或者右边的,求被转手的金币数量的最小值。2.解题思路假设1号给2原创 2016-10-13 19:33:41 · 454 阅读 · 1 评论 -
Jurassic Remains(LA 2965)位运算+枚举
来自《算法竞赛入门经典训练指南》1.题目原文https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=966md,英语根本读不下去啊啊啊啊啊啊啊啊。给定n个大写字母组成的字符串,选择尽可能多的字符串,使得每个大写字母都能出现偶数次。原创 2016-10-13 20:10:06 · 471 阅读 · 0 评论 -
NetWork(LA 3902)深度优先搜索
来自《算法竞赛入门经典训练指南》1.题目原文https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=19032.解题思路通常来说,把无根树转化成有根树会有助于解题。更何况,本题已经有一个天然的根,原始服务器。首先对于那些已经满原创 2016-10-13 21:18:04 · 540 阅读 · 0 评论 -
poj3468
1.#include #include #include #include #include #include #include #include #include #include #include #include #include #include#include#include#includeusing namespace std;#define I原创 2016-10-14 13:09:28 · 337 阅读 · 0 评论 -
字符串相关模板
1.字符串匹配寻找字符串S中字符串T出现的位置或次数的问题属于字符串匹配问题1.哈希算法S的长度为n,T的长度为m。朴素方法,很容易想到,时间复杂度为O(nm).下面介绍哈希算法对于每个起始位置,我们不是O(m)直接比较字符串是否匹配,而是O(l)的比较长度为m的字符串的哈希值与T的哈希值是否相等。虽然哈希值相等字符串未必相等,但是若哈希值随机分布,不同字符串哈希值相等的概率很原创 2016-09-29 01:43:46 · 294 阅读 · 0 评论 -
Hacker's Crackdown(UVa 11825)状态压缩dp+数学模型
来自《算法竞赛入门经典训练指南》1.题目原文https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2925假如你是一个黑客,侵入了n台计算机(编号为0,1,2,……n-1)的网络。一共有n种服务,每台计算机都运行着这种服务。对于每台计算机,你都可原创 2016-10-14 16:34:45 · 375 阅读 · 0 评论 -
线段树模板:点修改,区间修改
最近在看《算法竞赛入门经典训练指南》, 感觉以前的想法几乎完全是错的,模板并不一定能直接套。最近在看线段树,才知道线段树每个节点的附加信息才是重头戏,因此完全套模板是不可行的。但是思想方法可以借鉴,并在此基础上 加以改进。1.点修改给出一个有n个元素的数组A[1],A[2],……A[n]。任务是设计一个数据结构,支持以下两种操作:①update(x,v):把A[x]修改为v。②原创 2016-10-10 17:00:59 · 1610 阅读 · 0 评论 -
逆序对问题
1.分治法在归并排序的基础上统计逆序对的个数。#include #include #include #include #include #include #include #include #include #include #include #include #include #include#include#includeusing namespace原创 2016-10-04 17:27:33 · 264 阅读 · 0 评论 -
imos-累积和法
mdzz,转载为何有问题……直接贴链接吧http://www.hankcs.com/program/algorithm/imos_method.html转载 2016-10-06 11:54:53 · 359 阅读 · 0 评论 -
AOJ0531(imos-累积和法)
来自《挑战程序设计竞赛》但是找到的题解和书上给的模板很不一样……题解参考了http://www.hankcs.com/program/algorithm/aoj-0531-paint-color.html给出题目的链接http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0531突然发现,写博客好麻烦,尤其是要做表格什么的原创 2016-10-06 12:00:35 · 845 阅读 · 0 评论 -
3.2常用技巧精选(一) 挑战程序设计竞赛
本文来自《挑战程序设计竞赛》3.2常用技巧精选(一)1.尺取法尺取法通常是指对数组保存一对下标(起点、终点),然后根据实际情况交替推进两个端点直到得出答案的方法。1.Subsequence(Poj 3061)1.题目原文:题目链接http://poj.org/problem?id=3061Language:DefaultSubsequen原创 2016-09-09 21:43:11 · 956 阅读 · 0 评论 -
挑战程序设计竞赛 4.4常用技巧(二)
来自《挑战程序设计竞赛》1.单调栈的应用1.POJ25591.题目原文http://poj.org/problem?id=2559Largest Rectangle in a HistogramTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 19669原创 2016-10-06 17:13:21 · 822 阅读 · 0 评论 -
1393-二分图多重匹配问题
具体见https://hihocoder.com/problemset/problem/1393原题给的提示是利用网络流的方法解决。具体可以见提示。。(懒得写)贴出AC代码。#include #include #include #include #include #include using namespace std;const int maxn =100+10;#原创 2016-12-21 02:01:04 · 497 阅读 · 0 评论