zoukankan      html  css  js  c++  java
  • [恢]hdu 1789

    2011-12-19 08:22:18

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1789

    题意:n个作业,第i个作业有个deadline[i],过了deadline才完成需要罚score[i]分。每个作业完成需要1天。问最少要被扣多少分。

    mark:贪心orDP,that's a problem。想dp没YY出来。看了别人的思路,贪心水过。

    代码:

    # include <stdio.h>
    # include <stdlib.h>
    # include <string.h>


    typedef struct node{
    int dl, sc ;
    }node ;
    typedef node *pnode ;


    node a[1010] ;
    int flag[1010] ;

    int min(int a, int b){return a<b?a:b ;}
    int cmp(const void *a, const void *b)
    {
    pnode p = (pnode)a, q = (pnode)b ;
    if (p->sc != q->sc) return q->sc - p->sc ;
    return p->dl - q->dl ;
    }


    int main ()
    {
    int i, j, T ;
    int cur, ans, n ;
    scanf ("%d", &T) ;
    while (T--)
    {
    scanf ("%d", &n) ;
    for (i = 0 ; i < n ; i++)
    {
    scanf ("%d", &a[i].dl) ;
    if (a[i].dl >1010)
    a[i].dl = 1010 ;
    }
    for (i = 0 ; i < n ; i++)
    scanf ("%d", &a[i].sc) ;
    qsort(a, n, sizeof(node),cmp) ;
    ans = 0 ;
    memset (flag, 0, sizeof(flag)) ;
    for (i = 0 ; i < n ;i++)
    {
    for (j = a[i].dl - 1 ; j >= 0 ; j--)
    {
    if (flag[j] == 0)
    {
    flag[j] = 1 ;
    break ;
    }
    }
    if (j == -1) ans += a[i].sc ;
    }
    printf ("%d\n", ans) ;
    }
    return 0 ;
    }



  • 相关阅读:
    数组
    mysql优化思路
    mysql_存储过程
    mysql_函数
    mysql_结构
    mysql_触发器
    mysql_变量
    mysql_事务
    mysql总结
    mysql备份
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2315231.html
Copyright © 2011-2022 走看看