假设我们参加了一场编程竞赛,那里有多个问题,但是当我们解决一个问题时竞赛就结束了。现在,如果我们有两个长度相同的数字列表,称为点和机会。为了说明这一点,在这里针对第i个问题,我们有[i]%的机会可以解决它的点[i]点。我们还有另一个值k,它代表我们可以尝试的问题数量。不能两次尝试相同的问题。

如果我们设计出最佳策略,我们将必须找到比赛中可以得到的分数的期望值,并将其四舍五入为最接近的整数。我们可以将尝试第i个问题的值期望为points [i] *机会[i] / 100.0,这表示我们平均获得的点数。

因此,如果输入是点= [600、400、1000],机会= [10、90、5],k = 2,则输出将是392。

在线示例

让我们看下面的实现以更好地理解-

class Solution:

def solve(self, points, chances, K):

n = len(points)

for i in range(n):

chances[i] /= 100.0

R = sorted(range(n), key=points.__getitem__, reverse=True)

def dp(i, k):

if i == n:

return 0.0

j = R[i]

p = chances[j]

ev = p * points[j]

if k == 1:

return max(ev, dp(i + 1, k))

return max(dp(i + 1, k - 1) * (1 - p) + ev, dp(i + 1, k))

return int(dp(0, K))

ob = Solution()

print (ob.solve([600, 400, 1000], [10, 90, 5], 2))

输入值

[600, 400, 1000], [10, 90, 5], 2输出结果392

python可以参加哪些竞赛_找出Python竞赛中可达到的分数的程序相关推荐

  1. 找出一批正整数中的最大偶数_找出一批正整数中最大的偶数,c语言怎么写?

    展开全部 1.打开5261C-Free5.0新建一个空白页面4102,然后将1653C语言的基础格式写完,注意回格式缩进.答 2.然后输入"   int a=10; float b=5,c; ...

  2. python counter 出现次数最少的元素_[PY3]——找出一个序列中出现次数最多的元素/collections.Counter 类的用法...

    问题 怎样找出一个序列中出现次数最多的元素呢? 解决方案 collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案 c ...

  3. python分词统计词频_-用python找出一篇文章中词频最高的20个单词

    python统计一个大文件中很多小文件里面的词频 #!/usr/bin/env python3.6 from collections import Counter from functools imp ...

  4. python按行读字符串,python按行读取文件并找出其中指定字符串

    python怎么提取出文件里的指定内容 python读取文件内容的方法: 一.最方便的方法是一次性读取文件中的所有内容并放置到一个大字符串中: all_the_text = open('thefile ...

  5. 典型的Top K算法_找出一个数组里面前K个最大数

    原文 典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入 ...

  6. Excel如何利用条件格式找出数据区域中最大的几项

    要找出某个区域中数值最大的几项,利用条件格式是最方便的. 当excel中有大量的数据的时候,如果要求你找出其中的最大值和最小值,你可能非常的苦恼,如果单个进行查找那是很麻烦的,而且也浪费时间,那怎样才 ...

  7. 如何快速找出Linux系统中的大文件?

    今日主题: 如何快速找出Linux系统中的大文件? 在前面的文章中,我们讲到了压测时磁盘空间被占满的问题,可以跟今天的文章结合着看. 在性能测试中,我们经常要关注系统磁盘空间,防止因磁盘空间占满而导致 ...

  8. isalnum()函数:找出str字符串中为英文字母或数字的字符

    找出str字符串中为英文字母或数字的字符 (1)Linux下编程用到的函数是:int isalnum(int c) 返回值:若参数c为字母或数字,则返回TRUE:否则返回NULL(0) #includ ...

  9. 找出一个数组中出现次数最多的那个元素

    Description 找出一个数组中出现次数最多的那个元素 Input 多组输入,请处理到文件结束 每组第一行输入一个整数n(不大于20) 第二行输入n个整数 Output 找出n个整数中出现次数最 ...

最新文章

  1. 《OpenCV3编程入门》学习笔记2 启程前的认知准备
  2. 预测2019浙大计算机考研分数,浙江大学2019年考研分数线公布
  3. ppct各代表什么_半导体50指数_股票大盘分时图中白线和黄线各代表什么?
  4. ffmpeg参数中文详细解释
  5. unwind neo4j_Neo4j 2.1:传递节点ID与UNWIND
  6. vs2019使用sqlite数据库远程连接linux
  7. 模型评价 - 机器学习与建模中怎么克服过拟合问题?
  8. svn diff 使用 vimdiff 作为比较差异工具
  9. 计算机英语翻译3000字,英语专四作文满分范文(二十八):计算机翻译
  10. P3 吴恩达推荐笔记:22张图总结深度学习全部知识
  11. JAVA大数据-Week3-DAY5
  12. java爬虫乱码_网络爬虫的乱码处理
  13. fastdfs fild_id
  14. 通过输入的年份判断生肖
  15. 详解Unity中的生命周期函数
  16. 药物研发检测记录模板-0903不溶性微粒检查法检验原始记录
  17. XGBoost参数调优完全指南(附Python代码)
  18. ibatis3 一个小bug
  19. QueryWrapper用法集合
  20. YOLOX部署优化训练

热门文章

  1. 运行中的linux备份系统盘,怎样使用ghost对linux进行系统备份?
  2. java 走马灯程序,详解微信小程序实现跑马灯效果(附完整代码)
  3. windows进程管理问题
  4. input验证码框,输入非数字或非12位时,红框提示;每4位加一个空格
  5. assoc fetch mysql 用法_mysql_fetch_assoc、mysql_fetch_object、mysql_fetch_row、mysql_fetch_array用法学习...
  6. unity 获取预制体_Unity打包插件AssetsBundleBrowser的使用
  7. 暴力 ZOJ 1403 Safecracker
  8. js--小结⑥---typeof
  9. db设计专用excel_电磁兼容(EMC):工程师必备之硬件EMC设计规范
  10. 基于FPGA实现uart串口模块——进阶版1