(lecture_02)老少皆宜数学题 ACM课件
合集下载
acm中的数学问题数论部分省公开课一等奖全国示范课微课金奖PPT课件
步骤:
a = 81, b = 63, a mod b = 18 a ← 63, b ← 18, a mod b = 9 a ← 18, b ← 9, a mod b = 0 所以9就是63与81最大条约数
第27页
欧几里德算法
欧几里德算法:
while b>0 do r←a%b a←b b←r
第一部分:同余相关
整除性质
欧几里德算法
扩展欧几里德算法
中国剩下定理
第二部分:素数相关
算术基本定理
欧拉定理
素数测试
Pollard rho方法
第7页
数论主要内容
第一部分:同余相关
整除性质
欧几里德算法
扩展欧几里德算法
中国剩下定理
第二部分:素数相关
算术基本定理
欧拉定理
素数测试
整除基本性质 欧几里德算法 扩展欧几里德算法 中国剩下定理
第43页
中国剩下定理
同模情况下,有这么性质:
乘法标准
8 mod 7 = 1
16 mod 7 = 2 64 mod 7 = 8 mod 7
加法标准 8 mod 7 = 1 10 mod 7 = 3
18 mod 7 = 4
第44页
故d|a。 • 所以d是a,b公因数 • 反之,假如d是a,b公因数,也能证出d
是b,c公因数
第12页
第一部分 同余相关
整除基本性质 欧几里德算法 扩展欧几里德算法 中国剩下定理
第13页
请写出12,30共有约数
第14页
请写出12,30共有约数 1,
第15页
请写出12,30共有约数 1, 2,
第37页
扩展欧几里德算法
扩展欧几里德算法(递归实现): int gcd(int a,int b) if b=0 then x←1 y←0 return a d←gcd(b,a%b) x'←y y'←x-[a/b]y x←x' y←y' return d
a = 81, b = 63, a mod b = 18 a ← 63, b ← 18, a mod b = 9 a ← 18, b ← 9, a mod b = 0 所以9就是63与81最大条约数
第27页
欧几里德算法
欧几里德算法:
while b>0 do r←a%b a←b b←r
第一部分:同余相关
整除性质
欧几里德算法
扩展欧几里德算法
中国剩下定理
第二部分:素数相关
算术基本定理
欧拉定理
素数测试
Pollard rho方法
第7页
数论主要内容
第一部分:同余相关
整除性质
欧几里德算法
扩展欧几里德算法
中国剩下定理
第二部分:素数相关
算术基本定理
欧拉定理
素数测试
整除基本性质 欧几里德算法 扩展欧几里德算法 中国剩下定理
第43页
中国剩下定理
同模情况下,有这么性质:
乘法标准
8 mod 7 = 1
16 mod 7 = 2 64 mod 7 = 8 mod 7
加法标准 8 mod 7 = 1 10 mod 7 = 3
18 mod 7 = 4
第44页
故d|a。 • 所以d是a,b公因数 • 反之,假如d是a,b公因数,也能证出d
是b,c公因数
第12页
第一部分 同余相关
整除基本性质 欧几里德算法 扩展欧几里德算法 中国剩下定理
第13页
请写出12,30共有约数
第14页
请写出12,30共有约数 1,
第15页
请写出12,30共有约数 1, 2,
第37页
扩展欧几里德算法
扩展欧几里德算法(递归实现): int gcd(int a,int b) if b=0 then x←1 y←0 return a d←gcd(b,a%b) x'←y y'←x-[a/b]y x←x' y←y' return d
(lecture03)2老少皆宜数学题new.ppt
20 2019/4/14
第三类 技 巧 型
21 2019/4/14
先来看一个简单的题目 铺垫一下:
22 2019/4/14
1021 Fibonacci Again
题目分析:
能被3整除的整数的特点? 如果两个数的和能被3整除,这两个数 有什么特点? 关于能否被3整除,这两个数一共有多 少种组合?
第四类 纸老虎型
33 2019/4/14
HDOJ_1071 The Area
第一眼:傻了…
想一想
笑了…
36 2019/4/14
抛物线公式:y=ax^2+bx+c 已知三点 -〉a、b、c 系数
公式已知 - 〉如何求面积? 会简单积分吗?
37 2019/4/14
第五类 AC基础型
38 2019/4/14
抱歉
如果平面上有n个点,并且每个点至少有2条 曲线段和它相连,就是说,每条曲线都是封 闭的,同时,我们规定: 1)所有的曲线段都不相交; 2)但是任意两点之间可以有多条曲线段。
如果我们知道这些线段把平面分割成了 m份, 你能知道一共有多少条曲线段吗?
42 2019/4/14
分析:从特殊到一般的方法
25 2019/4/14
回到正题
26 2019/4/14
Problem B: Number Sequence
题目特点:
这个题目是一个比较典型的ACM竞 赛题,尽管在真正的大赛中这个题目可 能算比较简单的,但在本次比赛中,本 题难度属于中等,可以说,能做出本题 的队伍基本都有二等奖以上。 但如果不认真分析,有可能会掉入 陷阱。
28 2019/4/14
Question:
《ACM递推求解》课件
2 How do recursive algorithms work?
递推算法通常由一个基本情况和一个递推关系组成。当问题达到基本情况时,递归过程 结束并返回结果。否则,递归算法将继续调用自身来解决较小的子问题。
3 What are some common examples of recursive algorithms?
Why are ACM递推 problems important?
ACM递推问题是计算机科学和编程中的重要部 分。通过解决这些问题,我们可以提高自己的 编程能力和算法思维,同时也可以应用递推算 法解决实际的问题。
递推算法基础知识
1 What is a recursive algorithm?
递推算法是一种通过不断调用自身来解决问题的算法。它可以将大问题分解成多个较小 的子问题,并通过解决子问题的方式来得到最终的解。
3 减少递归深度
通过优化递归算法的终止 条件和边界情况,可以减 少递归的深度,降低递归 算法的时间复杂度。
递推问题的时间复杂度分析
What is time complexity?
时间复杂度是用来衡量算法执行时间与输入规模之间关系的一种指标。它可以帮助我们评估 算法的效率和性能。
How to analyze the time complexity of a recursive algorithm?
总结与展望
1 递推算法的重要性
递推算法在算法设计和问题求解中起着重要的作用。通过掌握递推算法的基本知识和常 见求解方法,我们可以更好地解决问题并优化算法。
2 未来的发展方向
未来,随着计算机科学和技术的进步,递推算法将继续发展和创新,为解决更复杂的问 题提供更高效的求解方法。
《ACM递推求解》PPT课 件
递推算法通常由一个基本情况和一个递推关系组成。当问题达到基本情况时,递归过程 结束并返回结果。否则,递归算法将继续调用自身来解决较小的子问题。
3 What are some common examples of recursive algorithms?
Why are ACM递推 problems important?
ACM递推问题是计算机科学和编程中的重要部 分。通过解决这些问题,我们可以提高自己的 编程能力和算法思维,同时也可以应用递推算 法解决实际的问题。
递推算法基础知识
1 What is a recursive algorithm?
递推算法是一种通过不断调用自身来解决问题的算法。它可以将大问题分解成多个较小 的子问题,并通过解决子问题的方式来得到最终的解。
3 减少递归深度
通过优化递归算法的终止 条件和边界情况,可以减 少递归的深度,降低递归 算法的时间复杂度。
递推问题的时间复杂度分析
What is time complexity?
时间复杂度是用来衡量算法执行时间与输入规模之间关系的一种指标。它可以帮助我们评估 算法的效率和性能。
How to analyze the time complexity of a recursive algorithm?
总结与展望
1 递推算法的重要性
递推算法在算法设计和问题求解中起着重要的作用。通过掌握递推算法的基本知识和常 见求解方法,我们可以更好地解决问题并优化算法。
2 未来的发展方向
未来,随着计算机科学和技术的进步,递推算法将继续发展和创新,为解决更复杂的问 题提供更高效的求解方法。
《ACM递推求解》PPT课 件
ACM程序设计-计算简单题PPT课件
a[k++]=i;
}
授课:XXX
5
参考源代码
while(scanf("%d",&n)==1) {
printf("%d: ",n); for(i=0;i<k;i++) {
if(a[i]<=n) printf("%d ",a[i]);
} printf("\n"); } return 0; }
授课:XXX
授课:XXX
2
输出描述
对于每个整数n,输出所有不大于n的完数。每个整 数n的输出由n引导,跟上冒号,然后是由空格开道 的一个个完数,每个n的完数列表应占独立的一行。
输入样例
100
5000 输出样例
100: 6 28 5000: 6 28 496
授课:XXX
3
题目分析
如果针对每个整数都搜索一次 完数,时间会花费较多,由于 完数较少,可以先找出10000 以内的所有完数,然后再针对 n查表。
{
if (bp[i]) //i是素数
{
p[pCnt++] = i;
for (j = i + i; j <= Max; j += i) //依次筛掉i的倍数
bp[j] = false;
}
}
}
授课:XXX
26
刚才的发言,如 有不当之处请多指
正。谢谢大家!
2021/3/9
27
}
return 0;
}
授课:XXX
11
五位以内的对称素数
题目内容
判断一个数是否为对称且不大于五位数的素数。
02 ACM老少皆宜数学题
53 3 -35 92 213 -644
213 92 3
2021/3/5
13
HDOJ_1425 sort
常规的思想是? 常规的结果是? 数据的特点是? 加速的方法是?
思考:如果数据可以重复呢?
2021/3/5
14
1021 Fibonacci Again
2021/3/5
15
题目分析:
2021/3/5
24
课后任务:
完成在线练习:
《ACM程序设计》在线作业(2) —— 老少皆宜数学题
特别提醒:
作业务必尽力完成(第一次的作业尚 未完成的,一定要补上~)
2021/3/5
25
下一讲:
递推求解
2021/3/5
26
Welcome to HDOJ
Thank You ~
2021/3/5
27
入门训练的好选择~
2021/3/5
6
HDOJ_1108 最小公倍数
给定两个正整数,计算这两个数的最 小公倍数。
10 14
70
2021/3/5
7
欧几里德算法
int gcd(int da,int xi (xiao!=0)
{
temp=da%xiao;
da=xiao;
能被3整除的整数的特点? 如果两个数的和能被3整除,这两个数有什么
特点? 关于“和”能否被3整除,这两个数一共有多
少种组合? 如果F(x)和F(y)相等的话,会出现什么
重要信息?
还要看程序吗?
2021/3/5
16
Hdoj_1021程序清单:
#include<stdio.h>
int main()
213 92 3
2021/3/5
13
HDOJ_1425 sort
常规的思想是? 常规的结果是? 数据的特点是? 加速的方法是?
思考:如果数据可以重复呢?
2021/3/5
14
1021 Fibonacci Again
2021/3/5
15
题目分析:
2021/3/5
24
课后任务:
完成在线练习:
《ACM程序设计》在线作业(2) —— 老少皆宜数学题
特别提醒:
作业务必尽力完成(第一次的作业尚 未完成的,一定要补上~)
2021/3/5
25
下一讲:
递推求解
2021/3/5
26
Welcome to HDOJ
Thank You ~
2021/3/5
27
入门训练的好选择~
2021/3/5
6
HDOJ_1108 最小公倍数
给定两个正整数,计算这两个数的最 小公倍数。
10 14
70
2021/3/5
7
欧几里德算法
int gcd(int da,int xi (xiao!=0)
{
temp=da%xiao;
da=xiao;
能被3整除的整数的特点? 如果两个数的和能被3整除,这两个数有什么
特点? 关于“和”能否被3整除,这两个数一共有多
少种组合? 如果F(x)和F(y)相等的话,会出现什么
重要信息?
还要看程序吗?
2021/3/5
16
Hdoj_1021程序清单:
#include<stdio.h>
int main()
ACM资料
附:Effective中文版以及英文原版:/downloads/ebooks/cpp/effective_stl.rar 名称: Nhomakorabea与编程
作者:威士忌
价钱:0 hdoj币
所在位置:Hangzhou Dianzi University Online Judge Forum ? 资料下载 new!!
这一楼是ACM的资料等的简介以及连接,搜罗了好半天,各位看看啊!
这里主要分成免费的和收费的,为了自己方便,同时也是服务大家。
=============近日更新项目=============
1、添加新的题目代码:1237、2059、2060、2569、2568、2567。
2、居然发现HDU有人玩过仙剑4~~意外。
ACM课件(8)_搜索入门:/forum/read.php?tid=3669
ACM课件(9)_二分匹配入门:/forum/read.php?tid=3744
ACM课件(10)_母函数及其应用:/forum/read.php?tid=3853
简介:还记得lcy可见上的ACM Programming的比赛吗?可能已经过了,你还可以从Passed中找到,但是,这些题目的答案还是找不到的,除非你很有毅力,一道一道搜索。感谢menjitian,他把几次竞赛的题目整理出来了,大家可以看看!
下载地址:2008《ACM Programming》Exercise(1)_A+B 参考代码:
名称:HDOJ 题目 离线版 下载 最最最新版 2008-07-16 更新强烈推荐
作者:Linle
价钱:0 hdoj币
所在位置:Hangzhou Dianzi University Online Judge Forum ? 灌水专区
作者:威士忌
价钱:0 hdoj币
所在位置:Hangzhou Dianzi University Online Judge Forum ? 资料下载 new!!
这一楼是ACM的资料等的简介以及连接,搜罗了好半天,各位看看啊!
这里主要分成免费的和收费的,为了自己方便,同时也是服务大家。
=============近日更新项目=============
1、添加新的题目代码:1237、2059、2060、2569、2568、2567。
2、居然发现HDU有人玩过仙剑4~~意外。
ACM课件(8)_搜索入门:/forum/read.php?tid=3669
ACM课件(9)_二分匹配入门:/forum/read.php?tid=3744
ACM课件(10)_母函数及其应用:/forum/read.php?tid=3853
简介:还记得lcy可见上的ACM Programming的比赛吗?可能已经过了,你还可以从Passed中找到,但是,这些题目的答案还是找不到的,除非你很有毅力,一道一道搜索。感谢menjitian,他把几次竞赛的题目整理出来了,大家可以看看!
下载地址:2008《ACM Programming》Exercise(1)_A+B 参考代码:
名称:HDOJ 题目 离线版 下载 最最最新版 2008-07-16 更新强烈推荐
作者:Linle
价钱:0 hdoj币
所在位置:Hangzhou Dianzi University Online Judge Forum ? 灌水专区
ACM 入门精品PPT课件
2020/10/21
10
如何排名?
首先根据解题数目进行排名。 如果多支队伍解题数量相同,则根据总用时加上惩
罚时间进行排名。 总用时和惩罚时间由每道解答正确的试题的用时加
上惩罚时间而成。 每道试题用时将从竞赛开始到试题解答被判定为正
确为止,其间每一次错误的运行将被加罚20分钟时 间,未正确解答的试题不记时。
州);
2020/10/21
7
ACM in XTU
2004年,第一次参加亚洲区预选赛(网络预赛) 2005~2011,每年10月左右——
湖南省第1~6届大学生程序设计竞赛 2004~2010,每年10~12月——
第29~35届ACM国际大学生程序设计竞赛 亚洲区预选赛
2020/10/21
8
预期赛事(今后每年)
校程序设计竞赛
个人编程能力的比拼 中文或者英文题目,考察编程基本功
2020/10/21
13
ACM队队员的基本原则
基本要求
人品好 愿意花时间在这项赛事上 有团队合作精神
能力要求
程序设计 英语科技文献阅读
数学
2020/10/21
14
开课目的
为湘大ACM代表队培养后备人才 提高分析问题和应用计算机编程解决
ACM
第一讲
ACM入门
(Introduction to ACM)
2020/10/21
2
第一部分
ACM简介
2020/10/21
What is ACM ?
ACM-(Association for Computing Machinery)
成立于计算机诞生次年,是目前计算 机学界中历史最悠久、最具权威性的 组织…
ACM讲义,ACM课件
ACM程序设计大赛
9
最常见题型
Dynamic Programming(动态规划) Greedy(贪心) Complete Search(穷举) Flood Fill (种子填充) Shortest Path (最短路径) Recursive Search Techniques (回溯) Minimum Spanning Tree (最小生成树) Knapsack(背包) Computational Geometry(计算几何) Network Flow(网络流) Eulerian Path (欧拉回路) Two-Dimensional Convex Hull (二维凸包) BigNums (大数) Heuristic Search(启发式搜索) Approximate Search (近似搜索) Ad Hoc Problems(杂题)
ACM程序设计大赛
10
ACM程序设计大赛
11
离散数学第1讲 命题逻辑基础
数理逻辑将能够判断真假的陈述句称作命题。 命题通常使用大写字母A,B,…,Z或带下标的大写字母或数字 表示,如Ai,R等,例如: A1:我是一名大学生。 联结词: 合取联结词: 析取联结词: 否定联结词: 蕴涵联结词: 等价联结词: 逻辑真值: 0,1
16
命题的翻译: 例:假如上午不下雨,我去看电影,否则就在家里读书或看报。 解:设P:上午下雨;Q:我去看电影;R:我在家里读书;S: 我在家里看报。 本例可表示为: (PQ)∧(P(R∨S))。
ACM程序设计大赛
17
命题公式的解释:
定义 设P1,P2,…,Pn是出现在命题公式G中的全部命题变 元,指定P1,P2,…,Pn的一组真值,称这组真值为G的 一个解释或赋值,记作I,公式G在I下的真值记作TI (G)。 例如,G=(P∧Q)R,则I: P Q R 1 1 0 是G的一个解释,在这个解释下G的真值为1,即TI(G)=1。
9
最常见题型
Dynamic Programming(动态规划) Greedy(贪心) Complete Search(穷举) Flood Fill (种子填充) Shortest Path (最短路径) Recursive Search Techniques (回溯) Minimum Spanning Tree (最小生成树) Knapsack(背包) Computational Geometry(计算几何) Network Flow(网络流) Eulerian Path (欧拉回路) Two-Dimensional Convex Hull (二维凸包) BigNums (大数) Heuristic Search(启发式搜索) Approximate Search (近似搜索) Ad Hoc Problems(杂题)
ACM程序设计大赛
10
ACM程序设计大赛
11
离散数学第1讲 命题逻辑基础
数理逻辑将能够判断真假的陈述句称作命题。 命题通常使用大写字母A,B,…,Z或带下标的大写字母或数字 表示,如Ai,R等,例如: A1:我是一名大学生。 联结词: 合取联结词: 析取联结词: 否定联结词: 蕴涵联结词: 等价联结词: 逻辑真值: 0,1
16
命题的翻译: 例:假如上午不下雨,我去看电影,否则就在家里读书或看报。 解:设P:上午下雨;Q:我去看电影;R:我在家里读书;S: 我在家里看报。 本例可表示为: (PQ)∧(P(R∨S))。
ACM程序设计大赛
17
命题公式的解释:
定义 设P1,P2,…,Pn是出现在命题公式G中的全部命题变 元,指定P1,P2,…,Pn的一组真值,称这组真值为G的 一个解释或赋值,记作I,公式G在I下的真值记作TI (G)。 例如,G=(P∧Q)R,则I: P Q R 1 1 0 是G的一个解释,在这个解释下G的真值为1,即TI(G)=1。
ACM算法 计算几何基础ppt课件
57 2020/4/15
58 2020/4/15
59 2020/4/15
60 2020/4/15
61 2020/4/15
62 2020/4/15
63 2020/4/15
64 2020/4/15
特别提醒:
以上介绍的线段的三个属性, 是计算几何的基础,在很多方 面都有应用,比如求凸包等等, 请务必掌握!
15 2020/4/15
第二单元
多边形面积 和重心
16 2020/4/15
基本问题(1):
给定一个简单多边形,求其 面积。
输入:多边形(顶点按逆时 针顺序排列)
输出:面积S
17 2020/4/15
A=sigma(Ai) (i=1…N-2)
P1
A1 P2
P6 A4
P5 A3
A2 P4
P3
25 2020/4/15
凹多边形的面积?
P3
P2 P4
P1
26 2020/4/15
依然成立!!!
多边形面积公式:A=sigma(Ai) (i=1…N-2)
结论: “有向面积”A比“面积”S其实更本
质!
27 2020/4/15
思考如下图形:
18 2020/4/15
Any good idea?
19 2020/4/15
先讨论最简单的多边形——三角形
20 2020/4/15
三角形的面积:
在解析几何里, △ABC的面积可以通过 如下方法求得:
点坐标 => 边长 => 海伦公式 => 面积
21 2020/4/15
思考:此方法的缺点:
C=sigma((↑Pi +↑Pi+1)(↑Pi ×↑Pi+1) ) /(6A)
ACM课件递推求解new
23
n=1 n=2
8 1
5
3
2
4
6
7
n=3
14
6
10 11 3 12 2
1 8
4
5
9 7 13
n=4
F(1)=2 F(n)=F(n-1)+2(n-1)
22 2019/9/23
1465 不容易系列之一
某人写了n封信和n个信封,如果 所有的信都装错了信封。求所有 的信都装错信封,共有多少种不同 情况。
仔细阅读,耐心品味,关键掌握从n-1到 n的推导过程。
35 2019/9/23
Any question?
36 2019/9/23
HDOJ作业:
1290 献给杭电五十周年校庆的礼物
1297 Children’s Queue 1438 钥匙计数之一 1465 不容易系列之一 1466 计算直线的交点数 1480 钥匙计数之二 2019 蟠桃记 2018 母牛的故事 2041 超级楼梯 2042 不容易系列之二 2044~2050 (10/5专题练习)
37 2019/9/23
课后一定 要练习!
38 2019/9/23
Thank you!
See you next week.
39 2019/9/23
31 2019/9/23
结论:
所以,通过以上的分析,可以得到递推的通 项公式:
F(n)=F(n-1)+F(n-2)+F(n-4) (n>3) 然后就是对n<=3 的一些特殊情况的处理了, 显然:
F(0)=1 (没有人也是合法的,这个可以特殊 处理,就像0的阶乘定义为1一样) F(1)=1 F(2)=2 F(3)=4
n=1 n=2
8 1
5
3
2
4
6
7
n=3
14
6
10 11 3 12 2
1 8
4
5
9 7 13
n=4
F(1)=2 F(n)=F(n-1)+2(n-1)
22 2019/9/23
1465 不容易系列之一
某人写了n封信和n个信封,如果 所有的信都装错了信封。求所有 的信都装错信封,共有多少种不同 情况。
仔细阅读,耐心品味,关键掌握从n-1到 n的推导过程。
35 2019/9/23
Any question?
36 2019/9/23
HDOJ作业:
1290 献给杭电五十周年校庆的礼物
1297 Children’s Queue 1438 钥匙计数之一 1465 不容易系列之一 1466 计算直线的交点数 1480 钥匙计数之二 2019 蟠桃记 2018 母牛的故事 2041 超级楼梯 2042 不容易系列之二 2044~2050 (10/5专题练习)
37 2019/9/23
课后一定 要练习!
38 2019/9/23
Thank you!
See you next week.
39 2019/9/23
31 2019/9/23
结论:
所以,通过以上的分析,可以得到递推的通 项公式:
F(n)=F(n-1)+F(n-2)+F(n-4) (n>3) 然后就是对n<=3 的一些特殊情况的处理了, 显然:
F(0)=1 (没有人也是合法的,这个可以特殊 处理,就像0的阶乘定义为1一样) F(1)=1 F(2)=2 F(3)=4
ACM课件递推求解new
ACM 程序设 计
计算机学院 刘春英
1 2019/10/27
今天,
你 了吗?
2 2019/10/27
每周一星(2):
水域浪子
3 2019/10/27
第三讲 递推求解
4 2019/10/27
先来看一个超级简单的例题:
有5人坐在一起,当问第5个人多少岁, 他说比第4个人大2岁,问第4个人多少 岁,他说比第3个人大2岁,依此下去, 问第一个人多少岁,他说他10岁,最 后求第5个人多少岁?
蟠桃记
8 2019/10/27
递推公式?
F(n)=(F(n-1)+1)*2
9 2019/10/27
Fibnacci 数列:
1n 0
fn
2n 1
fn1 fn2 n 2
即:1、2、3、5、8、13、21、34…
10 2019/10/27
思考:
递推公式的伟大意义——? 有了公式,人工计算的方法? 常见的编程实现方法?(优缺点?)
26 2019/10/27
再思考:
有1×n的一个长方形,用1×1、1×2、1×3的骨牌铺满方 格。例如当n=3时为1×3的方格,此时用1×1,1×2, 1×3的骨牌铺满方格,共有四种铺法。如图
输入 n(0<=n<=30
); 输出
铺法总数
27 2019/10/27
典型例题
仔细分析最后一个格的铺法,发 现无非是用1×1,1×2,1×3三种 铺法,很容易就可以得出:
37 2019/10/27
课后一定 要练习!
38 2019/10/27
Thank you!
See you next week.
计算机学院 刘春英
1 2019/10/27
今天,
你 了吗?
2 2019/10/27
每周一星(2):
水域浪子
3 2019/10/27
第三讲 递推求解
4 2019/10/27
先来看一个超级简单的例题:
有5人坐在一起,当问第5个人多少岁, 他说比第4个人大2岁,问第4个人多少 岁,他说比第3个人大2岁,依此下去, 问第一个人多少岁,他说他10岁,最 后求第5个人多少岁?
蟠桃记
8 2019/10/27
递推公式?
F(n)=(F(n-1)+1)*2
9 2019/10/27
Fibnacci 数列:
1n 0
fn
2n 1
fn1 fn2 n 2
即:1、2、3、5、8、13、21、34…
10 2019/10/27
思考:
递推公式的伟大意义——? 有了公式,人工计算的方法? 常见的编程实现方法?(优缺点?)
26 2019/10/27
再思考:
有1×n的一个长方形,用1×1、1×2、1×3的骨牌铺满方 格。例如当n=3时为1×3的方格,此时用1×1,1×2, 1×3的骨牌铺满方格,共有四种铺法。如图
输入 n(0<=n<=30
); 输出
铺法总数
27 2019/10/27
典型例题
仔细分析最后一个格的铺法,发 现无非是用1×1,1×2,1×3三种 铺法,很容易就可以得出:
37 2019/10/27
课后一定 要练习!
38 2019/10/27
Thank you!
See you next week.
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、合并后得到n(n+1)(n+2)/3
2020/9/19
35
Any question?
2020/9/19
36
课后任务:
一、DIY在线作业(2):
2008《ACM Programming》Exercise(2)_Math
二、常规练习(包含以上作业) 1004、1005、1008、1009 、1060 1012~1014、1019~1021 、1061 1049、1066 、1178、1108、1030 1071、1597
27
第四类
纸老虎型
2020/9/19
28
HDOJ_1071 The Area
2020/9/19
29
第一眼:傻了…
2020/9/19
30
再一看——
☺
2020/9/19
31
分析过程:
抛物线公式:y=ax^2+bx+c 已知三点 -〉a、b、c 系数 公式已知 - 〉如何求面积? 会简单积分吗?
return 0;
}
2020/9/19
19
回到正题——大锤搞定
2020/9/19
20
1005: Number Sequence
A number sequence is defined as follows:
f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
但如果不认真分析,有可能会掉入陷阱。
2020/9/19
22
Question:
暴力能解决问题吗?
2020/9/19
23
拒绝暴力~
2020/9/19
24
题目分析:
对于这种题目,千万不能蛮干!实际上,有 经验的同学看到本题目的数据规模,很快就能 知道:这类题目有规律可循。
2020/9/19
25
现在对这题有什么想法
先来看一个简单的题目铺垫一下:
2020/9/19
16
1021 Fibonacci Again
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2)
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000)
2020/9/19
3
1004: Let the Balloon Rise
Sample Input 5 green red blue red red 3 pink Orange pink 0
Sample Output Red pink
2020/9/19
6
题目评述:
1. 一个让你看到后兴奋的题目…
2020/9/19
8
1008: Elevator
上一层6秒,下一层4秒, 每层停5秒
Sample Input 1232310 Samp评述:
10分钟之内解决该题,这也是一个没有算 法的题目。
这种题目大家不会错过的…
2020/9/19
第二讲
老少皆宜之数学题
2020/9/19
1
开胃羹(1)
几个常用单词: 1、vertex ( vertices ) 顶点 2、polygon 多边形 3、convex 凸的 4、concave 凹的 5、segment (线)段(n);分割(v)
2020/9/19
2
开胃羹(2)
再来几个:
1、integer 整数 2、positive 正的 3、negative (adj)负的; (n)负数 4、factorial (n)阶乘;(adj)因子的,阶乘的 5、digital (n)数字;(adj)数字的
2020/9/19
32
该感你觉思怎 考么了样…?
要点分析:
1、暴力的复杂度是多少? 2、哪些陷阱? 3、关键在哪? 4、顺利应该多长时间?
2020/9/19
34
数学公式:
1、这个大家都会: 1+2+3+4+…n=n(n+1)/2
2、这个有些同学忘记了: 1*1+2*2+3*3+…+n*n=n(n+1)(2n+1) /6
2. 只要懂点C或者C++,就可解决该问题。
2020/9/19
7
1004题目分析:
该题算法思想比较简单,就是对输入的字符串 进行比较和统计。值得注意的一点是:
如果用C语言来写,要注意可能会把第一个数 字后的“回车符”误认为是第一个串,字符串 的比较也要用函数和循环语句。
而C++则在处理字符串方面较为方便。
???
2020/9/19
26
K尾相等数
题目描述:
从键盘输入一个自然数K(K>1),若存在 自然数M和N(M>N),使得K^M和K^N均大 于或等于1000,且它们的末尾三位数相等, 则称M和N是一对K尾相等数,请编写一个程 序,输出M+N值最小的K尾相等数。
输入
输出
2
120
25
7
2020/9/19
Print the word "yes" if 3 divide evenly into F(n)
Print the word "no" if not.
2020/9/19
17
题目分析:?????
能被3整除的整数的特点? 如果两个数的和能被3整除,这两个数有什么
特点? 关于能否被3整除,这两个数一共有多少种组
这个题目比前面两个题目稍难,但是属 于能一眼看出解决办法的题目。只要静 下心,还是比较容易解决的。
2020/9/19
13
1009算法分析:
输入(J , F 放入数组) 对数组排序(按效益,降序) 输出(按效益高低有序交易)
2020/9/19
14
第三类
技巧型
2020/9/19
15
小锤抠缝——
合?
还要看程序吗?
2020/9/19
18
Hdoj_1021程序清单:
#include<stdio.h>
int main()
{
long n;
while(scanf("%ld",&n) != EOF)
if (n%8==2 || n%8==6)
printf("yes\n");
else
printf("no\n");
Given A, B, and n, you are to calculate the value of f(n).
2020/9/19
21
题目特点:
这个题目是一个比较典型的ACM竞赛题, 尽管在真正的大赛中这个题目可能算比较简单 的,但在本次比赛中,本题难度属于中等,可 以说,能做出本题的队伍基本都有二等奖以上。
10
第二类
基本型
2020/9/19
11
1009: FatMouse' Trade
Sample Input 53 72 43 52 20 3 25 18 24 15 15 10 -1 -1
2020/9/19
Sample Output 13.333 31.500
12
题目特点:
2020/9/19
37
下一讲:
递推求解
2020/9/19
38
Welcome to ACM
Thank You ~
2020/9/19
39
2020/9/19
35
Any question?
2020/9/19
36
课后任务:
一、DIY在线作业(2):
2008《ACM Programming》Exercise(2)_Math
二、常规练习(包含以上作业) 1004、1005、1008、1009 、1060 1012~1014、1019~1021 、1061 1049、1066 、1178、1108、1030 1071、1597
27
第四类
纸老虎型
2020/9/19
28
HDOJ_1071 The Area
2020/9/19
29
第一眼:傻了…
2020/9/19
30
再一看——
☺
2020/9/19
31
分析过程:
抛物线公式:y=ax^2+bx+c 已知三点 -〉a、b、c 系数 公式已知 - 〉如何求面积? 会简单积分吗?
return 0;
}
2020/9/19
19
回到正题——大锤搞定
2020/9/19
20
1005: Number Sequence
A number sequence is defined as follows:
f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
但如果不认真分析,有可能会掉入陷阱。
2020/9/19
22
Question:
暴力能解决问题吗?
2020/9/19
23
拒绝暴力~
2020/9/19
24
题目分析:
对于这种题目,千万不能蛮干!实际上,有 经验的同学看到本题目的数据规模,很快就能 知道:这类题目有规律可循。
2020/9/19
25
现在对这题有什么想法
先来看一个简单的题目铺垫一下:
2020/9/19
16
1021 Fibonacci Again
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2)
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000)
2020/9/19
3
1004: Let the Balloon Rise
Sample Input 5 green red blue red red 3 pink Orange pink 0
Sample Output Red pink
2020/9/19
6
题目评述:
1. 一个让你看到后兴奋的题目…
2020/9/19
8
1008: Elevator
上一层6秒,下一层4秒, 每层停5秒
Sample Input 1232310 Samp评述:
10分钟之内解决该题,这也是一个没有算 法的题目。
这种题目大家不会错过的…
2020/9/19
第二讲
老少皆宜之数学题
2020/9/19
1
开胃羹(1)
几个常用单词: 1、vertex ( vertices ) 顶点 2、polygon 多边形 3、convex 凸的 4、concave 凹的 5、segment (线)段(n);分割(v)
2020/9/19
2
开胃羹(2)
再来几个:
1、integer 整数 2、positive 正的 3、negative (adj)负的; (n)负数 4、factorial (n)阶乘;(adj)因子的,阶乘的 5、digital (n)数字;(adj)数字的
2020/9/19
32
该感你觉思怎 考么了样…?
要点分析:
1、暴力的复杂度是多少? 2、哪些陷阱? 3、关键在哪? 4、顺利应该多长时间?
2020/9/19
34
数学公式:
1、这个大家都会: 1+2+3+4+…n=n(n+1)/2
2、这个有些同学忘记了: 1*1+2*2+3*3+…+n*n=n(n+1)(2n+1) /6
2. 只要懂点C或者C++,就可解决该问题。
2020/9/19
7
1004题目分析:
该题算法思想比较简单,就是对输入的字符串 进行比较和统计。值得注意的一点是:
如果用C语言来写,要注意可能会把第一个数 字后的“回车符”误认为是第一个串,字符串 的比较也要用函数和循环语句。
而C++则在处理字符串方面较为方便。
???
2020/9/19
26
K尾相等数
题目描述:
从键盘输入一个自然数K(K>1),若存在 自然数M和N(M>N),使得K^M和K^N均大 于或等于1000,且它们的末尾三位数相等, 则称M和N是一对K尾相等数,请编写一个程 序,输出M+N值最小的K尾相等数。
输入
输出
2
120
25
7
2020/9/19
Print the word "yes" if 3 divide evenly into F(n)
Print the word "no" if not.
2020/9/19
17
题目分析:?????
能被3整除的整数的特点? 如果两个数的和能被3整除,这两个数有什么
特点? 关于能否被3整除,这两个数一共有多少种组
这个题目比前面两个题目稍难,但是属 于能一眼看出解决办法的题目。只要静 下心,还是比较容易解决的。
2020/9/19
13
1009算法分析:
输入(J , F 放入数组) 对数组排序(按效益,降序) 输出(按效益高低有序交易)
2020/9/19
14
第三类
技巧型
2020/9/19
15
小锤抠缝——
合?
还要看程序吗?
2020/9/19
18
Hdoj_1021程序清单:
#include<stdio.h>
int main()
{
long n;
while(scanf("%ld",&n) != EOF)
if (n%8==2 || n%8==6)
printf("yes\n");
else
printf("no\n");
Given A, B, and n, you are to calculate the value of f(n).
2020/9/19
21
题目特点:
这个题目是一个比较典型的ACM竞赛题, 尽管在真正的大赛中这个题目可能算比较简单 的,但在本次比赛中,本题难度属于中等,可 以说,能做出本题的队伍基本都有二等奖以上。
10
第二类
基本型
2020/9/19
11
1009: FatMouse' Trade
Sample Input 53 72 43 52 20 3 25 18 24 15 15 10 -1 -1
2020/9/19
Sample Output 13.333 31.500
12
题目特点:
2020/9/19
37
下一讲:
递推求解
2020/9/19
38
Welcome to ACM
Thank You ~
2020/9/19
39