hdu 4902 Task schedule

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4907

解题思路:就是把空余的时间单独用一个数组存起来,然后查找时用二分查找。但是这题却WA啦好多次,当时想死的心都有啦,后面才发现时数组开小了。。。

code:

#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>

using namespace std;

int a[200010];
int b[200010];
int main()
{
    int T,n,m,x,maxx,i;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d",&n,&m);
        memset(a,0,sizeof(a));
        maxx=-1;
        for(i=0;i<n;i++)
        {
            scanf("%d",&x);
            //maxx=max(maxx,x);
            a[x]=1;
        }
        //printf("%d\n",maxx);
        int len=0;
        for(i=1;i<=200005;i++)
        {
            if(a[i]==0)
            {
                b[len++]=i;
            }
        }
        //b[len]=maxx+1;
        while(m--)
        {
            scanf("%d",&x);
            //if(x<=maxx)
            {
                int l=0,r=len-1,mid;
                int flag=0;
                while(l<=r)
                {
                    mid=(l+r)/2;
                    if(b[mid]>x)
                    {
                        r=mid-1;
                    }
                    else if(b[mid]<x)
                    {
                        l=mid+1;
                    }
                    else if(b[mid]==x)
                    {
                        flag= 1;
                        printf("%d\n",b[mid]);
                        break;
                    }
                }
                if(!flag)printf("%d\n",b[l]);
            }
        }
    }
    return 0;
}

hdu 4902 Task schedule

时间: 2024-08-28 23:12:56

hdu 4902 Task schedule的相关文章

HDU 3572 Task Schedule(ISAP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3572 题意:m台机器,需要做n个任务.第i个任务,你需要使用机器Pi天,且这个任务要在[Si  ,  Ei]区间内完成才有效.对于一个任务,只能由一个机器来完成,一个机器同一时间只能做一个任务.当然,一个任务可以分成几段不连续的时间来完成.问,能否做完全部任务. 题意很清晰,也就是判断是否是满流. 对于网络流问题,模板大家都有,关键在于如何建图(详见资料) 思路:今天问了龙哥,对建图有了一定的了解,

hdu 3572 Task Schedule(最大流)

hdu 3572 Task Schedule Description Our geometry princess XMM has stoped her study in computational geometry to concentrate on her newly opened factory. Her factory has introduced M new machines in order to process the coming N tasks. For the i-th tas

hdu 4908 Task schedule 需要预处理

Task schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 414    Accepted Submission(s): 210 Problem Description 有一台机器,并且给你这台机器的工作表,工作表上有n个任务,机器在ti时间执行第i个任务,1秒即可完成1个任务. 有m个询问,每个询问有一个数字q,表示如

HDU 4907 Task schedule

对于询问q 如果q不存在直接输出q 否则输出后面第一个不存在的数 从2*10^5到1遍历一边ac #include<bits/stdc++.h> using namespace std; int a[200020],b[200020]; int main() { int T,n,m,t,q; scanf("%d",&T); for(int kase=1;kase<=T;kase++) { memset(a,0,sizeof(a)); scanf("%

hdu 4907 Task schedule(二分)

# include <stdio.h> # include <string.h> # include <algorithm> using namespace std; int vis[200010]; int b[200100]; # define Max 200010 int main() { int t,T,n,m,a,i; while(~scanf("%d",&T)) { while(T--) { scanf("%d%d&qu

hdu 4907 Task schedule(哈希运用)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4907 Task schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 554    Accepted Submission(s): 275 Problem Description 有一台机器,并且给你这台机器的工作表,工作表上有

[BestCoder Round #3] hdu 4907 Task schedule (模拟简单题)

Task schedule Problem Description 有一台机器,并且给你这台机器的工作表,工作表上有n个任务,机器在ti时间执行第i个任务,1秒即可完成1个任务. 有m个询问,每个询问有一个数字q,表示如果在q时间有一个工作表之外的任务请求,请计算何时这个任务才能被执行. 机器总是按照工作表执行,当机器空闲时立即执行工作表之外的任务请求. Input 输入的第一行包含一个整数T, 表示一共有T组测试数据. 对于每组测试数据: 第一行是两个数字n, m,表示工作表里面有n个任务,

BestCoder Round #3 1001 &amp;&amp; HDU 4907 Task schedule (预处理)

题目链接:HDU 4907 Task schedule 中文题. 思路:将工作表存在vis的组数中.预处理一遍.具体看代码 AC代码: #include<stdio.h> #include<string.h> bool vis[200100]; int tak[200100]; int main() { int j,i,ti; int n,m,t,num; while(scanf("%d",&t)!=EOF) { while(t--) { memset(

BestCoder Round #3 A hdu 4907 Task schedule

Task schedule                                                                        Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 307    Accepted Submission(s): 160 Problem Description 有一台机器