解题报告
题目传送门
题意:
一个人有n个农场,他想从1到n去,有从n到1回来,要求路径最短,且没有走重复的路。
思路:
如果两次最短路感觉不行的,可以看成费用流,每一条路容量都是1,这样只要流量等于2就行了。
一次mcmf模版。
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using namespac...
分类:
其他好文 时间:
2014-08-17 15:37:52
阅读次数:
334
解题报告
题目传送门
题意:
在h×w的矩阵中,o表示空地,*表示城市,无线设备只能装在城市上,要使城市全都覆盖需要多少设备。每个设备只能覆盖相邻的两个设备。
思路:
感觉是直接的最大匹配,求出两两匹配的最大数,加上没有匹配的城市就是要的答案。
网上看了题解,正解是最小路径覆盖。
最小路径覆盖=|G|-最大匹配数
在一个N*N的有向图中,路径覆盖就是在图中找一些路经,使之覆盖了...
分类:
其他好文 时间:
2014-08-16 12:38:50
阅读次数:
142
解题报告
题目传送门
题意:
两个人拿着两副牌,其中一人知道另一个人的手牌,问要怎么配对才能使他获得更多的点数。
游戏规则:
两张牌的第一个数大的牌的人加点。
第一个数相同就比较第二个数。
H>S>D>C
思路:
很容易建图,二分图最大匹配over
#include
#include
#include
using namespace std;
int mmap[100]...
分类:
其他好文 时间:
2014-08-15 21:14:29
阅读次数:
362
解题报告
题目传送门
题意:
一个小镇,所有的街道都是单向的,这些街道都是从一个十字路口通往另一个十字路口,已知从任何十字路口出发,沿着这些街道行走,都不能回到同一个十字路口,也就是说不存在回路。
计算攻击这个小镇需要派的伞兵最少数目,这些伞兵要走遍小镇的所有十字路口,每个十字路口只由一个伞兵走到。每个伞兵在一个十字路口着陆,沿着街道可以走到其他十字路口。
思路:
用最小的伞兵覆盖街道...
分类:
其他好文 时间:
2014-08-15 16:06:48
阅读次数:
275
一、升级Microsoft Visual Studio 2010到Microsoft Visual Studio 2010 sp11.升级方法一这里直接给传送门了Microsoft Visual Studio 2010 Service Pack 1升级文件下载地址: http://www.micro...
分类:
Web程序 时间:
2014-08-15 12:31:38
阅读次数:
231
解题报告
题目传送门
题意:
求最大的男女匹配数目。
思路:
简单的最大匹配。
#include
#include
#include
using namespace std;
int k,n,m,mmap[1100][1100],vis[550],pre[550];
int dfs(int x)
{
for(int i=1;i<=n;i++){
if(!v...
分类:
其他好文 时间:
2014-08-15 00:07:56
阅读次数:
262
解题报告
题目传送门
题意:
给n个数,每次左移一位,求最小逆序数。
思路:
如果每次左移一位求一次逆序数肯定不行的。
可以知道,每次左移一位,也就是第一个数移到最后一位,逆序数应该减去第一个数以后比第一个数小的个数,再加上比第一个数大的个数。
原本用线段树求出每一位后面比这一位小的个数再用上面的办法求最小逆序数,没有想到每一次移动会导致后面比它本身大的数都要加1。
这题巧妙就在这...
分类:
其他好文 时间:
2014-08-14 10:46:48
阅读次数:
190
解题报告
题目传送门
题意:
判断直线的位置关系(平行,重合,相交)
思路:
两直线可以用叉积来判断位置关系。
AB直线和CD直线
平行的话端点C和端点D会在直线AB的同一侧。
重合的话在直线AB上。
剩下就是相交。
求两直线交点可以用面积比和边长比来求。
看下面的图就知道了,推导就比较容易了
#include
#include
#include
...
分类:
其他好文 时间:
2014-08-14 01:38:37
阅读次数:
312
解题报告
题目传送门
题意:
求面积交。
思路:
不会呀。
只知道线段树应该维护覆盖数大于2的线段长度。
不会更新,看了别人写的理解的,太菜了。
用sum1和sum2分别来表示覆盖数为1的区间长度和覆盖数为2的区间长度。
更新时即要更新sum1也要更新sum2;
区间如果被覆盖
sum1为实际区间长度,如果覆盖一次,sum2为左右子树的sum1和,覆盖两次就为实际区间长度。
...
分类:
其他好文 时间:
2014-08-12 17:11:04
阅读次数:
205
解题报告
题目传送门
题意:
求矩形面积并
思路:
扫描线+线段树。要离散化,坐标是浮点型的。
对于线段树(区间)与点坐标对应起来可以这样
区间[1,4]对应的线段树。
#include
#include
#include
#include
using namespace std;
struct Seg
{
int v;
double lx,rx,...
分类:
其他好文 时间:
2014-08-12 13:35:04
阅读次数:
250