hdoj 5461 Largest Point
Largest Point
Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 702 Accepted Submission(s):
293
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5461
题意:给三个数n,a,b,接下来给出n个数的数列,从数列中找到ti和tj使a*ti*ti+b*tj最大且ti不能等于tj
题解:分别考虑a和b的正负情况,如果a<0则求数组中绝对值最小的为ti如果a>0则求数组中绝对值最大的为ti,如果b<0则求数组中最小的为tj如果b>0则求数组中最大的为tj;注意求出ti后将这个位置标记
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<stack>
#define INF 0x7ffffff
#define MAX 5000010
#define LL long long
using namespace std;
int s[MAX];
int vis[MAX];
int main()
{
int t,k,n,m,j,i,p;
int a,b;
LL mina,maxb,maxa,minb,sum,M,N;
scanf("%d",&t);
k=0;
while(t--)
{
scanf("%d%d%d",&m,&a,&b);
memset(vis,0,sizeof(vis));
for(i=0;i<m;i++)
scanf("%d",&s[i]);
sum=0;
mina=minb=INF;maxa=maxb=-INF;
N=M=0;
if(a<0)
{
for(i=0;i<m;i++)
if(mina>abs(s[i]))
{
mina=abs(s[i]);
p=i;
}
M=a*mina*mina;
vis[p]=1;
}
else if(a>0)
{
for(i=0;i<m;i++)
if(maxa<abs(s[i]))
{
maxa=abs(s[i]);p=i;
}
vis[p]=1;
M=a*maxa*maxa;
}
if(b<0)
{
for(i=0;i<m;i++)
if(minb>s[i]&&!vis[i])
minb=s[i];
N=b*minb;
}
else if(b>0)
{
for(i=0;i<m;i++)
if(maxb<s[i]&&!vis[i])
maxb=s[i];
N=b*maxb;
}
sum=N+M;
printf("Case #%d: %lld\n",++k,sum);
}
return 0;
}
hdoj 5461 Largest Point的更多相关文章
- hdu 5461 Largest Point 暴力
Largest Point Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid= ...
- hdu 5461 Largest Point
Thinking about it: 对于式子 a * ti * ti + b * tj,可以看作时有两部分构成 a * ti * ti 和 b * tj,如果整个式子要最大,则要求这两部分都要尽量大 ...
- $2019$ 暑期刷题记录1:(算法竞赛DP练习)
$ 2019 $ 暑期刷题记录: $ POJ~1952~~BUY~LOW, BUY~LOWER: $ (复杂度优化) 题目大意:统计可重序列中最长上升子序列的方案数. 题目很直接的说明了所求为 $ L ...
- HDOJ(HDU) 2136 Largest prime factor(素数筛选)
Problem Description Everybody knows any number can be combined by the prime number. Now, your task i ...
- hdu 5461(2015沈阳网赛 简单暴力) Largest Point
题目;http://acm.hdu.edu.cn/showproblem.php?pid=5461 题意就是在数组中找出a*t[i]*t[i]+b*t[j]的最大值,特别注意的是这里i和i不能相等,想 ...
- HDU 5461:Largest Point
Largest Point Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- 【HDOJ】1506 Largest Rectangle in a Histogram
Twitter还是Amazon拿这个题目当过面试题.DP区间求面积. /* 1506 */ #include <cstdio> #include <cstring> #incl ...
- HDOJ 1238 Substrings 【最长公共子串】
HDOJ 1238 Substrings [最长公共子串] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- Java 特定规则排序-LeetCode 179 Largest Number
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
随机推荐
- 对typesafe enum模式的改进
按照一些资料上讲,其实enum也就是在编译器层面实现用类来包装枚举(typesafe enum 模式)的思想.以保证类型安全.自己用类来写枚举其实效果也还是不错的,只是代码略显啰嗦. 例子代码 pub ...
- CSS2书写顺序
1.位置属性(display, float, position, top, right, z-index, visibility,clear,list-style等) 2.自身属性(width, he ...
- 针对IE的CSS hack 全面 实用
.all IE{property:value\9;} .gte IE 8{property:value\0;} .lte IE 7{*property:value;} .IE 8/9{property ...
- javabean+servlet+jsp程序_个人辛苦探索
主要介绍主流的java web编程技术.设计模式和框架,以及如何利用Eclipese开发Web应用程序. 要点:1.Java Web编程的主要组件技术: 2.MVC设计模式: 3.用Eclipse构建 ...
- C语言中调用Lua
C语言和Lua天生有两大隔阂: 一.C语言是静态数据类型,Lua是动态数据类型 二.C语言需要程序员管理内存,Lua自动管理内存 为了跨越世俗走到一起,肯定需要解决方案. 解决第一点看上去比较容易,C ...
- 有很多功能交给IIS实现就好了啊,之前干嘛要自己写?
比方说设置默认主页啊,错误页伪静态之类的
- Java ,单实例 多线程 ,web容器,servlet与struts1-2.x系列,线程安全的解决
1.Servlet是如何处理多个请求同时访问呢? 回答:servlet是默认采用单实例,多线程的方式进行.只要webapp被发布到web容器中的时候,servlet只会在发布的时候实例化一次,serv ...
- uva 11992 - Fast Matrix Operations
简单的线段树的题: 有两种方法写这个题,目前用的熟是这种慢点的: 不过不知道怎么老是T: 感觉网上A过的人的时间度都好小,但他们都是用数组实现的 难道是指针比数组慢? 好吧,以后多用数组写写吧! 超时 ...
- IIS 500 – 内部服务器错误解决方案
最近装了测试机windows2008使用IIS7.5各种不习惯呀,各种问题,唉.. 今天又遇到了“500 – 内部服务器错误. 您查找的资源存在问题,因而无法显示.”的问题,网上查找了一下,找到解决办 ...
- 【HDU 1828】 Picture (矩阵周长并,线段树,扫描法)
[题目] Picture Problem Description A number of rectangular posters, photographs and other pictures of ...