FOJ 2077 有奖月赛题

原创 2012年03月26日 16:54:05

      昨天比赛时浩神写的这道题,当时我想了想,大致有了个思路,只是感觉绝对会超时,所以一直没写。没想到这道题数据弱了,浩神给过了。今天来了后试着写了一下,没想到,这一写就写了快一天。。。。。悲剧。。。已经有了思路,还是tle了几次,,题目:

Problem 2077 The tallest tree

Accept: 41    Submit: 176
Time Limit: 1000 mSec    Memory Limit : 65536 KB

 Problem Description

lzs种了n棵树,每棵树每天长高一定的高度。某一天,lzs想知道树长得怎么样了,你能求出那一天最高的树有多高吗?

 Input

有多组测试数据,每组数据第一行输入两个整数n,m(1<=n,m<=100000),接下来n行,每行两个整数a,b(0<=a,b<=100000),表示第i棵树在第0天的高度以及每天生长的高度。接下来m行,每行一个整数x(0<=x<=100000),表示询问第x天最高的树有多高。

 Output

对于每个询问输出一行,为当天最高的树的高度。

 Sample Input

1 310 4123

 Sample Output

141822
ac代码:

#include <iostream>
#include <string.h>
#include <algorithm>
#include <cstdio>
using namespace std;
const int N=100005;
struct tree{
  int jishu,xielv;
}tt[N];
int day[N],newday[N];
tree newtree[N];
long long ans[N];
bool cmp(tree a,tree b){
	if(a.jishu==b.jishu)
		return a.xielv>b.xielv;
	return (a.jishu>b.jishu&&a.xielv>b.xielv);
}
int main(){
 //freopen("11.txt","r",stdin);
  int n,t;
  while(~scanf("%d%d",&n,&t)){
    for(int i=0;i<n;++i)
		scanf("%d%d",&tt[i].jishu,&tt[i].xielv);
	sort(tt,tt+n,cmp);
	for(int i=0;i<t;++i)
	{scanf("%d",&day[i]);newday[i]=day[i];}
	sort(newday,newday+t);
	int m=n;
	long long maxvalue=tt[0].jishu,maxxielv=tt[0].xielv;
	for(int i=0;i<t;++i){
	  int x=newday[i],newpos=0,k=1;
	  for(int j=0;j<m;++j){
		  if(!(maxvalue>tt[j].jishu&&maxxielv>tt[j].xielv))
		  {newtree[newpos].jishu=tt[j].jishu;newtree[newpos++].xielv=tt[j].xielv;}
	  }
	  for(int i=0;i<newpos;++i){
	    tt[i]=newtree[i];
	  }
	  m=newpos;
	 for(int j=0;j<newpos;++j){
		  if(newtree[j].jishu+x*newtree[j].xielv>maxvalue){
		    maxvalue=newtree[j].jishu+x*newtree[j].xielv;
			maxxielv=newtree[j].xielv;
		  }
	  }
	  ans[x]=maxvalue;
	}
	for(int i=0;i<t;++i)
		printf("%lld\n",ans[day[i]]);
  }
  return 0;
}


FZU Problem 2222 ABCDEFG(水题)——FOJ有奖月赛-2016年4月(校赛热身赛)

FZU Problem 2222 ABCDEFG(水题)——FOJ有奖月赛-2016年4月(校赛热身赛)

FOJ 有奖月赛 4月(校赛热身赛)D题 小茗的魔法阵

FOJ有奖月赛4月(校赛热身赛)D题小茗的魔法阵 FOJ 有奖月赛 4月(校赛热身赛)D题 小茗的魔法阵题目链接 这题不太会,不过看完大神的博客就会了 现在写下自己的理解吧/** 定义ltop[i...

FOJ有奖月赛-2015年10月(没有补完)

题目:点击打开链接 每次福州的最担心的就是暴0,这次居然又是暴0,说到底还是水平太低了,有思路的总是wa,tle,代码不够完善 1 快来快来数一数 最后的公式是 a[1]=1,a[2...

FOJ有奖月赛-2015年11月 Problem F 攻占计划

Problem F 攻占计划 Accept: 113    Submit: 232 Time Limit: 1000 mSec    Memory Limit : 131072 KB ...
  • ZZ_AC
  • ZZ_AC
  • 2015年11月15日 21:19
  • 954

FOJ有奖月赛-2015年11月 Problem A 据说题目很水

Problem A 据说题目很水 Accept: 113    Submit: 445 Time Limit: 1000 mSec    Memory Limit : 32768 KB ...
  • ZZ_AC
  • ZZ_AC
  • 2015年11月15日 18:54
  • 564

FOJ有奖月赛-2015年11月 Problem A 据说题目很水

Problem A 据说题目很水 Accept: 113    Submit: 445 Time Limit: 1000 mSec    Memory Limit : 32768 KB ...

FOJ有奖月赛-2015年11月-Problem F 攻占计划

Problem F 攻占计划 Accept: 113    Submit: 232 Time Limit: 1000 mSec    Memory Limit : 131072 KB ...

FOJ有奖月赛-2017年4月(校赛热身赛) random password(DP)

Problem D random password Accept: 2    Submit: 64 Time Limit: 10000 mSec    Memory Limit : 65536 KB...

【FZU 2200、2202~2204】FOJ有奖月赛 2015.10 个人的部分题解(C、E、F、G)

比赛地址:http://acm.fzu.edu.cn/contest/ranklist.php?cid=145目前只会CEFG这4个题,下面的题解按过题的顺序来排。...
  • fcxxzux
  • fcxxzux
  • 2015年10月06日 18:36
  • 1694

FOJ有奖月赛-2015年03月

弱爆了,细节处理不了,代码熟练度也不行,想法有时候还过于复杂,整个人都需要被优化。 A简单题 没有什么算法,字符串代码题。 但是复习了不少关于字符串处理的知识。 题意:给你两个串,一个模式...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FOJ 2077 有奖月赛题
举报原因:
原因补充:

(最多只允许输入30个字)