首页 > 代码库 > BestCoder Round #3 1001 && HDU 4907 Task schedule (预处理)
BestCoder Round #3 1001 && 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(vis,0,sizeof vis); scanf("%d %d",&n,&m); for(i=0;i<n;i++) { scanf("%d",&num); vis[num]=1;//有任务 } int count=200000; for(i=200000;i>=1;i--) { tak[i]=i;//任务本来在i时刻做 if(vis[i]==0)//i时刻有任务 count=i; else tak[i]=count;//在i时刻之前有任务 } for(i=0;i<m;i++) { scanf("%d",&ti); printf("%d\n",tak[ti]); } } } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。