VIJOS1212 Way Selection

题意:有 r 个人并知道他们的坐标和他们的速度,有 a 个目的地也知道坐标,规定时间为 t,求能到达目的地的最多人数(当然一个目的地只能被一个人占领)。

题解:核心算法 -> 匈牙利算法

CODE:

/*
Author: JDD
PROG: vijos1212 Way Selection
DATE: 2015.9.28
*/

#include <cstdio>
#include <cstring>
#include <cmath>
#define REP(i, s, n) for(int i = s; i <= n; i ++)
#define REP_(i, s, n) for(int i = n; i >= s; i --)
#define MAX_N 1005

using namespace std;

int r, a, t;
double x[MAX_N], y[MAX_N];
double u[MAX_N], v[MAX_N], c[MAX_N];

inline void init()
{
    scanf("%d%d%d", &r, &a, &t);
    REP(i, 1, a) scanf("%lf%lf", &x[i], &y[i]);
    REP(i, 1, r) scanf("%lf%lf%lf", &u[i], &c[i], &v[i]);
}

bool map[MAX_N][MAX_N], used[MAX_N];
int G[MAX_N], ans = 0;

bool find(int x)
{
    REP(i, 1, a){
        if(!used[i] && map[x][i]){
            used[i] = 1;
            if(!G[i] || find(G[i])){
                G[i] = x;
                return 1;
            }
        }
    }
    return 0;
}

inline double dis(double x1, double y1, double x2, double y2)
{
    return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}

inline void doit()
{
    memset(map, 0, sizeof(map));
    REP(i, 1, r) REP(j, 1, a){
            if(v[i] * t >= dis(u[i], c[i], x[j], y[j]))
                map[i][j] = 1;
    }
    //REP(i, 1, r) REP(j, 1, a) printf("%d\n", map[i][j]);
    REP(i, 1, r){
        memset(used, 0, MAX_N);
        if(find(i)) ans ++;
    }
    printf("%d\n", ans);
}

int main()
{
    init();
    doit();
    return 0;
}
时间: 2025-01-10 03:24:40

VIJOS1212 Way Selection的相关文章

CSS3选择器 ::selection选择器

"::selection"伪元素是用来匹配突出显示的文本(用鼠标选择文本时的文本).浏览器默认情况下,用鼠标选择网页文本是以"深蓝的背景,白色的字体"显示的,效果如下图所示: 从上图中可以看出,用鼠标选中"专注IT.互联网技术"."纯干货.学以致用"."没错.这是免费的"这三行文本中,默认显示样式为:蓝色背景.白色文本. 有的时候设计要求,不使用上图那种浏览器默认的突出文本效果,需要一个与众不同的效果,此时

CSS3特殊伪类::selection改变页面选中文字的样式

一般在网页上面,选中文字的时候,文字的样式是会改变的,当然,样式也都是千篇一律的浏览器的默认样式,蓝底白字,偶然看到有些网页上面当文字选中的时候会有不一样的样式,当时就很是好奇,后来才慢慢发现是css的一个伪类::selection ::selection是一个CSS3选择器(这也告诉这我们CSS3必须要去熟悉,这玩意确实可以弄出很多意想不到的好效果.) 兼容性:IE9+,Chrome,Opera,Safari,Firefox…(也可以去查看)caniuse.com#search=::selec

理解Selection对象

Selection对象的属性如下: var selection = window.getSelection(); console.log(selection); 通过上面的代码在控制台查看: anchorNode: {node} 节点: 包含了用户选取内容的起点的节点. anchorOffset {int} 整型值: 用户选取内容的起点与anchorNode属性值所返回的节点的起点之间的距离. focusNode {node} 节点: 包含了用户选取内容的终点的节点. focusOffset {

ISLR系列:(4.1)模型选择--- Subset Selection

Linear Model Selection and Regularization 此博文是 An Introduction to Statistical Learning with Applications in R 的系列读书笔记,作为本人的一份学习总结,也希望和朋友们进行交流学习. 该书是The Elements of Statistical Learning 的R语言简明版,包含了对算法的简明介绍以及其R实现,最让我感兴趣的是算法的R语言实现. [转载时请注明来源]:http://www

数据结构 - 只需选择排序(simple selection sort) 详细说明 和 代码(C++)

数据结构 - 只需选择排序(simple selection sort) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/28601965 选择排序(selection sort) : 每一趟在n-i+1个记录中选取keyword最小的记录作为有序序列中第i个记录. 简单选择排序(simple selection sort) : 通过n-i次keyword之间的比較, 从n-i+1个记录中选出keyword最小的记录, 并和第i

scikit-learn:3. Model selection and evaluation

参考:http://scikit-learn.org/stable/model_selection.html 有待翻译,敬请期待: 3.1. Cross-validation: evaluating estimator performance 3.1.1. Computing cross-validated metrics 3.1.1.1. Obtaining predictions by cross-validation 3.1.2. Cross validation iterators 3.

An internal error occurred during: &quot;Requesting JavaScript AST from selection&quot;. GC overhead limit exc

1.错误描述 An internal error occurred during: "Requesting JavaScript AST from selection". GC overhead limit exceeded 单击"OK"后,提示如下图所示: 2.错误原因 由于用Eclipse编写JavaScript时,出现了return,位置不对,导致错误 3.解决办法 Windows--->Preference--->JavaScript (1)图一

css3的::selection属性

大家都知道浏览器对选中的文本默认样式都是统一的,Windows下是一个深蓝色的背景,白字的前景,而在Mac下是一个淡蓝色背景,白色字体,就如上图所展示的一样,自从有了这个“::selection”选择器后,我们在部分浏览器中可以设置你所需要的样式,下面就让我来告诉大家如何使用这个“::selection”来改变在浏览器中选中文本后的背景色与前景色. ::selection使用语法: /*Webkit,Opera9.5+,Ie9+*/ ::selection { background: 颜色值:

选择屏幕(Selection Screen)

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4292295.html 选择屏幕(Selection Screen). 156 创建选择屏幕... 157 SELECTION-SCREEN.. 157 SELECTION-SCREEN - BEGIN OF SCREEN.. 157 标准选