ACM课件lecture老少皆宜数学题.ppt_第1页
ACM课件lecture老少皆宜数学题.ppt_第2页
ACM课件lecture老少皆宜数学题.ppt_第3页
ACM课件lecture老少皆宜数学题.ppt_第4页
ACM课件lecture老少皆宜数学题.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ACM程序设计,2019/11/19,2,第二讲,老少皆宜之数学题,2019/11/19,3,今天,,你了吗?,AC,2019/11/19,4,开胃羹(1),几个常用单词:1、vertex(vertices)顶点2、polygon多边形3、convex凸的4、concave凹的5、segment(线)段(n);分割(v),2019/11/19,5,开胃羹(2),再来几个:1、integer整数2、positive正的3、negative(adj)负的;(n)负数4、factorial(n)阶乘;(adj)因子的,阶乘的5、digital(n)数字;(adj)数字的,2019/11/19,6,ACM数学题特点分析:,题意容易理解算法相对简单(有些很难的!)编程比较容易ACM/ICPC入门练习的好选择下面,分类介绍:,2019/11/19,7,从首届“舜宇”杯说起,2019/11/19,8,比赛背景,由于前一年的邀请赛很多学校没有做出一道题,所以,这次的比赛特意准备了几道简单的题目,目的就是让大多数的学校都能拿个气球回去,也好有个交待,于是有,2019/11/19,9,第一类,傻瓜型,2019/11/19,10,1004:LettheBalloonRise,2019/11/19,11,ProblemDescription,Contesttimeagain!Howexciteditistoseeballoonsfloatingaround.Buttotellyouasecret,thejudgesfavoritetimeisguessingthemostpopularproblem.Whenthecontestisover,theywillcounttheballoonsofeachcolorandfindtheresult.Thisyear,theydecidetoleavethislovelyjobtoyou.,2019/11/19,12,Input,Inputcontainsmultipletestcases.EachtestcasestartswithanumberN(0N=2).,2019/11/19,36,InputInputconsistsofasequenceoflines,eachcontaininganintegern.(n1,000,000).OutputPrintthewordyesif3divideevenlyintoF(n).Printthewordnoifnot.,2019/11/19,37,SampleInput012345,SampleOutputnonoyesnonono,2019/11/19,38,题目分析:,能被3整除的整数的特点?,如果两个数的和能被3整除,这两个数有什么特点?,关于能否被3整除,这两个数一共有多少种组合?,2019/11/19,39,Hdoj_1021程序清单:,#includeintmain()longn;while(scanf(%ld,2019/11/19,40,回到正题大锤搞定,2019/11/19,41,1005:NumberSequence,2019/11/19,42,Anumbersequenceisdefinedasfollows:f(1)=1,f(2)=1,f(n)=(A*f(n-1)+B*f(n-2)mod7.GivenA,B,andn,youaretocalculatethevalueoff(n).,ProblemDescription,2019/11/19,43,InputTheinputconsistsofmultipletestcases.Eachtestcasecontains3integersA,Bandnonasingleline(1=A,B=1000,1=n=100,000,000).Threezerossignaltheendofinputandthistestcaseisnottobeprocessed.OutputForeachtestcase,printthevalueoff(n)onasingleline.,2019/11/19,44,SampleInput1131210000SampleOutput25,2019/11/19,45,题目特点:,这个题目是一个比较典型的ACM竞赛题,尽管在真正的大赛中这个题目可能算比较简单的,但在本次比赛中,本题难度属于中等,可以说,能做出本题的队伍基本都有二等奖以上。但如果不认真分析,有可能会掉入陷阱。,2019/11/19,46,Question:,暴力能解决问题吗?,2019/11/19,47,拒绝暴力,2019/11/19,48,题目分析:,对于这种题目,千万不能蛮干!实际上,有经验的同学看到本题目的数据规模,很快就能知道:这类题目有规律可循。,2019/11/19,49,现在对这题有什么想法,?,2019/11/19,50,第四类,纸老虎型,2019/11/19,51,HDOJ_1071TheArea,2019/11/19,52,SampleInput25.0000005.0000000.0000000.00000010.0000000.00000010.00000010.0000001.0000001.00000014.0000008.222222SampleOutput33.3340.69,2019/11/19,53,第一眼:傻了,2019/11/19,54,再一看,2019/11/19,55,抛物线公式:y=ax2+bx+c,已知三点-a、b、c系数,公式已知-如何求面积?,会简单积分吗?,分析过程:,该你思考了,感觉怎么样?,2019/11/19,57,思考题:,1178Heritagefromfather,2019/11/19,58,FamousHarryPotter,whoseemdtobeanormalandpoorboy,isactuallyawizard.Everythingchangedwhenhehadhisbirthdayoftenyearsold.AhugemancalledHagridfoundHarryandleadhimtoanewworldfullofmagicpower.Ifyouvereadthisstory,youprobablyknowthatHarrysparentshadlefthimalotofgoldcoins.HagridleadHarrytoGringotts(thebankholdupbyGoblins).Andtheysteppedintotheroomwhichstoredthefortunefromhisfather.Harrywasastonishing,coztherewerepilesofgoldcoins.ThewayofpackingthesecoinsbyGoblinswasreallyspecial.Onlyonecoinwasonthetop,andthreecoinsconsistedantrianglewereonthenextlowerlayer.Thethirdlayerhassixcoinswhichwerealsoconsistedantriangle,andsoon.Ontheithlayertherewasantrianglehaveicoinseachedge(totallyi*(i+1)/2).Thewholeheapseemedjustlikeapyramid.Goblinstillknewthetotalnumofthelayers,soitsupyoutohelpHarrytofigureoutthesumofallthecoins.,ProblemDescription,2019/11/19,59,InputTheinputwillconsistofsomecases,eachcasetakesalinewithonlyoneintegerN(0N231).Itendswithasingle0.Output对于每个输入的N,输出一行,采用科学记数法来计算金币的总数(保留三位有效数字),2019/11/19,60,SampleInput130SampleOutput1.00E01.00E1,2019/11/19,61,要点分析:,1、暴力的复杂度是多少?2、哪些陷阱?3、关键在哪?4、顺利应该多长时间?,2019/11/19,62,数学公式:,1、这个大家都会:1+2+3+4+n=n(n+1)/22、这个有些同学忘记了:1*1+2*2+3*3+n*n=n(n+1)(2n+1)/63、合并后得到n(n+1)(n+2)/3,2019/11/19,63,问题一:科学计数法的格式,不知道?eE,用%e:用%.2e,如何实现格式要求?,2019/11/19,64,解决方案,方法一:把输出先输出到字符串,再去掉e之后的0a=(1.0*n*n*n+3.0*n*n+2.0*n)/6.0;sprintf(str,%.2E,a);len=strlen(str);for(i=0;i=4;i+)printf(%c,stri);for(i=6;stri!=0;i+)if(i=len-1|stri!=0)printf(%c,stri);printf(n);,2019/11/19,65,方法二:尾数和指数分开控制格式a=(1.0*n*n*n+3.0*n*n+2.0*n)/6.0;b=log10(a);printf(%.2lf,a/pow(10,b);printf(E%dn,b);,2019/11/19,66,Anyquestion?,2019/11/19,67,课后任务:,1004、1005、1008、1009、106010121014、10191021、10611049、1178、1108、10301071、1597,2019/11/19,68,提示:关于PresentationError的错误,2016输出n个数,用空格隔开常见错误:for(i=1;i=n;i+)printf(“%d“,ai);printf(“n“);最后一个数之后也有空格造成PresentationError错误,2019/11/19,69,解决办法,1、方法一for(i=1;in;i+)printf(“%d“,ai);printf(“%dn“,ai);,2、方法2for(i=1;i=n;i+)printf(“%d“,ai);if(in)printf(“n”);printf(“%dn“,ai);,2019/11/19,70,2010水仙花#includeintmain()intm,n,t;inti,j;intflag;inta,b,c;flag=0;,不知道m到n有多少个水仙花数,怎么控制最后一个数后不空格?,2019/11/19,7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论