zoukankan      html  css  js  c++  java
  • bzoj 4004 向量拟阵

    题解RT.

    eps = 1e-10 WrongAnswer

    eps = 1e-5 Accepted

     1 /**************************************************************
     2     Problem: 4004
     3     User: idy002
     4     Language: C++
     5     Result: Accepted
     6     Time:516 ms
     7     Memory:2844 kb
     8 ****************************************************************/
     9  
    10 #include <cstdio>
    11 #include <cstring>
    12 #include <algorithm>
    13 #define eps 1e-5
    14 #define N 510
    15 using namespace std;
    16  
    17 int n, m;
    18 double aa[N][N]; 
    19 int cost[N];
    20 int vid[N];
    21 int kid[N];
    22  
    23 int sg( double x ) {
    24     return (x>-eps)-(x<eps);
    25 }
    26 bool cmp( int a, int b ) { return cost[a]<cost[b]; }
    27 bool join( int id ) {
    28     for( int i=1; i<=m; i++ ) {
    29         if( sg(aa[id][i])==0 ) continue;
    30         if( kid[i]==0 ) {
    31             kid[i]=id;
    32             return true;
    33         } 
    34         int uid = kid[i];
    35         double k = aa[id][i]/aa[uid][i];
    36         for( int j=i; j<=m; j++ )
    37             aa[id][j] -= k*aa[uid][j];
    38     }
    39     return false;
    40 }
    41 int main() {
    42     scanf( "%d%d", &n, &m );
    43     for( int i=1; i<=n; i++ )
    44         for( int j=1; j<=m; j++ )
    45             scanf( "%lf", &aa[i][j] );
    46     for( int i=1; i<=n; i++ )
    47         scanf( "%d", cost+i );
    48     for( int i=1; i<=n; i++ )
    49         vid[i] = i;
    50     sort( vid+1, vid+1+n, cmp );
    51     memset( kid, 0, sizeof(kid) );
    52     int cnt=0, ans=0;
    53     for( int i=1; i<=n; i++ ) {
    54         int id = vid[i];
    55         if( join(id) ) {
    56             cnt++;
    57             ans+=cost[id];
    58         }
    59     }
    60     printf( "%d %d
    ", cnt, ans );
    61 }
    View Code
  • 相关阅读:
    npx 是什么?
    JavaScript 的内置对象和浏览器对象
    JS构造函数new的过程
    git 设置和取消代理
    npm配置镜像、设置代理
    SQL 注入攻击案例
    javascript:void(0);的含义以及使用场景
    让所有网页图片跳起舞来的代码
    针对Web的攻击技术
    网站常见的鉴权认证方式有哪几种?
  • 原文地址:https://www.cnblogs.com/idy002/p/4564451.html
Copyright © 2011-2022 走看看