SlideShare a Scribd company logo
1 of 20
NOIP2000NOIP2000 解题报告解题报告
by Leoby Leo
题题 1.1. 进制转换进制转换
 问题描述问题描述
设计一个程序,读入一个十进制数的基数设计一个程序,读入一个十进制数的基数
和一个负进制数的基数,并将此十进制数和一个负进制数的基数,并将此十进制数
转换为此负进制下的数:转换为此负进制下的数: -R {-2∈-R {-2∈ ,, -3-3 ,, --
4,....-20}4,....-20}
样例:样例:
输入输入 -15{-15{ 十进制下数十进制下数 } -2{} -2{ 转化为转化为 -R-R 进制进制 }}
输出输出 110001 (base -2)110001 (base -2)
如何将十进制整数转换为如何将十进制整数转换为 -2-2
进制整数?进制整数?
 采用“除采用“除 -2-2 取余,逆序排列”取余,逆序排列”
法法
具体做法:具体做法:
-2|-15 +-----..1
-2|8
+-----...0
-2|-4
+-----...0
-2|2
+-----...0
-2|-1
+-----...1
-2|1
+-----...1
0
结论:
1 、当 a 为非负数时, a
整除 b 结果为 a div b 。
2 、当 a 为负数时, a 整
除 b 结果为 a div b + 1 。
3 、余数 = 被除数 - 商 *
( -R )
题目小结题目小结
11 、和正基底进制数转化方法类似,使用短、和正基底进制数转化方法类似,使用短
除法进制转换 。除法进制转换 。
22 、常规做法,没有特殊点,可以、常规做法,没有特殊点,可以 ACAC
题题 2.2. 乘积最大乘积最大
 问题转述:问题转述:
 给出一个长度给出一个长度 NN (( 6<=N<=406<=N<=40 )的数字串,要)的数字串,要
求使用求使用 KK (( 1<=K<=61<=K<=6 )个乘号将它分成)个乘号将它分成 K+1K+1
个部分,找出一种分法,使得这个部分,找出一种分法,使得这 K+1K+1 个部分的个部分的
乘积能够为最大。乘积能够为最大。
 样例样例 ::
 输入输入
4 24 2
12311231
 输出输出
6262
算法分析:算法分析:
11 、、 4040 位数字插入位数字插入 66 个乘号,需要使用个乘号,需要使用
高精度。高精度。
22 、数据规模大,搜索无法满足,使用动、数据规模大,搜索无法满足,使用动
态规划。态规划。
如何进行动态规划?
样例分析样例分析
 1*23=231*23=23
 12*3=36 max=3612*3=36 max=36
 我们把第我们把第 ii 位数上,插入位数上,插入 KK 个乘号的状态个乘号的状态
表示为表示为 FF 【【 ii ,, kk 】,显然】,显然
 FF 【【 ii ,, kk 】】 =max{F[1,k-1]*s[2,i],F[2,k-=max{F[1,k-1]*s[2,i],F[2,k-
1]*s[3,i],…,f[i-1,k-1]*s[i]}1]*s[3,i],…,f[i-1,k-1]*s[i]}
输入: 3 1
123
转移方程为:
f[i,k]=Max{f[j,k-1]*s[j+1,i]} (j<i)
f[i,k] 表示从第一位到第 i 位的数字串中填入 k
个乘号所得到的最大乘积;
s[i,j] 表示从第 i 位到第 j 位所组成的数字。
通过状态转移方程推出所有状态的最优值,最
后 f[n,k] 即为答案
题目小结题目小结
 11 、简单的动态规划、简单的动态规划
 22 、加入高精度乘法,注意编写程序时各、加入高精度乘法,注意编写程序时各
部分的联系部分的联系
 33 、因为填入第、因为填入第 kk 个乘号只与含有个乘号只与含有 k-1k-1 个个
乘号的算式有关,所以可以用乘号的算式有关,所以可以用滚动数组滚动数组解解
决,空间复杂度从决,空间复杂度从 O(n*k)O(n*k) 降为降为 O(n)O(n) 。。
 44 、数据小,其实不加入高精度也可以、数据小,其实不加入高精度也可以
