【推理,贪心】UVa 1319 - Maximum
看到了大神的代码。理解了好久。。。真是差距。
题意:给出m, p, a, b,然后xi满足已下两个公式, 求 xp1 + xp2 +...+ xpm 的最大值。
1、-1/sqrt(a) <= xi <= sqrt(a); (a>0)
2、x1+x2+...+xm = b*sqrt(a);
注意:p为偶数。
解题思路:因为p为偶数,所以sqrt(a)和-1/sqrt(a)的p次方都为正数且sqrt(a) > 1/sqrt(a).所以贪心思想时尽量先取sqrt(a);当已经取的xi的和大于b*sqrt(a)时,再取(-1/sqrt(a))抵消多出的sqrt(a)。
为了简便计算同时减少sqrt()带来的误差。可以现将2式左右同乘以sqrt(a)。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int main(){
int m, p, a, b;
while(~scanf("%d%d%d%d", &m, &p, &a, &b)) {
int l = , r = ; //l, r分别代表-1/sqrt(a)与sqrt(a)的数目
int sum = a * b;
for(int i = ; i < m; i++) { //注意最后一个数不要考虑
if(sum >= a) {
r++;
sum -= a; //xi已经取定sqrt(a)后,sum记得更新
}
else {
l++;
sum++;
}
}
double ans = l / pow(sqrt(a), p) + r * pow (sqrt(a), p);
ans += pow(sum/sqrt(a), p); //记得要除掉之前乘的sqrt(a);
printf("%d\n", (int)(ans + 0.5));
}
return ;
}
【推理,贪心】UVa 1319 - Maximum的更多相关文章
- UVa 10827 - Maximum sum on a torus
题目大意:UVa 108 - Maximum Sum的加强版,求最大子矩阵和,不过矩阵是可以循环的,矩阵到结尾时可以循环到开头.开始听纠结的,想着难道要分情况讨论吗?!就去网上搜,看到可以通过补全进行 ...
- UVA.10305 Maximum Product (暴力)
UVA.10305 Maximum Product (暴力) 题意分析 直接枚举起点和重点,然后算出来存到数组里面,sort然后取最大值即可. 代码总览 #include <iostream&g ...
- UVa 108 - Maximum Sum(最大连续子序列)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- 贪心 UVA 11729 Commando War
题目传送门 /* 贪心:按照执行时间长的优先来排序 */ #include <cstdio> #include <algorithm> #include <iostrea ...
- uva 11059 maximum product(水题)——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB1QAAAMcCAIAAABo0QCJAAAgAElEQVR4nOydW7msuhKF2wIasIAHJK
- UVA 11827 Maximum GCD
F - Maximum GCD Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Given the ...
- Uva 11059 Maximum Product
注意long long long long longlong !!!!!! 还有 printf的时候 明明longlong型的答案 用了%d WA了也看不出,这个细节要注意!!! #incl ...
- UVA 12906 Maximum Score 排列组合
Maximum Score Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/vie ...
- UVa 11059 - Maximum Product 最大乘积【暴力】
题目链接:https://vjudge.net/contest/210334#problem/B 题目大意:Given a sequence of integers S = {S1, S2, . . ...
随机推荐
- PLSQL存储过程校验身份证
CREATE OR REPLACE FUNCTION FUN_CHECKIDCARD(PI_AAC002 VARCHAR2) RETURN VARCHAR2 IS /*************** ...
- mysql从一个表中拷贝数据到另一个表中sql语句
这一段在找新的工作,今天面试时,要做一套题,其中遇到这么一句话,从一个表中拷贝所有的数据到另一个表中的sql是什么? 原来我很少用到,也没注意过这个问题,面试后我上网查查,回来自己亲手写了写,测试了下 ...
- UVALIVE 4970 最小权匹配
首先贴一下这道题的BNU地址,UVA地址自己找吧. http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=11852 题意:这道题的意思就是,给你N个棋子的 ...
- ags注册
在电脑里找到2个 ESRIRegAsm.exe C:\Program Files (x86)\Common Files\ArcGIS\bin C:\Program Files\Common Files ...
- TC SRM 663 div2 B AABB 逆推
AABB Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 TC Description One day, Jamie noticed that many En ...
- Apache Httpd通过mod_jk连接多个Tomcat
一个tomcat能够配置多个web apps,这是众所周知的.当更改了一个web app,想要又一次启动的时候.因为全部的web apps都是放在同一个tomcat下的,所以别的web apps也在重 ...
- java的集合类【转】
在JDK API中专门设计了一组类,这组类的功能就是实现各种各样方式的数据存储,这样一组专门用来存储其它对象的类,一般被称为对象容器类,简称容器类,这组类和接口的设计结构也被统称为集合框架(Colle ...
- 苹果Swift语言中文教程资源汇总
苹果swift语言中文教程(零)搭配环境以及代码执行成功http://vjiazhi.com/kaifa/1014.html 苹果Swift语言中文教程(一)基础数据类型 http://vjiazhi ...
- xampp
Fatal error: Class 'kernel' not found in C:\xampp\htdocs\shopex\install\install.core.php on line 10 ...
- 清除XCode缓存和生成文件
1.Command-Option-Shift-K to clean out the build folder XCode4.2 finder中找到 /Users/apple/Library/ ...