随笔分类 -  UVA

摘要:题意: 给出一个1*N的矩阵(就是一行的格子),其中部分格子可以有草,部分无草,现在要求放置一些稻草人在某些格子上,每个稻草人可以覆盖3个连续格子,为使得有草的格子都能被覆盖,问最少放置几个稻草人。思路: 常规的DP。从左到右,考虑每个格子,无论是否有草,都可以放稻草人,也可以不放稻草人。然后进... 阅读全文
posted @ 2015-09-29 19:46 xcw0754 阅读(204) 评论(0) 推荐(0)
摘要:题意: 过河模型:有n个人要渡河,每个人渡河所耗时可能不同,只有1只船且只能2人/船,船速取决于速度慢的人。问最少耗时多少才能都渡完河?思路: n2的情况,第一次肯定是两个耗时少的先过去。接下来有两种渡河方式,有可能是{a回,另外2人去,b回,a和b去},也可能是{a回,a和另一人去}。也就是说... 阅读全文
posted @ 2015-09-29 18:41 xcw0754 阅读(287) 评论(0) 推荐(0)
摘要:题意:有一个n*m的矩阵,其中部分格子已经涂黑,部分涂白,要求为其他格子也上黑/白色,问有多少种涂法可以满足一下要求: (1)任意2*2的子矩阵不可以同色。 (2)所有格子必须上色。 (3)只能有两个连通分量(即1黑1白)。 注:1 2 #include 3 #include 4 ... 阅读全文
posted @ 2015-09-12 16:07 xcw0754 阅读(356) 评论(0) 推荐(0)
摘要:题意: 给一个无向图,再给一系列操作(以下3种),输出最后的平均查询结果。(1)D X 删除第x条边。(2)Q X k 查询与点X相连的连通分量中第k大的点的权值。(3)C X v 将点X的权值改为v。思路: 第一点,由于需要删除边,不是很方便,所以可以先将所有操作存起来,反序来操作,这样删边就... 阅读全文
posted @ 2015-08-26 11:45 xcw0754 阅读(174) 评论(0) 推荐(0)
摘要:题意: 一根长度为n的木条,随机选k个位置将其切成k+1段,问这k+1段能组成k+1条边的多边形的概率?思路: 数学题。要求的是概率,明显与n无关。 将木条围成一个圆后再开切k+1刀,得到k+1段。组不成多边形就是其中有一段特别长,比其他k段加起来还要长。先算出不能围成多边形的概率,那么就是圆... 阅读全文
posted @ 2015-08-24 17:48 xcw0754 阅读(427) 评论(0) 推荐(0)
摘要:题意:你一开始有1元钱,接下来又n=1啦,比前者要好。这个画坐标轴的话,前者是直线段,后者是向右上方向的直线段。 (4)在第3中,我们是假设了只有1个问题,如果有2,3,4个呢?看只有2个的,我们先算算回答第一个问题,max(20,p*x),x是表示后面那个问题所能拿到的最大期望值,还没有算呢。所... 阅读全文
posted @ 2015-08-24 15:58 xcw0754 阅读(360) 评论(2) 推荐(0)
摘要:题意:给出a和b,表示在直角坐标系上的x=[-a,a] 和 y=[-b,b]的这样一块矩形区域。给出一个数s,问在矩形内随机选择一个点p=(x,y),则(0.0)和p点组成的矩形面积大于s的概率是多少?思路: 由于4个象限上的区域是一样的,所以只需要在第一象限上求概率即可。可以根据面积的大小来求概... 阅读全文
posted @ 2015-08-24 11:31 xcw0754 阅读(219) 评论(0) 推荐(0)
摘要:题意:一种刮刮卡一共有n种图案,每张可刮出一个图案,收集n种就有奖,问平均情况下买多少张才能中奖?用最简的分数形式表示答案。n 2 #define pii pair 3 #define INF 0x3f3f3f3f 4 #define LL long long 5 using namespace s... 阅读全文
posted @ 2015-08-24 10:11 xcw0754 阅读(678) 评论(0) 推荐(0)
摘要:题意:给n个坐标。一个坐标(x,y)若有无存在的坐标满足x1=y就会淘汰掉该点。 1 #include 2 #define pii pair 3 #define INF 0x3f7f7f7f 4 #define LL long long 5 using namespace std; 6... 阅读全文
posted @ 2015-08-22 17:11 xcw0754 阅读(187) 评论(0) 推荐(0)
摘要:题意: 给一个序列,是从1~n共n个的自然数,接下来又m个区间,对于每个区间[a,b],从第a个到第b个从序列中分离出来,翻转后接到尾部。输出最后的序列。思路: 这次添加了Split和Merge两个基本操作,还有个比较困难的翻转操作。翻转操作只需要将需要翻转的序列独立成树,给根加上翻转标记之后再... 阅读全文
posted @ 2015-08-22 14:57 xcw0754 阅读(258) 评论(0) 推荐(0)
摘要:题意:给一个r*c的矩阵,某些格子中可能有一些怪物,可以在一行或一列防止一枚大炮,大炮会扫光整行/列的怪,问最少需要多少炮?输出炮的位置。思路: 先每行和列都放一个炮,把炮当成点,把怪当成边,一边连接行炮,另一边是列炮,只要其中任何一个扫了,另一个就不必了。所以明显是求最小点覆盖,用最少的点(即炮... 阅读全文
posted @ 2015-08-18 10:37 xcw0754 阅读(894) 评论(2) 推荐(0)
摘要:题意: 给出每个男的心目中的女神排序,给出每个女的心目中的男神排序,即两个n*n的矩阵,一旦任意两个非舞伴的男女同学觉得对方都比现任舞伴要好,他们就会抛弃舞伴而在一起。为了杜绝这种现象,求每个男的最后所搭配的女伴是谁。思路: 怎么感觉题意有点问题,输出的是第i行的男人所搭配的女人,即输出的是... 阅读全文
posted @ 2015-08-17 20:46 xcw0754 阅读(523) 评论(0) 推荐(0)
摘要:题意:目前有一部分可用内存,分为m个大小固定的区域。现有n个程序要执行,每个程序在不同大小的内存中运行所需的时间不同,要使运行完所有程序所耗时最少,问每个程序在哪块区域中从什么时间运行到什么时间,以及运行完所有程序的平均周转时间。思路:各种记录有点麻烦! m个区域看成m台内存大小为该区域大小的计算... 阅读全文
posted @ 2015-08-16 13:04 xcw0754 阅读(314) 评论(0) 推荐(0)
摘要:题意: 给一个n*n的矩阵,每个格子中有正整数w[i][j],试为每行和每列分别确定一个数字row[i]和col[i],使得任意格子w[i][j]=g[i][j]再求最大权和匹配的,但这个最大权和并没有关系。我们可以将row[i]看成一个男的,col[i]看成一个女的,这样男女的总数就相等。 一... 阅读全文
posted @ 2015-08-12 11:59 xcw0754 阅读(625) 评论(1) 推荐(1)
摘要:题意: 有n个蚂蚁n棵树,蚂蚁与树要配对,在配对成功的一对之间连一条线段,要求所有线段不能相交。按顺序输出蚂蚁所匹配的树。思路: 这个题目真是技巧啊,不能用贪心来为每个蚂蚁选择最近的树,这样很可能是相交了的。 整体最优能让每条线段不相交,证明: 假设a1-b1与a2-b2相交。则dis(a1... 阅读全文
posted @ 2015-08-10 22:57 xcw0754 阅读(439) 评论(0) 推荐(0)
摘要:题意: 给n个点编号为0~n-1,0号点为根,给m条边(含自环,重边),每条边有个代价,也有带宽。给定c,问代价不超过c,树形图的最小带宽的最大值能达到多少?思路: 点数才60,而带宽范围也不大,可以进行二分穷举最小带宽,将小于穷举值的边“禁用”,进行求树形图!只要能求得树形图,说明带宽还能继续... 阅读全文
posted @ 2015-08-09 22:39 xcw0754 阅读(221) 评论(0) 推荐(0)
摘要:题意: n个城市,m条路,每条路有个危险值,要使得从s走到t的危险值最小。回答q个询问,每个询问有s和t,要求输出从s到t最小的危险值。(5万个点,10万条边)思路: 其实要求的是任意点对之间的最小瓶颈路的权值。 先对图求一次MST,那么所有的瓶颈路都在上面。但是q0)16 ... 阅读全文
posted @ 2015-08-09 12:43 xcw0754 阅读(399) 评论(0) 推荐(0)
摘要:题意: 秦始皇要在n个城市之间修路,而徐福声可以用法术位秦始皇免费修1条路,每个城市还有人口数,现要求徐福声所修之路的两城市的人口数之和A尽量大,而使n个城市互通需要修的路长B尽量短,从而使得A/B最大。问A/B最大是多少?(1000个城市)思路: 老徐可免费修得1条路,那么剩下最多也只需要修n... 阅读全文
posted @ 2015-08-08 14:48 xcw0754 阅读(386) 评论(0) 推荐(0)
摘要:题意: 给一个由n*m个正方形格子组成的矩形,其中每个格子的边都是可以走的,长度给定,规定:如果在进入该路前需要拐弯,或者走完该路需要拐弯,都是需要付出双倍距离的(每条路最多算2倍)。问从起点到终点的最短路经长。思路: 这个题目超级难搞,思路很简单,就是很麻烦!!!我将1个点4个方向的路长都记录... 阅读全文
posted @ 2015-08-05 21:15 xcw0754 阅读(293) 评论(0) 推荐(0)
摘要:题意:假设一个序列S有n个元素,现在有一堆约束,限制在某些连续子序列之和上,分别有符号>和d。而c是两个字符构成,判断前1个字符足矣。思路: 首先考虑要用点来表示什么,可以看到所给的是区间,也就是首尾的位置,可令sum(a)表示序列a[1...a]的和,那么表达式大概为sum(a+b)-sum(a... 阅读全文
posted @ 2015-08-01 17:57 xcw0754 阅读(209) 评论(0) 推荐(0)