- 博客(7)
- 收藏
- 关注
原创 poj3565 Ants(二分图最小权匹配,KM算法)
http://poj.org/problem?id=3565 题意:给你n的蚂蚁的坐标和n和苹果的坐标,要你匹配它们,一个要求是它们各自匹配所构成的线段不相交, 题解: 有三角形俩边之和大于第三边可以得到他们连线的所有线段和最小的时候线段一定不会相交。 所以这个题目就转化为二分图最小权匹配,把俩点距离堪称权值,套下KM算法就ok了 #include <iostream> #includ...
2019-08-15 19:34:21 243
原创 POJ 2771 Guardian of Decency 二分图最大独立集
http://poj.org/problem?id=2771 题意:老师带学生出去旅游,老师想要尽可能的避免学生谈恋爱,又想尽可能的带学生出去, 四种情况满足任意种都不会谈恋爱 1.身高差超过40厘米 2.性别一样 3.音乐风格不一样 4,爱好的运动一样 题解:我们这样想,先把他们能谈恋爱的全都匹配起来,然后再把他们狠心拆开也就是只带他们中的一个去,所有答案就等于总人数-最大的匹配数,这也是为什么...
2019-08-15 13:26:20 139
原创 poj 3041 Asteroids 二分图最小点覆盖
http://poj.org/problem?id=3041 首先这个题目求的是二分图的最小点覆盖,二分图的最小点覆盖等于二分图的最大匹配。 因为行与行没关系,列于列也没关系,但行和列之间有关系; 所以这个题目转换为行列之间的二分图的最大匹配 //~~~c++ #include<iostream> #include<cstdio> #include<vector>...
2019-08-14 21:28:33 125
原创 Increasing Speed Limits hdu3030 树状数组求一个序列中有多少个上升子序列
http://acm.hdu.edu.cn/showproblem.php?pid=3030 首先来个树状数组求最长上升子序列的模板 ~~~c #include <cstdio> #include <algorithm> using namespace std; #define FOR(i,a,b) for(int i=(a);i<=(b);++i) #define...
2019-08-13 20:11:55 481
原创 Robbery UVa-707
https://vjudge.net/problem/UVA-707 题解:这个题目是一个dfs,题意是判断小偷的位置,我们可以对小偷在1时刻的所有位置进行搜素,通过dfs和回溯判断这个点是否可到达 t 时刻小偷可以在的点,如果可以,计数,如果没有一个起点能到,则小偷已经逃离,否则小偷还可能在城里,在城内我们增判断是否可以确定小偷在某时刻的位置,如果唯一,则输出他在那个时刻的位置,如果不能确定小偷...
2019-08-13 16:38:06 134
原创 Slash Maze UVa 705
https://vjudge.net/problem/UVA-705 题解:这个题目我们可以把斜线变成一个2成2的方格,然后我们往8个方向搜索,先搜直的四个方向,在搜斜的,斜的方向可走当且仅当这俩个点所在的方格的斜线都平行与这俩点连成的直线,看看我盗来的这个图就明白了。 ~~~c #include<iostream> #include<algorithm> using n...
2019-08-13 00:29:42 125
原创 UValive 4255 Guess(拓扑排序)
题目链接 https://vjudge.net/problem/UVA-1423 这个题目巧妙之处在于我们可以通过符号推断出前缀和的大小关系, 然后我们拓扑排序一下,我是从大到校排序的,所以赋值也是从大到小; 额按后我们就可以前缀相减得出各个数的大小。 #include<bits/stdc++.h> using namespace std; char s[105]; int in[10...
2019-08-10 16:36:56 97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人