【摘】解决数学问题一般性解决思路

1. 弄清问题

首先你必须弄清问题

?? 未知数是什么?已知数是什么?条件是什么?

?? 满足条件是否可能?要确定未知数,条件是否充分?或者多余?还是矛盾?

?? 画一张图,使用恰当的符号。

?? 理清不同的条件,试着把它们都写下来。

2. 拟订计划

找出已知数与未知数之间的联系。如果没有直接的联系,就必须先考虑辅助性的问题。最终你应该得到一个求解计划。

?? 你以前见过它吗?你是否见过相同的或形式稍有不同的问题?

?? 你是否知道与此有关的问题?或者一个可以用得上的定理?

?? 看着未知数,试着想出一个有相同或相似未知数的熟悉问题。

?? 如果有一个与现在的问题有关并且早已解决的问题,你能否利用它?能否利用它的结果或方法?为了利用它是否应该先引入某些辅助元素?

?? 你能否重新叙述这个问题,尽可能地从不同的角度?很多时候你必须回到定义中去。

?? 如果你不能解决所提出的问题,可以尝试先解决一个与此有关的。你能否提出一个更容易着手的相关问题??像是一个更普遍的或者更特殊的,或者一个类比的问题?

?? 你能否解决这个问题的一部分?仅仅保留条件的一部分而舍弃其余,这样对于未知数能确定到什么程度?它还能怎样变化?你能否从已知数据推导出某些有用的信息?你是否考虑过用其它数据来确定未知数?如果需要的话,你能否转化未知数或数据(或者二者同时),以使得新未知数和新数据联系更紧密?

?? 你是否利用了所有的已知数据?你是否利用了全部的条件?你是否考虑了问题中包含的所有基本概念?

3. 实行计划

实行你的计划

?? 实现你的解题计划,检查每个步骤。你能否清楚地看出这一步骤的正确性?你能否证明?

4. 回顾

验算所得到的解

?? 你能否验算这个解?能否解决争议?

?? 你能否用别的方法得到这个解答?或者你其实能够一眼就看出它来?

?? 你能否把本题的结果或方法应用于其它的问题?

来源:G. Polya. How to Solve It, Second Edition. Princeton University Press, 1957

引自《最小割模型在信息学竞赛中的应用》——胡伯涛Amber  福州第一中学Fuzhou No.1 Middle School

时间: 2024-10-08 10:21:45

【摘】解决数学问题一般性解决思路的相关文章

CSU 1290 DP解决数学期望问题

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1290 题目大意: 给定k个数,每次可以生成0-N-1中的任何一个数,k个数中出现不同的整数的个数的数学期望 1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 #define N 1005 5 double dp[N]; 6 int main() 7 { 8 int T,k,n; 9 scan

数学问题的解决窍门—素数判定

数学问题的解决窍门 素数判定 所谓素数: 指恰好有2个约数的整数. 判定: 因为n的约数都不超过n, 所以只要检查 2 ~ n-1 的所有整数是否整除n就能判定n是不是素数. 在此,如果d 是 n的约数, 那么 n/d也是n的约数.由n = d * n / d 可知 min(d, n/d) <= 根号n? , 所以只要检查 2 ~ ? 根号n 的所有整数就足够了. 同理可知,整数分解和约数枚举都可以在 O(根号n?) 时间完成.(还有更高效的算法) #include <iostream>

if/while/for 、解决数学难题 、 Python实例

if/while/for enumerate() 方法的语法:enumerate(sequence, [start=0])sequence -- 一个序列.迭代器或其他支持迭代对象.start -- 下标起始位置.列出索引 对应 值 If条件判断 if 判断条件: 执行语句 elif 判断条件: 执行语句 else: 执行语句 While 判断条件: 执行语句 break 跳出循环 continue 跳到下一次循环 解决数学难题 乘法口诀九宫格ABCD乘9=DCBA,A=? B=? C=? D=

java高并发,如何解决,什么方式解决 (转)

之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确.丢失数据现象,所以想到的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品.转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将所有请求放入队列,以毫秒计时单位,有序的进行,从而不会出现数据丢失系统数据不正确的情况. 今天我经过查资料,高并发的解决方法有俩种,一种是使用缓存.另一种是使用生成静态页面:还有就是从最基础的地方优化我们写代码减少不必

Java高并发,如何解决,什么方式解决

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧. 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步    1.同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到 返回的值或消息后才往下执行其它的命令. 异步,执行完函数或方法

openSUSE13.1无法打开Yast的安装/移除软件管理软件的解决办法&#183;(未解决,临时方法)

没有发现解决方案: 可用 sudo /sbin/yast2 用命令行的GUI替代...虽然差不多 决定一会update一下试试 openSUSE13.1无法打开Yast的安装/移除软件管理软件的解决办法·(未解决,临时方法),布布扣,bubuko.com

在 sys.servers 中找不到服务器的解决办法,自己解决的

一开始提示,在服务器中找不到在 sys.servers 中找不到服务器 'QPAccountsDBLink',先用select * from sys.servers  ,发现只能查到一个服务器名称,后来自己电脑里保存了一些链接脚本,只需改几个地方 -- 变量定义DECLARE @DBName VARCHAR(32)DECLARE @DBUser VARCHAR(32)DECLARE @DBPassword VARCHAR(32)DECLARE @DBSourceAddr VARCHAR(32)D

winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。

protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } } 接着找办法解决500多个控件PAINT缓慢的效能问题,心塞.分类都不想分了,就这样. winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法.,布布扣,bubuko.com

“程序已停止工作”问题的解决方法,停止解决方法

"程序已停止工作"问题的解决方法,停止解决方法 问题 遇到一个程序打不开的错误,如图: 问题详细信息如下: 问题签名:问题事件名称: CLR20r3问题签名 01: rdh-idss.exe问题签名 02: 1.0.1.0问题签名 03: 5510d590问题签名 04: RDH-IDSS问题签名 05: 1.0.1.0问题签名 06: 5510d590问题签名 07: 92问题签名 08: 10问题签名 09: System.BadImageFormatException 解决 1)