Problem Description:
There are three kinds of coins:1$,2$,3$.Given a chique of N$(0<n<=10^9),calculate the number of different ways to exchange the cheque.
Sample Input:1 2 3
Sample Outpt:1 2 3

也就是说,将N$的支票换为1$,2$,3$三种硬币,问有多少种换法?题目看似简单,问题是,ACM-ICPC对于程序的运行时间是有严格限制的,对于输入为10^9这么大的数要计算出其换法有没有很好的算法,我当时写的花了5秒运行出来,结果还是超时。我不是计算机专业的学生,也没有学过程序设计与算法,抱着学习的心态参加此次比赛,请高手帮解,感激不尽,分数大大的有。

简单:
long Partition(int M){
int V=M/6,i,m=M%6;
long c=3*V*V+3*V+1;
if(m==0)return c;
else return c+m*V+m-1;
}

很简单.首先考虑M是6的倍数的情况,
那么对于任意的y,z
2y+3z<=M我们都有一个解 x=M-2y-3z
所以我们只要数
2y+3z<=M,y>=0,z>=0的数目
而在M是6的倍数时,这个图像在平面上是一个三角形,而且三角形三个顶点都是格点
我们可以直接用格点三角形的面积来计算点的数目:
S=E/2+I-1,其中E表示边界上格点数目,I表示内部的格点数目.(其实直接数格点数目也好数)
而E很容易数出来,这样就可以算出I+E=3*V*V+3*V+1,(V=M/6)
然后,对于M关于6的余数不是0,我们只要计算
2y+3z=6V+1,6V+2,6V+3,...的数目就可以了.
分别对应
2y+3z==6V+t的数目
这个在t=1时,是V个,对于t>1,是V+1个

将N$的支票换为1$,2$,3$三种硬币相关推荐

  1. 动态换ip如何实现_三种方法解决动态换IP需求

    派克斯,PPTP,HTTP,SOCKS5,游戏IP,产品适用如QQ,YY,快手,虎牙,DNF,逆水寒,万王,红警,问道,传奇以及各种模拟器等游戏,高匿名防封: 派克斯 派克斯是使用ADSL拨号的方式来 ...

  2. python 随机请求头_为了爬虫换个头,我用python实现三种随机请求头方式!

    相信大家在爬虫中都设置过请求头 user-agent 这个参数吧? 在请求的时候,加入这个参数,就可以一定程度的伪装成浏览器,就不会被服务器直接识别为spider.demo.code ,据我了解的,我 ...

  3. wps改照片底色有红边_入学攻略丨证件照的三种换底色方式,你知道了吗?

    46 ♡ 关注集大情报局,更多资讯马上奉上! 本文共计3097字,很多图,建议阅读时间:15分钟 [长文预警] 最近不少人在后台提问 开学要不要带证件照 要带什么底色的证件照 要带几寸的证件照 要带几 ...

  4. 习题4-5 换硬币 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...

  5. 换硬币将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2分和1分硬币的数量依次从大到 ...

  6. 习题4-5 换硬币 (20分) 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    习题4-5 换硬币 (20分) 将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分 ...

  7. 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    题目:将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入在一行中给出待换的零钱数额x∈(8,100) 要求按5分.2分和1分硬币的数量依次从大到小的顺序,输出各种换 ...

  8. 7-1 换硬币 将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    将一笔零钱换成5分.2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100). 输出格式: 要求按5分.2分和1分硬币的数量依次从大到 ...

  9. 证件照如何换底色,分享三种证件照换底色的方法!

    在我们的日常生活中,不同场景需要使用不同颜色的证件照.如果我们需要更换证件照的背景颜色,通常情况下人们会选择去照相馆重新拍摄一组照片,但这样费时费力,而且在遇到紧急情况时可能来不及.本文将介绍三种非常 ...

最新文章

  1. 【转】java线程系列---Runnable和Thread的区别
  2. python tqdm包_python tqdm库的使用
  3. HD_2553N皇后问题
  4. 数据挖掘在企业中应用的四种途径
  5. 实现推拉ui样式_这推拉门隔断,我从没见过!直角设计同时划分3大功能区,太牛了...
  6. 人性歪曲的心理调适 一【虚荣心理、投机心理、狭隘心理、吝啬心理、逆反心理】...
  7. easymock教程_EasyMock教程
  8. 高等数学(第七版)同济大学 习题3-8 个人解答
  9. 菜鸟教程 Java 学习笔记 (基础教程)
  10. 智能陈桥输入法软件测试,智能陈桥五笔输入法
  11. ensp配置服务器发布(将DMZ区的web服务区发布,供client访问)
  12. python自相关函数提取基音周期_Python语音基础操作--4.2基音周期检测
  13. 小程序scroll-view,滚动到最低_小程序滚动到底部
  14. Android肝帝战纪之基于上篇单Activity+多Fragment框架,开发电商式导航栏,多Fragment切换
  15. C++模拟手机调查问卷
  16. 将视频分割成多张图片和多张图片生成视频
  17. 【x86架构】APIC -- 高级可编程中断控制器
  18. 邮箱的规则、正则表达式【亲测有效】
  19. php7支持画,画一多边形并填充 - PHP 7 中文文档
  20. 学相伴飞哥RabbitMQ笔记

热门文章

  1. Go语言圣经(中文版)
  2. CCF历届真题之门禁系统(_1412_1_AccessControlSystem.java)
  3. 【行研报告】短视频创作者作品发布时间研究报告—附下载链接
  4. 国内外计算机审计发展,我国计算机审计软件的发展现状
  5. 三人行discuz采集论坛发贴王破解版
  6. 儿童感染新冠后怎么用药?什么情况需要就医?
  7. drcom上网登录窗不弹出_上网登录窗口不弹出怎么办
  8. iPhone手机 手机设备号和手机串号imsi
  9. 计算机文字排版竞赛标准,文字录入与排版高手竞赛方案(Word2010)
  10. 阿甘老师谈管理学习笔记