题目大意 多组数据,每组数据给定整数 \(m,p,a,b\),满足 \(a>0\),\(2\leq p\leq12\) 且 \(p\) 为偶数。要求求出一列数 \(x_1,x_2,\cdots,x_m\),满足:

\(1)\sum_{k=1}^m x_k = b\sqrt{a}\)

\(2)-\frac{1}{\sqrt{a}}\leq x_i\leq\sqrt{a}\)

并且输出 \(\sum_{k=1}^m x_k^p\) 的最大值。

分析 既然给定 \(p\) 是偶数,则 \(x^p\) 最大等价于 \(|x|\) 最大。那么我们可以贪心,使 \(-\frac{1}{\sqrt{a}}\) 和 \(\sqrt{a}\) 占据 \(m-1\) 个,剩下那个单独考虑。但这样容易精度不够,所以把 \(\sqrt{a}\) 当做 \(a\) 来做。

#include<bits/stdc++.h>
using namespace std; int m, p, a, b;
int ans1, ans2; int main()
{
while(~scanf("%d%d%d%d", &m, &p, &a, &b)) {
ans1 = ans2 = 0; int goal = b * a;
double I = sqrt(a); while(--m) {
if(goal >= a) goal -= a, ++ans1;
else ++goal, ++ans2;
} printf("%d\n", int(ans1 * pow(I, p) + ans2 * pow(-1 / I, p) + pow(goal / I, p) + 0.5));
}
}

最新文章

  1. JavaScript模板引擎artTemplate.js——是否编码输出html字符
  2. chrome插件开发-消息机制中的bug与解决方案
  3. 关于如何获取第三方app包内图片资源的方法
  4. Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
  5. POJ2187 Beauty Contest
  6. MyEclipse启动失败
  7. 给jdk写注释系列之jdk1.6容器(5)-LinkedHashMap源码解析
  8. 将Magento后台汉化的方法
  9. Dreamweaver 添加 cakephp ctp后缀名
  10. 编译TWRP-recovery教程及源码地址
  11. javascript中=,==,与===的区别;以及特殊值NaN的讲解
  12. Docker系统六:Docker网络管理
  13. salesforce lightning零基础学习(一) lightning简单介绍以及org开启lightning
  14. Spring中对象和属性的注入方式
  15. DB2DB 一年多以来的重大更新
  16. 自定义select标签箭头样式
  17. Chapter_4_JAVA作业
  18. CSRF 攻击(跨域攻击)
  19. 修改 iis 的端口号: 80 与 443
  20. Maven多模块项目加载

热门文章

  1. 决策树(下)-Xgboost
  2. slf4j log4j logback
  3. Lambda表达式和方法引用
  4. [转帖]IBM Q3财报:云营收达到50亿美元 上升11%
  5. gevent介绍(转)
  6. Tomcat 配置文件解析工具 Digester
  7. 使用国内作者制作的gcr.io镜像安装工具
  8. PAT 1008数组元素右移问题
  9. 换个语言学一下 Golang (13)——Web表单处理
  10. android shap画圆(空心圆、实心圆)