首页 > 代码库 > ·BC」 Round 3

·BC」 Round 3



1.HDU 4097 - Task schedule ( Hash+倒序处理 or 并查集 )

输入的第一行包含一个整数T, 表示一共有T组测试数据。对于每组测试数据:第一行是两个数字n, m,表示工作表里面有n个任务, 有m个询问;第二行是n个不同的数字t1, t2, t3....tn,表示机器在ti时间执行第i个任务。接下来m行,每一行有一个数字q,表示在q时间有一个工作表之外的任务请求。特别提醒:m个询问之间是无关的。
#include <cstdio>#include <cstring>#define maxn 200005#define clr(a,b) memset(a,b,sizeof(a))int t, n, m, q, x;int Hash[maxn], res[maxn];int main(){    scanf("%d",&t);    while(t--)    {        clr(Hash,0);        scanf("%d%d",&n,&m);        for(int i=0;i<n;i++)        {            scanf("%d",&x);            Hash[x] = 1;                }        int last = maxn;        for(int i=maxn;i>0;i--)        {            if(Hash[i] == 0)            {                last = i;                res[i] = i;            }            else                res[i] = last;        }        while(m--)        {            scanf("%d",&q);            printf("%d\n",res[q]);        }    }    }
Hash + 预处理

 

 

2.HDU  4098 -  Bestcoder Sequences  (  )