![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OJ_UVA
文章平均质量分 71
wang2147483647
这个作者很懒,什么都没留下…
展开
-
Uva 10615 Rooks(二分图完美匹配+补边)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1556思路:1.给棋子染色,要求每行每列棋子颜色均不相同。2.可以看出,所需最少颜色数为每行每列最大的棋子数,设为ans。3.构造二分图模型,左右各n个点,若第i行第j列存在棋子,原创 2017-10-17 15:42:42 · 1555 阅读 · 0 评论 -
UvaLive 4255 Guess(拓扑排序)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2256思路:1.对于前缀和sum[i]、sum[j]:若i到j的和为负数,则连边(i-1)--->j(代表sum[j]-sum[i-1](i-1)(代表sum[j]-sum[原创 2017-08-22 09:55:12 · 392 阅读 · 0 评论 -
Uva 12125 March of the Penguins(最大流)
题目地址思路:1.每个点都有一次数限制。拆点:将每个点i拆成i和i',连容量为m[i]的边,代表只能m[i]的流量通过。2.若i和j可到达,连边i'---->j,容量为INF。3.由于最终到达地点未知,枚举终点i,判断最大流是否等于企鹅总数即可。#include#include#include#include#include#include#include#def原创 2017-08-22 09:28:30 · 477 阅读 · 0 评论 -
Uva 11354 Bond(最小生成树+LCA)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2339思路:寻找s到t路径上最大权值最小的值。则该路径必在最小生成树上:最小生成树上为权值尽可能短的n-1条边,若该路径上最小的最大权值不在最小生成树上,则此权值会比最小生成树上的权值大(原创 2017-08-22 09:22:25 · 449 阅读 · 0 评论 -
Uvalive 3263 That Nice Euler Circuit(几何欧拉定理)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1264思路:欧拉定理:设平面图的顶点数、边数和面数分别为V、E和F,则V+F-E=2。顶点数可以通过计算两线段交点计算:首先判断两线段是否相交(每条线段的两个端点均在另一条线原创 2017-08-14 19:40:26 · 537 阅读 · 0 评论 -
UVA 11178 Morley's Theorem(几何)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2119思路:求出角ABC与角ACB,将向量BC逆时针旋转三分之一角ABC得到向量BD,将向量CB顺时针旋转三分之一角ACB得到向量CD,求向量BD与向量CD的交点即为点D。点E与点F同理。原创 2017-08-14 16:56:20 · 401 阅读 · 0 评论 -
Uva 10256 The Great Divide(凸包)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1197思路:分离两种点,即为分离两种点组成的两个凸包:1.任取A凸包中的一点,判断是否在B凸包中;任取B凸包中的一点,判断是否在A凸包中;2.任取A凸包上一条线段,判断是否与B凸包原创 2017-08-19 21:21:42 · 544 阅读 · 0 评论 -
Uva 11168 Airport(凸包)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2109思路:1.所找直线一定为凸包上的边,故可枚举凸包上的边,求最短距离和。2.由于所有点在直线同侧所以所有abs(A*x+B*y+C)/sqrt(A*A+B*B)等于(A*x+B*y原创 2017-08-18 21:46:23 · 229 阅读 · 0 评论 -
Uvalive 4513 Stammering Aliens(字符串Hash)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3358思路:为每个后缀计算一个哈希值,满足H(i)=H(i+1)x+s[i] (其中0对于一段长为L的字符串s[i]---s[i+L-1],定义它的哈希值Hash(i,L)=H(i)-原创 2017-08-18 19:28:52 · 580 阅读 · 0 评论 -
Uva 10652 Board Wrapping(凸包)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1593思路:用最小的面积将所有长方形包裹起来,即为求一个凸包使得所有长方形的边均在凸包内,求所有点的凸包即可。已知长方形中点(x,y)、长(w)宽(h)和旋转角度(angle),求四个原创 2017-08-18 17:48:53 · 370 阅读 · 0 评论 -
Uva 12304 2D Geometry 110 in 1!(圆综合题)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3726思路:居然错在了求内切圆gg。1.求外接圆:求出任意两条垂直平分线,求交点即可。2.求内切圆:设三角形三点坐标分别为(x1, y1), (x2, y2),原创 2017-08-18 16:10:22 · 531 阅读 · 0 评论 -
Uva 10755 Garbage Heap(三维最大子矩阵)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1696思路:二维前缀和,以(i,j)为右下角的矩形中元素的和:sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j]原创 2017-08-17 10:16:24 · 473 阅读 · 0 评论 -
Uva 1608 Non-boring sequences(分治)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4483思路:1.对于总序列,若p位置元素唯一,则只需判断序列[1,p-1]和序列[p+1,n]是不是无聊的(因为跨过p的序列一定不无聊,至少包含一唯一元素a[p])。2.判断一元素在序原创 2017-08-16 15:59:06 · 258 阅读 · 0 评论 -
UVA 11375 Matches(递推)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=25&page=show_problem&problem=2370思路:mat[x]表示数字x所需的火柴数,则当有i根火柴时,每添加一个数字x,就行状态i转移到状态i+mat[x]。令d[i]表示状态i个火柴时的方案数,则每次从原创 2017-05-18 22:32:04 · 792 阅读 · 0 评论 -
Uva Mining Your Own Business(点双连通分量)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3549思路:蓝书描述:在一个无向图上选择尽量少的点涂黑(对应太平井),使得任意删除一个点后,每个连通分量至少有一个黑点。涂黑割点是不划算的:若删除割点,图不连通,对于剩余连通分量若保证原创 2017-08-21 21:43:18 · 663 阅读 · 0 评论 -
Uvalive 4728 Squares(旋转卡壳)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2729思路:1.朴素算法可以枚举凸包上每条边,计算到这两条边两端点的距离最远点(与枚举点相同O(n^2))。2.对于每一条边,凸包上点依次与其端点的距离成单峰函数(先增后原创 2017-08-22 19:38:48 · 495 阅读 · 0 评论 -
Uva 11796 Dog Distance(几何+相对运动)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2896思路:若两只狗只在一条线段上运动,由于求两狗相对距离,假设以狗A为系,则狗B相对A运动的速度为vB-vA,狗A相对静止。则此时相当于一静止点到一线段的距离,最小值出现在点到线段的距离,最原创 2017-08-15 19:59:51 · 1030 阅读 · 0 评论 -
Uva 10984 Double NP-hard(二分图)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1925思路:1.求一点集,使得其为图的最小覆盖集和最大独立集。2.首先,若该图不为二分图,则必无解:若不为二分图,则存在奇数长度回路,设该回路上点数为2*k+1。则由定义,至多k个点在原创 2017-10-16 20:19:42 · 685 阅读 · 0 评论 -
UvaLive 5031 Graph and Queries(Treap+并查集)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3032思路:1.三种操作#include#include#include#include#include#include#define debugusi原创 2017-10-23 17:35:57 · 617 阅读 · 0 评论 -
UvaLive 2197 Paint the Roads(费用流)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=198思路:原创 2017-10-21 20:51:29 · 732 阅读 · 0 评论 -
Uva 11146 Insurrection(最短路+最小割)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2087思路:1.删除k个点使得点1到点n不连通。2.拆点。将每个点拆为i和i’,容量为删除该点的花费(即为从1点到该点的最短路+n点到该点的最短路)。3.对于原图中的无向边i-j,原创 2017-10-21 16:16:56 · 689 阅读 · 0 评论 -
Uva 10983 Buy one, get the rest free(二分+最大流)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1924思路:1.二分所需花费cost,每次只选择不大于cost的航班。2.设源点S,汇点T。对于每个城市,表示为二元组(i,t),代表第t天处于第i个城市。从S到每一(i,0)连边,容原创 2017-10-20 14:15:08 · 605 阅读 · 0 评论 -
Uva 10934 Dropping water balloons(递推)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1875思路:红书上分析:#include#include#include#includeusing namespace std;typedef long lo原创 2017-10-05 18:43:54 · 583 阅读 · 0 评论 -
Uva 1153 Keep the Customer Satisfied(贪心)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3594思路:从小到大排序,依次加入,若当前值超过规定时间,则从已加入的订单中删去所需时间最大的,然后将当前订单加入记录个数即可。#include#include#include#原创 2017-10-05 16:56:30 · 563 阅读 · 0 评论 -
Uva 10888 Warehouse(KM)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1829思路:1.首先求出每个箱子到达每个目的地的最短距离w。2.将箱子看做x点,将目的地看做y点,x向y连边,权值为w,求二分图最优匹配即可。3.是否存在移动过程中路径上有其他箱子原创 2017-09-29 22:18:50 · 378 阅读 · 0 评论 -
Uva 1627 Team them up!(dp+二分图染色)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4502思路:1.将所有不能在一组的两个人连边,二分图染色,若发现染色不成功,则无解。2.若染色成功,同一连通分量里的黑点与白点无法分为一组,不同连通分量中的点可与其他连通分量中的任一种原创 2017-08-30 20:41:58 · 592 阅读 · 0 评论 -
uva 1326 Jurassic Remains(中途相遇法+位运算)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4072思路:1.找一最大集合,使得其中任意字符串出现偶数次。将每一字符串转化为一二进制数(每一位对应一字母A...Z),若该字符出现奇数次,该位为1,否则为0。将给定字符串分为两部分,原创 2017-08-27 21:45:26 · 568 阅读 · 0 评论 -
uva 1476 Error Curves(三分)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4222思路:几个函数图像相交所形成的图像仍为下凸的(若不为下凸,则在交点处存在先增后减,而由于取局部最大值,不应该选择递减部分,矛盾,所以图像全部为下凸),下凸函数最小值可用三分法解决:取原创 2017-08-27 20:16:53 · 549 阅读 · 0 评论 -
uva 1328 Period(KMP循环节)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4074思路:1.对于某个字符串S,长度为len,由长度为L的字符串s重复R次得到,当R≥2时必然有S[0..len-L-1]=S[L..len-1],那么对于KMP算法来说,就有nex原创 2017-08-27 20:06:09 · 499 阅读 · 0 评论 -
Uvalive 3890 Most Distant Point from the Sea(半平面交+二分)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1891思路:1.求一点到凸包边界最远,即求最大内切圆半径。2.二分半径r,讲凸包上边像内平移(点p+(normal vector)*r,方向向量v),求半平面交。若交点大原创 2017-08-22 21:45:16 · 387 阅读 · 0 评论 -
UVA 11806 Cheerleaders(容斥原理)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2906思路:A表示第一行无石子,B表示最后一行无石子,C表示第一列无石子,D表示最后一列无石子。A=B=c[(n-1)*m][k],C=D=c[n*(m-1)][k]。tot=c[n*m][k原创 2017-05-18 15:43:21 · 794 阅读 · 0 评论 -
UVA 11538 Chess Queen(数学)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=27&page=show_problem&problem=2533思路:同一行中放置皇后即为n*A(m,2),同一列中放置皇后即为m*A(n,2)。对角线上放置皇后:设n不大于m,则所有主对角线格子个数为1,2,3....n-1原创 2017-05-18 15:33:57 · 778 阅读 · 0 评论 -
UVA 1587 Box(模拟)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=448&page=show_problem&problem=4462思路:分三种面,模拟,注意判断每种面的个数。#include#include#include#include#include#define deb原创 2017-02-25 17:07:49 · 707 阅读 · 0 评论 -
UVA 1395 Slim Span(最小生成树)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4141思路:将边按从小到大排序,设l,r。则在[l,r]范围内的值一定小于等于w[r]-w[l],则若l...r之间的边可形成生成树,则更新答案,同时将l++,r=l。#include#原创 2016-10-11 15:35:58 · 528 阅读 · 0 评论 -
UVALive 6854 City(构造)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4866思路:相邻格子相连接的道路的数目一定相同。所以,对于奇数位置((i+j)&1==1)的点,ans+=x,对于偶数位置((i+j)&1==0)的点,ans-=x。则最后abs原创 2016-09-24 20:18:47 · 777 阅读 · 0 评论 -
UVA 1025 A Spy in the Metro(DP)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3466思路:has_train[i][j][1]表示在第i个时刻,第j个车站,有向右行驶的火车,has_train[i][j][1]表示有向左行驶的火车。在第i时刻,第j个车站,有三种决策:1原创 2016-09-06 16:53:28 · 473 阅读 · 0 评论 -
UVAlive 6800 The Mountain of Gold?(负环判断)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4812思路:若存在负环且0点在负环中,则有解。则用SPFA判断是否存在负环,若点i在负环中,则该点的dist置为-INF(下次不再访问),若某点已在负环中,则更新时该点无需进入队原创 2016-08-24 19:33:56 · 669 阅读 · 0 评论 -
UVAlive 6694 Toy Boxes(三分)
题目链接: UVALive 6694 - Toy Boxes 题意: 有n个物品,需要分在三个箱子里,每个箱子的花费是(箱子中物品个数∗箱子中物品的总重量(箱子重量忽略不计),求总花费最少是多少?(n≤20000,每个物品的重量≤1000) 分析: 先考虑将其分为两堆的情况。我们需要证明一个结论:分成两堆时一定是连续小的物品在一堆,连续大的在一堆,也就是其中一堆的任意一个物品重转载 2016-08-23 21:49:20 · 486 阅读 · 0 评论 -
UVAlive 6693 Flow Game(模拟)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4705思路:若有解,两点连线最小距离=曼哈顿距离+1,则ans=abs(x1-x2)+abs(y1-y2)+abs(x3-x4)+abs(y3-y4)+2。若无解,则两线相交:对原创 2016-08-23 22:07:38 · 731 阅读 · 0 评论 -
UVALive 6604 Airport Sort(逆序对+贪心)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4615思路: 第一种交换类似冒泡排序,只是要求#include#include#include#includeusing namespace std;const i原创 2016-09-01 21:09:30 · 426 阅读 · 0 评论