题目大意:给定平面上的n个正方形,求某个点到另一个点至少穿过多少个边界
一开始想对于每个正方形判断一下起点和终点是否在同一侧= = 但是反例显然
考虑到n
然后跑最短路就行了……由于边权都是1,所以用BFS就能搞出最短路了
连边连挂了调了半宿……
#include
#include
#include
#include
#define M 310
using namespace s...
分类:
其他好文 时间:
2015-02-24 09:06:10
阅读次数:
163
SHOI出过这么鬼的题?、、跪首先我们可以想到费用网络流,找一个流量为2的最大费用流即可,问题是怎么建图因为针对点才有收益,而且收益只有一次,所以考虑拆点,不妨设一个点p拆成入点p1和出点p2则p1 -> p2连边流量为1,费用为1;再连边流量为1,费用为0;S向p1连边流量为1,费用为0;p2向T...
分类:
其他好文 时间:
2015-02-22 23:05:38
阅读次数:
195
题意:给定n个点的树,m个黑点以下n-1行给出边和删除这条边的费用以下m个黑点的点标[0,n-1]删除一些边使得随意2个黑点都不连通。问删除的最小花费。思路:树形dp每一个点有2个状态,成为黑点或白点。若本身这个点就是黑点那么仅仅有黑点一种状态。否则能够觉得是子树中某个黑点转移上来。所以dp[i][...
分类:
其他好文 时间:
2015-02-22 17:20:22
阅读次数:
141
题目大意:
制作地图是一件很复杂的工作,其中一项任务就是为地图上的城市制作标示——在地图上每个
城市的所在位置附近贴上一个文字标签。标签的一个要求就是亮亮不能重叠。本题中,假设每
个城市都是平面上的一个点,坐标为(x,y),他的标签是一个平行于xy轴的正方形,现在要求
代表每个城市的点处于正方形标签的顶边正中央或是底边正中央,如下图所示。对于一个好的
地图,所有的标签大小都应该相同,并且任意两个标签之间没有重叠,但是可以有公共边。
那么问题来了:给定所有城市在平面上的坐标(全部为整数),计算出符合上述要求的...
分类:
其他好文 时间:
2015-02-21 12:04:25
阅读次数:
167
题意:有一面墙,被等分为1QW份,一份的宽度为一个单位宽度。现在往墙上贴N张海报,每张海报的宽度是任意的,但是必定是单位宽度的整数倍,且
思路:简单的成段更新,但是数据量是1千万,会MT,所以要区间压缩(离散化),保证覆盖的关系不变,离散化的时候有个易错的细节,poj数据水了,这个易错点引用hh牛的话:
而这题的难点在于每个数字其实表示的是一个单位长度(并非一个点),这样普通的离散化会造成许多...
分类:
其他好文 时间:
2015-02-19 18:42:45
阅读次数:
167
//搜啊搜...//因为我们每次搜索的起点都是一样的,但是数组的第一个元素不同,所以可以手工算出下一个点,从起点的下一点开始搜 1 #include "iostream" 2 #include "cstdio" 3 #include "cstring" 4 #include "algorithm" ...
分类:
其他好文 时间:
2015-02-18 18:47:22
阅读次数:
294
http://poj.org/problem?id=2420题意:给n个点,求一个点使得到这个n个点的距离和最短,输出这个最短距离(n#include #include #include using namespace std;const int N=105;struct P { int x, y;...
分类:
其他好文 时间:
2015-02-18 17:34:06
阅读次数:
213
描述
http://www.lydsy.com/JudgeOnline/problem.php?id=1001 分析
这是道经典的对偶图问题, 平面图最大流问题可以转化为其对偶图的最短路问题.
转化的方法就是将每个三角形区域看作是一个点, 如果两个三角形区域有公共线, 就在两个结点之间连一条权值为公共线容量的边.
关于编号问题我定义了一个id数组. 表示以...
分类:
其他好文 时间:
2015-02-17 23:38:14
阅读次数:
204
//dp[i][state]//状态转移方程的选取:题目的意思是,从点 i 优先考虑到达 i + A 点的情况,若不能到达 i + A 点,则考虑到达 i + A + 1 点的情况...以此类推,直到考虑完到达 i + B 点的情况。对于最坏的情况,每一个点都有 B - A + 1 个后继点,所以由...
分类:
其他好文 时间:
2015-02-17 17:35:05
阅读次数:
140
传送门:hdu1565方格取数(1)传送门:hdu1569 方格取数(2)定理:1. 最小点权覆盖集=最小割=最大流2. 最大点权独立集=总权-最小点权覆盖集步骤:1. 先染色,取一个点染白色,和它相邻的点染黑色2. 每个白点向它相邻的黑点连一条边,容量为 inf (无穷大)3. 增加源点S,向每一...
分类:
其他好文 时间:
2015-02-17 16:29:21
阅读次数:
260