L - Clock Master Gym - 102798L

题意:

给定一个数字n,令n=a1+a2+a3…求lcm(a1,a2,a3,…)的最大值,以loge(x)的形式输出

题解:

lcm要求尽可能大,我们就要保证a1,a2,a3…尽可能为质数或质数的整数次幂,我们假设a1是p1x,a2是p2y,p1和p2是不同的质数,x的取值范围是[1~m],p1m<=n,x有且只能在这个取值范围中取一个,也就是我们按照质数的种类分组,每组中是不同的幂次。
我们将每个素数的不同幂次划分为一组,每个组我们最多只能选一个(也可以不选),问在n范围内,所能选的p1 * p2 *…的最大值
这个看着像什么?

有N件物品和一个容量为V的背包。第i件物品的费用是w[i],价值是v[i]。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。

没错就是分组背包,容量V就是n,每组的物品就是p1的整数次幂,价值就是所选p1的整数次幂去log(因为题目输出要求),费用就是p1的整数次幂

log(p1 * p2 * p3…) = log(p1)+log(p2)+…
所以直接累加lg[x]
预处理出所有答案

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 3e4 + 10;
const int mod = 1e9 + 7;
int pri[N], tot;
double dp[N], Log[N];
bool vis[N];
void init() {memset(vis, 0, sizeof(vis));vis[0] = vis[1] = 1;tot = 0;for(int i = 2; i < N; ++i) {if(!vis[i]) {pri[++tot] = i;for(int j = i + i; j < N; j += i)vis[j] = 1;}}for(int i = 0; i < N; ++i) Log[i] = log(i);//首先预处理出log答案 for(int i = 1; i <= tot; ++i) {//对于tot个分组 for(int j = N - 1; j >= pri[i]; --j) {//容量 for(int k = pri[i]; k <= j; k *= pri[i])//枚举pri[i]的整数次幂 dp[j] = max(dp[j], dp[j - k] + Log[k]);}}
}int main() {init();int t, n;scanf("%d", &t);while(t--) {scanf("%d", &n);printf("%.9f\n", dp[n]);}return 0;
}

L - Clock Master Gym - 102798L相关推荐

  1. L - Two Ants Gym - 102823L

    L - Two Ants Gym - 102823L 题意: 有两个线段A,B,两个线段不会超过一个公共点, 你站在线段B上,整个平面你看不到的区域的面积(如图中S所在区域) 题解: 计算几何,恶心题 ...

  2. 2020CCPC(威海) - Clock Master(数论+分组背包)

    题目大意:给出一个数字 n ,要求分解成:a[ 0 ] + a[ 1 ] + ... +  a[ m ] = n,( m 没有约束 ),使得 lcm( a[ 0 ] , a[ 1 ] , ... a[ ...

  3. 2020CCPC威海

    2020CCPC威海 2020CCPC威海榜单 题号 题目 知识点 难度 A Golden Spirit 思维,推导题 签到题 B Labyrinth dfs+思维 金牌题 C Rencontre D ...

  4. 安装gym库_强化学习Gym库学习实践(一)

    最近看了一篇研究方向相关的文章,介绍了一种DQN的应用,感觉还挺新鲜的.想着把这篇文章复现出来,就开始学习强化学习的相关知识,作为一名小白,这一路走的可是真的十分艰难(我太菜了啊!) 看了莫烦Pyth ...

  5. 【开发随笔】以强化学习环境 gym 库为例:为什么日常中我应该试图标准化接口?

    前言: 这两天在看 openAI 的 gym ,并尝试用其测试自己写的 Sarsa .一塌糊涂,这里来记录下经验教训.官网对于 gym 的文档不多,也不详细,读了 gym 的源码,很直观,也确实用不着 ...

  6. jq实现文字个数限制_分布式系统高可用实战之限流器(Go 版本实现)

    限流器,顾名思义用来对高并发的请求进行流量限制的组件. 限流包括 Nginx 层面的限流以及业务代码逻辑上的限流.流量的限制在众多微服务和 service mesh 中多有应用.限流主要有三种算法:信 ...

  7. 3.6-3.8 分布式环境启动、测试

    一.HDFS 1.初始化文件系统 #master上 [root@master hadoop-2.5.0]# pwd /opt/app/hadoop-2.5.0[root@master hadoop-2 ...

  8. movie起居类分类词汇

    2006-06-23 14:20:04 一. 起居类分类词汇 1.卧室 blanket 毛毯 cushion 垫子 quilt 被子 cotton terry blanket 毛巾被 feather ...

  9. 分布式系统高可用实战之限流器(Go 版本实现)

    限流器,顾名思义用来对高并发的请求进行流量限制的组件. 限流包括 Nginx 层面的限流以及业务代码逻辑上的限流.流量的限制在众多微服务和 service mesh 中多有应用.限流主要有三种算法:信 ...

最新文章

  1. 【我的区块链之路】- Hyperledger fabric的简单入门(四)链码的编写及调试
  2. 【python】app未注册用户自动筛选
  3. 微信支付开发(全网资源) - 统计篇
  4. 生产环境究竟是使用mysqldump还是xtrabackup来备份与恢复数据库?
  5. 简述mysql事件作用_MYSQL使用简述
  6. kettle 下载地址
  7. 社工库源码mysql_体验盒子:社工库源码大全(持续更新)
  8. 计算机控制技术课程解释与问题答疑
  9. 爬点今日头条街拍美女。。。
  10. 使用DHTMLX制作JavaScript树状图的全面指南
  11. 2014高考英语听力,男约女终于成功了
  12. android是乐视手机刷机,乐视 X620(乐2 全网通)刷机教程,简单刷机
  13. 计算机专业无领导小组面试题,2015年事业单位招聘(无领导小组讨论)面试真题及真题分析(一)...
  14. 几个在线画图的工具,以备偷懒之需
  15. WordPress发布新文章Email通知注册用户
  16. 含磷废水处理——有机磷无机磷吸附
  17. rp软件app流程图_app开发流程图_app的制作流程图
  18. 【转载】Android下DLNA开发简介
  19. 远程办公协同工具大合集
  20. 行业案例 | 汽车售后服务升级,AR 应用成为差异化优势

热门文章

  1. 970页绝版资料!初高中数学与竞赛知识点+方法技巧,由苏步青当顾问,众多一线名师共同编写!...
  2. 女生心中的理想男生!这些条件你符合几条?
  3. 一个女程序员征男友的需求说明书
  4. 近期资料分享汇总,还不快来看看你漏了哪份没拿?
  5. 《Pyflink》Flink集群安装,Python+Flink调研
  6. python 线程 的类库_python类库32[多线程]
  7. 对象中multipartfile 空报错_Python 为什么会有个奇怪的“...”对象?
  8. thymeleaf加载不了js引用_网站首页加载慢解决方案
  9. python 接口自动化_Python 接口自动化测试
  10. 电脑任务管理器快捷键_电脑知识小常识