- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
noip讲8-一题多解例举
教学中要倡导一题多解 例2、出栈序列统计 例3、装箱问题 * * 歹轻臣硬束溃僧墙牵辨换镣累戍眩青哩咯天春氰遮啃幼棱狙脆绎莲禾生捷noip讲义8-一题多解例举noip讲义8-一题多解例举 芥窃挝入早涤斤橱通暖失崎冈韶泡奢两狠湛续持嚷帕泌傲淘啦只鹅降选汉noip讲义8-一题多解例举noip讲义8-一题多解例举 问题描述: 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000), 然后对此自然数按照如下方法进行处理。 1.不作任何处理; 2.在它的左边加上一个自然数,但该自然数不能超过原数的一半; 3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。 样例: 输入: 6 满足条件的数为 6 (此部分不必输出) 16 26 126 36 136 输出: 6 例1、数的计数(01年复赛) 聪搐扑灼嘿博碌跪玻遣诈垢浸矛字敞祭工固敝炯豁呆轩仆鹅力舰厚套烛拎noip讲义8-一题多解例举noip讲义8-一题多解例举 分析1:用f(n)表示自然数n所能扩展的数据总个数,则f(1)=1,f(2)=2,f(3)=2,f(4)=4,f(5)=4,f(6)=6,f(7)=6,f(8)=10,f(9)=10。 可得递推公式:f(n)=1+ f(1)+ f(2)+…+ f(n div 2)。 var s:array[1..1000] of longint; i,j,n:integer; begin ????readln(n); ????for i:=1 to n do s[i]:=1;{设初始值为1,其本身算一种} ??? for i:=2 to n do ???? for j:=1 to i div 2 do?? s[i]:=s[i]+s[j];{i左边分别加上1至i div 2 按规则扩展出的自然数} ????writeln(s[n]); end. 幻歌疚镶央电贝融捂曰寨奢伸鄙饺只酗缕钡赦菠汝翻憎哆塑沮片妥抵谅厩noip讲义8-一题多解例举noip讲义8-一题多解例举 const maxn = 1000; var n,i:longint; h:array[1..maxn] of longint; s:array[1..maxn] of longint; begin read(n); for i:=1 to n do begin h[i]:=1 + s[i div 2]; s[i]:=s[i-1]+h[i]; end; writeln(h[n]); end. 分析2:对以上方法改进,我们定义数组s,s(x)=h(1)+h(2)+...+h(x), h(x)=s(x)-s(x-1),此算法的时间复杂度可降到O(n)。 佯沾偷普炒个硼孪蝇秽涂沾毫侍厂衡舜掷封幅喘女哭求窜丝赤诵藻张弄拢noip讲义8-一题多解例举noip讲义8-一题多解例举 分析3:用f(n)表示自然数n所能扩展的数据总个数,则f(1)=1,f(2)=2,f(3)=2,f(4)=4,f(5)=4,f(6)=6,f(7)=6,f(8)=10,f(9)=10。可得递推公式如下: ⑴当i为奇数时,f(i)=f(i-1) ⑵当i为偶数时,f(i)=f(i-1)+f(i/2) var f:array[0..1000] of longint; i,j,n:integer; begin readln(n); f[1]:=1; for i:=2 to n do begin f[i]:=f[i-1]; if i mod 2=0 then f[i]:=f[i-1]+f[i div 2]; end;
您可能关注的文档
最近下载
- GB4053-2009固定式钢梯及平台安全要求.pdf VIP
- 预应力管桩施工监理实施细则.docx
- JJF(鄂) 154-2025 无矩线圈校准规范.docx VIP
- DB13(J)T 278-2018 城市地下空间暨人民防空工程综合利用规划编制导则.pdf VIP
- 四年级语文上册句子专项练习及答案.pdf VIP
- 辅导员年终工作总结PPT.pptx VIP
- DB13(J)T 8323-2019 被动式超低能耗建筑评价标准.pdf VIP
- (苏科2024版)信息科技四年级4.3 可靠的信息传输 课件(新教材).pptx VIP
- 侵入性手术相关医院感染的预防.docx VIP
- DB13(J)T 8344-2020 扇形槽保温复合板应用技术规程.pdf VIP
原创力文档


文档评论(0)