ACAC ,使用,使用 int64int64 (( 2020 位整数)位整数)
题题 33 、单词接龙、单词接龙
 题目转述:题目转述:
 给出给出 NN 个单词及开头字母个单词及开头字母 XX ,求出长度最,求出长度最
长的接龙的长度。其中,每个单词至多出长的接龙的长度。其中,每个单词至多出
现两次,在两个单词相连时,其重合部分现两次,在两个单词相连时,其重合部分
合为一部分,例如合为一部分,例如 beastbeast 和和 astonishastonish ,如,如
果接成一条龙则变为果接成一条龙则变为 beastonishbeastonish ,另外相,另外相
邻的两部分不能存在包含关系,例如邻的两部分不能存在包含关系,例如 atat 和和
atideatide 间不能相连。间不能相连。
分析:分析:
 拿到题目,首先想到的就是搜索了,可是拿到题目,首先想到的就是搜索了,可是
N≤20N≤20 的范围着实吓了人一跳,不过事实的范围着实吓了人一跳,不过事实
上,测试数据并不大,最大不过上,测试数据并不大,最大不过 88 ,所以,所以
大胆搜索就可以了。大胆搜索就可以了。
 在搜索前,可预先处理下第在搜索前,可预先处理下第 jj 个单词接到个单词接到
第第 ii 个单词后增加的长度,并把结果储存个单词后增加的长度,并把结果储存
在一个二维数组中,如果增加的长度为零在一个二维数组中,如果增加的长度为零
,则表示第,则表示第 jj 个单词不能加到第个单词不能加到第 ii 个单词个单词
后面。后面。
细节处理:细节处理:
这是一道搜索题,可以转化为图论,求有向图无环最长路径。这是一道搜索题,可以转化为图论,求有向图无环最长路径。
 11 、、由于每个单词最多可以用两次,为方便起见由于每个单词最多可以用两次,为方便起见
,先把每个单词复制一遍,看做两个相同的单词,先把每个单词复制一遍,看做两个相同的单词
。。
 22 、、把能接龙的单词把能接龙的单词 aa 与与 bb 之间建立一条边之间建立一条边 (a,b)(a,b) ,边,边
权为单词权为单词 bb 的长度的长度 -a,b-a,b 重合部分的长度。把起始字母看重合部分的长度。把起始字母看
做一个节点,建立起始字母能接到的单词做一个节点,建立起始字母能接到的单词 aa 的边,边权的边,边权
为为 aa 的长度。最后从起始点开始搜索最长路径即可。的长度。最后从起始点开始搜索最长路径即可。
 33 、、该题测试数据中没有很强大的,所以这该题测试数据中没有很强大的,所以这
样就可以过了。样就可以过了。
注意!注意!
 有两点要注意,题上说的很不明确,容易有两点要注意,题上说的很不明确,容易
造成误解。造成误解。
 11 、所谓“两部分不能存在包含关系”,是、所谓“两部分不能存在包含关系”,是
指两部分接龙后不能长度不增加。例如指两部分接龙后不能长度不增加。例如
abababababab 和和 abababababab ,可以接成,可以接成
abababababababababab ,但不能为,但不能为 abababababab 。。
 22 、接龙时,如果两个单词接龙后的单词、接龙时,如果两个单词接龙后的单词
有多种情况,要尽可能保证接龙后的单词有多种情况,要尽可能保证接龙后的单词
最长。例如最长。例如 cababcabab 和和 ababcababc ,,一定要接一定要接
成成 cabababccabababc ,为而不是,为而不是 cababccababc 。。
题题 4.4. 方格取数方格取数
 问题转述:问题转述:
 给出给出 N*NN*N 方格图,某些方格中有方格图,某些方格中有
正整数,剩余的其它方格中的数字正整数,剩余的其它方格中的数字
为零。从图的左上角的为零。从图的左上角的 AA 点出发,点出发,
可以向下行走,也可以向右走,直可以向下行走,也可以向右走,直
到到达右下角的到到达右下角的 BB 点。在走过的点。在走过的
路上,可以取走方格中的数(取走路上,可以取走方格中的数(取走
后的方格中将变为数字后的方格中将变为数字 00 )。从)。从 AA
点到点到 BB 点共走两次,试找出点共走两次,试找出 22 条这条这
样的路径,使得取得的数之和为最样的路径,使得取得的数之和为最
大。大。
分析:分析:
 显然,贪心算法是不能解决该题的,显然,贪心算法是不能解决该题的,
