Loading

随笔分类 -  ACM——OJ--POJ

摘要:"题目链接" 题意 有N个音符的序列来表示一首乐曲,每个音符都是1到88范围内的整数,现在要找一个重复的主题。“主题”是整个音符序列的一个子串,它需要满足如下条件: 1. 长度至少为5个音符。 2. 在乐曲中重复出现。(可能经过转调,“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数值) 阅读全文
posted @ 2017-11-02 16:05 Shadowdsp 阅读(164) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出n个数字的序列,现在让你分成三段,使得每一段翻转之后拼接起来的序列字典序最小。保证第一个数是序列中最大的数。 例如样例是{10, 1, 2, 3, 4},分成{1, 10}, {2}, {3,4},最后字符串变成{1, 10, 2, 4, 3}。 思路 首先考虑第一段,因为第 阅读全文
posted @ 2017-11-02 14:32 Shadowdsp 阅读(329) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出n个人,和m对有冲突的人。要裁掉一些人,使得冲突率最高,冲突率为存在的冲突数/人数。 思路 题意可以转化为,求出一些边,使得|E|/|V|最大,这种分数规划叫做最大密度子图。 "学习" "建图" 对于每个边,依赖于点,可以转化为最大权闭合子图来求解。 最大密度子图: max( 阅读全文
posted @ 2017-10-17 19:59 Shadowdsp 阅读(488) 评论(0) 推荐(0)
摘要:"题目链接" 题意 已知班级有g个女孩和b个男孩,所有女生之间都相互认识,所有男生之间也相互认识,给出m对关系表示哪个女孩与哪个男孩认识。现在要选择一些学生来组成一个集合,使得里面所有人都认识,求此集合最大人数。 思路 二分图的最大团的定义:对于一般图来说,团是一个顶点集合,且由该顶点集合诱导的子图 阅读全文
posted @ 2017-09-28 17:16 Shadowdsp 阅读(273) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给一棵边带权树,问两点之间的距离小于等于K的点对有多少个。 思路 "《分治算法在树的路径问题中的应用》" "图片转载于http://www.cnblogs.com/Paul Guderian/p/6782671.html" 我对于点分治的理解:对于树上的一些问题,可以转化为答案只 阅读全文
posted @ 2017-09-27 10:04 Shadowdsp 阅读(249) 评论(0) 推荐(0)
摘要:"题目链接" 题意 给出n个点m条有向边,源点s,汇点t,k。问s到t的第k短路的路径长度是多少,不存在输出 1. 思路 A\ 算法是启发式搜索,通过一个估价函数 f(p) = g(p) + h(p) ,其中源点到p的距离是g(p),从p到汇点的距离是h(p),从源点经过p点到达汇点的长度f(p), 阅读全文
posted @ 2017-09-22 18:33 Shadowdsp 阅读(261) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3301 题意:在二维平面上有n个点,每个点有一个坐标,问需要的正方形最小面积是多少可以覆盖所有的点。 思路:从第二个样例可以看出,将正方形旋转45°的时候,面积是最小的。 因此考虑旋转正方形,就可以当作旋转本来的点,对于旋转后的点,求最大的x和最 阅读全文
posted @ 2017-05-01 10:32 Shadowdsp 阅读(381) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2455 题意:给出n个点和m条无向路,每条路都有一个长度。从1点到n点要走t次两两互不重合的路。求出每条1->n的路中相邻两点最大值的最小值。 思路:题目就是要最小化最大值,因此可以二分枚举当前的最大长度,如果长度小于等于当前枚举的值的话,就可以 阅读全文
posted @ 2017-04-26 17:46 Shadowdsp 阅读(309) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1966 题意:给出一个由n个点,m条边组成的无向图。求最少去掉多少点才能使得图中存在两点,它们之间不连通。 思路:将点i拆成a和b,连一条a->b的容量为1的边,代表这个点只能走一次,然后如果点i和点j有边相连,那么将bi和aj相连,bj和ai相 阅读全文
posted @ 2017-04-26 17:30 Shadowdsp 阅读(331) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3680 题意:给出n个区间[Li,Ri],每个区间有一个权值wi,要使得每个点都不被超过k个区间覆盖(最多能被k个区间覆盖),如果选取了第i个区间,那么能得到wi的权值,问最终能得到的最大权值是多少。 思路:首先把区间离散化,然后考虑构图。 第一 阅读全文
posted @ 2017-04-23 10:17 Shadowdsp 阅读(225) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3686 题意:给出n个玩具和m个工厂,每个工厂加工每个玩具有一个时间,问要加工完这n个玩具最少需要等待的平均时间。例如加工1号玩具时间为t1,加工2号玩具时间为t2。那么先加工玩具1再加工玩具2花费的时间是t1+(t1+t2),先加工玩具2在加工 阅读全文
posted @ 2017-04-23 09:43 Shadowdsp 阅读(180) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2175 题意:有n个楼,m个防空洞,每个楼有一个坐标和一个人数B,每个防空洞有一个坐标和容纳量C,从楼到防空洞需要的时间是其曼哈顿距离+1,现在给出一个方案,问该方案是否是让所有人到防空洞避难的花费时间最少的方案,如果不是,输出一个最佳方案。 思 阅读全文
posted @ 2017-04-23 00:16 Shadowdsp 阅读(428) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2778 题意:有m个病毒DNA,问构造一个长度为n的不带病毒DNA的字符串可以有多少种。 思路:看到这题有点懵,想了挺久题解的思路。 使用AC自动机判断总共有哪些状态,和哪些状态是不可取的。 然后构造出矩阵mat,mat[i][j]代表从状态i走 阅读全文
posted @ 2017-03-22 14:14 Shadowdsp 阅读(248) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2887 题意:给出一个字符串,还有n个询问,第一种询问是给出一个位置p和字符c,要在位置p的前面插入c(如果p超过字符串长度,自动插在最后),第二种询问是给出一个位置p,查找第p个位置的字符(p保证合法)。 思路:暴力分块。一开始建成块之后,每次 阅读全文
posted @ 2017-03-17 14:09 Shadowdsp 阅读(410) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2796 题意:给出n个数,问一个区间里面最小的元素*这个区间元素的和的最大值是多少。 思路:只想到了O(n^2)的做法。 参考了http://www.cnblogs.com/ziyi--caolu/archive/2013/06/23/31515 阅读全文
posted @ 2017-03-04 13:09 Shadowdsp 阅读(297) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1651 题意:给出n个数字,每取中间一个数,就会使得权值加上中间这个数和两边的乘积,求取剩两个数最少的权值是多少。 思路:区间dp。 一开始想了挺久还是写不出方程,做了点别的事回来再想就突然觉得很简单了。 一开始使得长度为1和2的区间dp[i][ 阅读全文
posted @ 2017-02-27 15:13 Shadowdsp 阅读(140) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2955 题意:给出一串字符,求括号匹配的数最多是多少。 思路:区间DP。 对于每个枚举的区间边界,如果两边可以配对成括号,那么dp[i][j] = dp[i+1][j-1] + 2,表示由上一个状态加上当前的贡献。 然后和普通的区间合并一样去更新 阅读全文
posted @ 2017-02-26 23:30 Shadowdsp 阅读(145) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3621 题意:有n个点m条有向边,每个点有一个点权val[i],边有边权w(i, j)。找一个环使得Σ(val) / Σ(w)最大,并输出。 思路:和之前的最优比率生成树类似,还是构造成这样的式子:F(L) = Σ(val[i] * x[i]) 阅读全文
posted @ 2017-02-22 14:11 Shadowdsp 阅读(193) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2728 题意:有n个点,有三个属性代表每个点在平面上的位置,和它的高度。点与点之间有一个花费:两点的高度差;还有一个长度:两点的距离。现在要让你在这n个点里面弄一个生成树,使得∑cost / ∑dis 最小,问最小的比率是多少。 思路:求得的比率 阅读全文
posted @ 2017-02-21 20:43 Shadowdsp 阅读(371) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3318 题意:问A和B两个矩阵相乘能否等于C。 思路:题目明确说出(n^3)的算法不能过,但是通过各种常数优化还是能过的。 这里的随机算法指的是随机枚举矩阵C的一个位置,然后通过A*B计算是否能够得到矩阵C相应位置的数,如果不等,就直接退出了,如 阅读全文
posted @ 2017-02-10 22:29 Shadowdsp 阅读(346) 评论(0) 推荐(0)