1533专题

HDU_1533 Going Home(最优匹配)

说实话,这个题目刚开始还真看不出是完备匹配下的最大权匹配(当然,这个也可以用网络流做。(应该是添加源点、汇点,源点到每个m的距离取m到所有H中最小的那个(用一个大数减掉后就是最大的)汇点到每个H的距离类似,然后求最大流) 有空再试着做一下吧,空说无益)。 我是在图论500题里看到的,在网络流基础题里面。一开始想不出这个怎么流! 后面网上查这个是二分图最优匹配。于是昨天花几个小时看了相关资料,写了

UVA - 1533 Moving Pegs

题意:首先给你空闲的位置,可以跳过几个来吃掉几个,求最短的吃完所有的,且最后一个回到开始指定的位置 思路:BFS+HASH判重,对于每个位置有六个方向,当然有的是不能走的,加上map的判重就可以了 #include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <set>#inc

HDU 1533 Going Home(KM完美匹配)

HDU 1533 Going Home 题目链接 题意:就是一个H要对应一个m,使得总曼哈顿距离最小 思路:KM完美匹配,由于是要最小,所以边权建负数来处理即可 代码: #include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const i

题目1533:最长上升子序列

题目描述: 给定一个整型数组, 求这个数组的最长严格递增子序列的长度。 譬如序列1 2 2 4 3 的最长严格递增子序列为1,2,4或1,2,3.他们的长度为3。 输入: 输入可能包含多个测试案例。 对于每个测试案例,输入的第一行为一个整数n(1<=n<=100000):代表将要输入的序列长度 输入的第二行包括n个整数,代表这个数组中的数字。整数均在int范围内。