题意:

  有n个人分鱼,第一个人先来拿,检查一下总数,如果不能恰好分成n份,则扔掉多余的部分,然后拿走自己应得的1/n,第二个人也重复这个步骤,直到第n个人,然后告诉你每次扔掉鱼的数量,求一开始最少有多少鱼。

方法:

  对于例子

  4

  1 1 1 2

  假设第三个人拿完以后的状态是还有X条鱼,设X = A[n]+K = 2+K,那么要满足X%(N-1)==0,且K的出现不会影响多余鱼的条数,也就是说,把这个K单独当成一部分,它可以正好分给n个人1次,那我们现在要找到这个最小的K,易知最小的K就是N*(N-1-A[N]%(N-1)),这样我们就推出了X,带入得X=6。

  则第三个人拿之前的个数就是Y = X/(N-1)*N+a[3],设Z是第二个人拿完之后的条数,假设Z = Y + K2,和上一次要求一样,则K2=N^2*(N-1-Y%(N-1)),系数是N^2,这样可以保证它下面2层都正好足够分给N个人,且不可能存在比这个更小的满足条件的系数。

  其实还是有点小混乱,先记录下来,回头脑袋清醒了再来研究一番~

代码:

 1 import java.math.BigInteger;
 2 import java.util.Scanner;
 3
 4 public class Main{
 5     static int[]a = new int[2013];
 6     public static BigInteger V(int v){
 7         return BigInteger.valueOf(v);
 8     }
 9     public static void main(String[] args){
10         Scanner cin = new Scanner(System.in);
11         int n = cin.nextInt();
12         for(int i=0;i<n;i++){
13             a[i] = cin.nextInt();
14         }
15         BigInteger ans=V(a[n-1]),now=V(n),mod=V(n-1);
16         for(int i = n-2;i >= 0;i--){
17             int dif = ans.mod(mod).intValue();
18             if(dif!=0) dif = n-1-dif;
19             ans = ans.add(now.multiply(V(dif))).divide(mod).multiply(V(n)).add(V(a[i]));
20             System.out.println(ans);
21             now = now.multiply(V(n));
22         }
23         if(ans.equals(V(0))) ans = now;
24         System.out.println(ans);
25     }
26 }

ural 1818

  

转载于:https://www.cnblogs.com/SolarWings/p/3439545.html

ural 1818 Fair Fishermen相关推荐

  1. CVPR 2022 | ConvNeXt - FAIR再探纯卷积结构的极限(优于Transformer)

    作者| cocoon 编辑| 3D视觉开发者社区 前言 FAIR又出新作了!一篇<2020年代的卷积网络>的横空出世,让国内外CV圈的眼光都聚焦于此,不少大牛都纷纷下场参与讨论.研究团队以 ...

  2. Ural 1018 (树形DP+背包+优化)

    题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17662 题目大意:树枝上间连接着一坨坨苹果(不要在意'坨'),给 ...

  3. 比MAE更强,FAIR新方法MaskFeat用HOG刷新多个SOTA

    来源:机器之心 本文约1700字,建议阅读5分钟 mask-and-predict 的方法可能会成为计算机视觉领域的新流派. 自监督预训练在自然语言处理方面取得了惊人的成功,其基本思路中包含着掩码预测 ...

  4. FAIR 训练 AI 玩拳击,效果堪比真人比赛,试探+周旋+爆头

    来源:AI科技评论本文约2300字,建议阅读5分钟 两个人工智能体学会了拳击. AI 拳击可以有多好玩? 小红红,吃我一拳. 嘿,我挡. 前期先试探周旋几次,再找机会吧. 没错,就是这个空隙,爆头. ...

  5. 谁是全球最顶级AI实验室?DeepMind、OpenAI和FAIR霸榜前三

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 转载自:新智元 [导读]如果问研究人员,世界上最强的AI实验室有哪些?大家肯定是「萝卜白菜,各 ...

  6. FAIR发布两大更新:PyTorch1.8和一个10亿参数自监督模型,自监督也学GPT-3套路?

    2021-03-05 19:38:58 作者 | 青暮 今天,FAIR发布了两项重要更新,分别是PyTorch 1.8以及10亿参数自监督模型SEER. 根据官方推特,此次更新重点包括:编译器更新.代 ...

  7. 使用Fair kripke来判断kripke的可达性和可避免性

    可达性 画个图看看上面是什么意思. 假设我们要判断AA={C}的可达性,从而构造如下fair kripke. 这个时候,存在公平计算,AC(t)wAC(t)^wAC(t)w,从而fair kripke ...

  8. MIT与FAIR提出「mixup」,利用数据和标签的随机线性插值提高神经网络的健壮性

    来源: 雷克世界 摘要:麻省理工学院(MIT)与Facebook人工智能研究院(FAIR)提出了一种能够构建虚拟训练样本的方法--mixup,提高了神经网络的健壮性. 近日,麻省理工学院(MIT)与F ...

  9. Nginx学习之负载均衡fair模块

    2019独角兽企业重金招聘Python工程师标准>>> Nginx学习之负载均衡fair模块 2017-04-10 20:27 写在开始 前面对Nginx的三种负载均衡实现做了一个简 ...

  10. bzoj1814 Ural 1519 Formula 1(插头dp模板题)

    1814: Ural 1519 Formula 1 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 924  Solved: 351 [Submit][S ...

最新文章

  1. 美智库:下一代国防战略之竞争战略
  2. openfire插件开发的四种方式
  3. alert()的功能_功能强大的Flutter 视频播放插件
  4. 一次诡异的数据库死锁问题排查过程 1
  5. 数据压缩之经典——哈夫曼编码(Huffman)
  6. (0)C#开发环境构建——史上最容易理解的C#界面搭建
  7. Sqlserver数据类型精解
  8. beetl html模板,Spring Boot 2 中使用 beetl 模板引擎
  9. Java基础(四)线程快速了解
  10. 三亚科技创新创业大赛完美落幕,珈和科技等五个企业获一等奖
  11. 使用POI提取Word文件的内容(纯文本、带html格式)
  12. 希腊字母读音及科学上的应用
  13. godaddy空间如何建网站教程
  14. win10蓝牙鼠标、耳机无法连接,无蓝牙开关标志解决方案
  15. 哪里有好看的ppt背景图片
  16. 航空公司营销渠道管理研究
  17. LTP词性与语义表格(简洁版)
  18. 开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)
  19. 曾经无数人在巴黎圣母院里祈祷, 如今轮到人们为她祈祷了…
  20. 个人登录空间 含登录注册功能

热门文章

  1. java pdf转jpg_java pdf转换jpg
  2. 6.4.3 拓扑排序 番茄炒蛋工程
  3. BIOS设置图解教程
  4. 5个问题教你如何更好解决问题
  5. 计算机的单位换算字节,关于计算机的存储字节单位换算和使用
  6. 《必然》二、奔跑吧,所有人都是菜鸡
  7. godaddy不支持java_godaddy主机被墙的解决方案
  8. android 锁屏_DashClock是Android的锁屏小部件应具备的功能
  9. Python 字符串格式化
  10. LightOJ - 1406 Assassin`s Creed【状压DP】