题目:uva10148Advertisement(区间选点)
题目大意:给出n个慢跑选手的慢跑区间,要求每个选手的区间至少要由k个广告,但是如果这个选手的慢跑区间长度放不下K个广告的话(特殊区间),那么就将这个选手的区间内都放满广告就可以了。问要满足上诉的要求,最少需要多少数量的广告,并且要找广告编号从小到大输出。
解题思路:区间选点问题。先将这些区间【a,b】按照b从小到大排...
分类:
其他好文 时间:
2014-07-28 16:17:33
阅读次数:
317
题目:uva10716Evil Straw Warts Live(贪心)
题目大意:给出一个字符串,问如何交换字母位置能够得到回文。这里求最少的交换次数。如果不能通过交换得到回文,输出Impossible。
交换只允许和相邻的字母进行交换。
解题思路:贪心策略:每次都是先将距离两边距离和最短的对称的字母移到到两边,这样这两个字母就对称了,且交换次数是最少的。然后就将这两个字母...
分类:
其他好文 时间:
2014-07-28 16:08:33
阅读次数:
241
题目链接:hdu 4885 TIANKENG’s travel
题目大意:给定N,L,表示有N个加油站,每次加满油可以移动距离L,必须走直线,但是可以为斜线。然后给出sx,sy,ex,ey,以及N个加油站的位置,问说最少经过几个加油站,路过不加油也算。
解题思路:一开始以为经过可以不算,所以o(n2)的复杂度建图,然后用bfs求最短距离,结果被FST了。
将点按照x坐标排序,这样在建...
分类:
其他好文 时间:
2014-07-28 15:49:33
阅读次数:
261
题目链接:hdu 4886 TIANKENG’s restaurant(2)
题目大意:给定一个字符串S,要求在该字符串中找到一个最短并且字符串字典序最小.
解题思路:每次枚举字符串的长度,然后将S中所有该长度的子串映射成一个9进制数,最后再遍历一遍标记数组。
#include
#include
#include
using namespace std;
const int ...
分类:
其他好文 时间:
2014-07-28 15:49:13
阅读次数:
188
http://acm.hdu.edu.cn/showproblem.php?pid=2892解题思路:求多边形与圆的相交的面积是多少。以圆心为顶点,将多边形划分为n个三角形。接下来就求出每个三角形与圆相交的面积。因为三角形的一个点是圆心,所以三角形的另外两个点与圆的情况有以下几种:(1)两点都在圆里...
分类:
其他好文 时间:
2014-07-28 11:37:10
阅读次数:
237
题目:Write a function to find the longest common prefix string amongst an array of strings.题解:解题思路是,先对整个String数组预处理一下,求一个最小长度(最长前缀肯定不能大于最小长度)。然后以第0个字符串....
分类:
编程语言 时间:
2014-07-28 11:33:30
阅读次数:
241
题意:给你n件物品,每个物品买需要一个价值,m个规则 x,y,z 表示 y z 可以构成 x ,问你最少要多少构成第一个物品,解题思路:这里用到图论思想,每有一个点更新就把它加入到队列里面等待松弛,但是还是必须要标记解题代码: 1 #include 2 #include 3 #include ...
分类:
其他好文 时间:
2014-07-28 03:00:29
阅读次数:
196
题目链接:uva 10671 - Grid
Speed
题目大意:给出N,表示在一个N*N的网格中,每段路长L,现在给出h,v的限制速度,以及起始位置sx,sy,终止位置ex,ey,时间范围st,et,车只走最短路,问说在范围内最快到达和耗油量最小的情况下时间和耗油量。
解题思路:dp[x][y][t]表示在x,y这一点,时间为t的耗油量最小为dp[x][y][t],vis[x][...
分类:
其他好文 时间:
2014-07-28 00:26:19
阅读次数:
224
题目连接:uva 1390 - Interconnect
题目大意:给出n表示有n个点,m表示有m条边,现在任选两点建立一条边,直到整个图联通,问说还需建立边数的期望,建过边的两点仍可以建边。
解题思路:哈希的方法很是巧妙,将各个联通分量中节点的个数c[i]转换成一个30进制的数(因为节点个数最多为30),因为结果很大,所以对1e5+7取模。获得的哈希值作为插入和搜索的起点。
#in...
分类:
其他好文 时间:
2014-07-28 00:16:09
阅读次数:
426
大致题意:
从n个盒子里面取出s多花,每个盒子里面的花都相同,并且每个盒子里面花的多数为f[i],求取法总数。
解题思路:
我们知道如果n个盒子里面花的数量无限,那么取法总数为:C(s+n-1, n-1) = C(s+n-1, s)。
可以将问题抽象成:x1+x2+...+xn = s, 其中0
两种方法可以解决这个问题:
方法一:这个问题的解可以等价于:mul = (1+x+x^2+...
分类:
其他好文 时间:
2014-07-28 00:15:49
阅读次数:
184