由“由“ N≤8”N≤8” 可以很自然地想到搜索。但是题可以很自然地想到搜索。但是题
目要求走两条路径,这样搜索便会超时。目要求走两条路径,这样搜索便会超时。
如果题目要求只走一条路,那么除了搜索如果题目要求只走一条路,那么除了搜索
之外,还有一种很容易想到的方法就是动之外,还有一种很容易想到的方法就是动
态规划。将动态规划运用到解两条路径的态规划。将动态规划运用到解两条路径的
问题:因为走过的方格内的数字是要清零问题:因为走过的方格内的数字是要清零
的,就需要特别处理两条路相交的部分,的,就需要特别处理两条路相交的部分,
似乎比较麻烦。那么该怎么办呢?似乎比较麻烦。那么该怎么办呢?
DFS+DPDFS+DP !!
 将深搜与动态规划结合将深搜与动态规划结合
 首先用首先用 DFSDFS 找到一条路径,然后将这条找到一条路径,然后将这条
路径经过的点赋路径经过的点赋 00 ,然后动态规划找第二,然后动态规划找第二
条路,相加便为一种解条路,相加便为一种解
 然后再然后再 DFSDFS 找第二种情况,比较,最终找第二种情况,比较,最终
找到最大值。找到最大值。
问题:如果数据规模变大怎么问题:如果数据规模变大怎么
办?办?
例如在例如在 NOIP2008NOIP2008 题题 33 传纸条中,问题基传纸条中,问题基
本一致,但如果用本一致,但如果用 DFS+DPDFS+DP 的方法只能的方法只能
过过 33 组数据组数据
双线程双线程 DPDP
 我们已知我们已知一取方格数的动态转移方程为:
f[i,j]:=max{f[i-1,j],f[i,j-1]};
 那么二取方格是否能像一取那样去做
呢?
 我们来看下面这幅图:00 33 77
44 55 22
33 66 00
Step=1
1<=step<=m+n-1
1<=i1<=m
1<=i2<=m
f[x,i,j] 表示走到第 x 步时,
第 1 条路线走到横坐标为 i
的地方,第 2 条路线走到了
横坐标为 j 的地方。这样,
我们只要枚举 x , i , j ,
就能递推出来了。
双线程双线程 DPDP
 For x:=3 To m+n Do
 For i:=1 To Min(x,n) Do
 For j:=1 To Min(x,n) Do
 Begin
 f[x,i,j]:=Max(f[x-1,i,j],f[x-1,i-1,j],f[x-1,i,j-1],f[x-1,i-1,j-1]);
 If i=j Then Inc(f[x,i,j],a[i,x-i])
 Else Begin
 Inc(f[x,i,j],a[x-i,i]);
 Inc(f[x,i,j],a[x-j,j]);
 End;
 End;
同样的,三取方格数只要求
f[x,i,j,k] ,用同样的方法即可。
试题小结试题小结
 20002000 年的题目都比较平和,但注重基本年的题目都比较平和,但注重基本
知识的结合运用。比如第二题知识的结合运用。比如第二题 DP+DP+ 高精高精
度度 ++ 滚动数组 第四题滚动数组 第四题 DFS+DPDFS+DP 这些题这些题
目拿到后该如何去做都很明显,关键就是目拿到后该如何去做都很明显,关键就是
要能将这些基础知识熟练的组合运用,在要能将这些基础知识熟练的组合运用,在
有限的考试时间中求得答案。有限的考试时间中求得答案。
 另外这一年数据都比较弱,如果换成较强另外这一年数据都比较弱,如果换成较强
的测试数据,难度就上去了的测试数据,难度就上去了
预祝大家在今年的考试预祝大家在今年的考试
中取得好成绩!中取得好成绩!
谢谢!谢谢!

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

NOIP2000