ACM解题思维方法

/*

彧 论文 信息学竞赛思维方法 

算法自己还没学太多,皮毛;写这篇只是读后总结,不是自己的经验 

阅读总结;

*/

当拿到一个题目时,首先我们会去找这个题目符合那个模型,不符合,然后是不是和哪个模型相似;

纵向看,我们划分为:实验猜想及归纳、模块化(划归)

横向分类及分治、类比

所谓猜想及归纳,就是自己的灵感,当然我们不能胡思乱想一通,那你要从你的茫茫想法中捞出这么一个能够解决这个问题的思想

谈何容易;

猜想,首先如果我们个人知识、经验丰富。智商还挺高,那么你应该能多向搜索结合自己的知识储备来解决它,那么,如果你不满足这些特点呢;

你是不是努力尝试着想把它缩小规模,找出规律看看,这就是试验思维;

模块化,那就通过分析,转化、转换 得到本质相同且熟悉的或者抽象的、一般的一个问题,这就是化归‘化归后的问题就成了一个模型;模型不等同于原型;只是本质相同;

主要方向 图论模型。数学模型。规划模型;但是我们可能会碰到一些看是图却非图的例子,那就需要你多加分析,让题目与模型更加接近;

 

数学模型中,使用最多的是 各种组合数学模型;同时涉及 分类、分治、递归等思维;各种计数问题都可考虑建立组合数学模型,

建立的时候 常用的是递归关系,这样复杂度大大降低;

规划思想是数学模型中的一类,包括整数规划动态规划; 整数规划变量均为整数,通常是阶乘级别;动态规划是阶乘级别,它的决策、状态变量也是去整数的,

但是算法复杂度却是多项式级别的;带约束的多变量求解问题,特别是约束条件是要某个函数满足最大最小,则可考虑建立动态规划模型;

而所谓分治,则是 大事化小,小事化了;  类比,就是一种相似,表现形式丰富多样,但是结果不一定是正确的,但它的思维是发散的,是创造性的,这点很重要;

你可能感兴趣的:(ACM解题思维方法)