08 2013 档案

动态规划小结(以采药问题为例)
摘要:定义:把一个问题分解为子问题递归求解,并且将中间结果保存以避免重复计算的办法,就叫做“动态规划”。动态规划是解决多阶段决策过程最优化问题的一种方法。动态规划中的相关概念:1、阶段 用动态规划求解一个问题时,需要将问题的全过程恰当地划分成若干个相互联系的阶段,以便按一定的次序去求解。阶段的划分一般是根据时间和空间的自然特征来定的,一般要便于把问题转化成多阶段决策的过程。2、状态 状态表示的是事物某一阶段的性质,状态通过一个变量来描述,这个变量称为状态变量。各个状态之间是可以相互转换的。3、决策 对问题的处理中做出某种选择性的行动就是决策。在每一个阶段中都需要有一次决策。一次决策就会从一个阶段进入 阅读全文

posted @ 2013-08-09 09:10 平心静气 阅读(1840) 评论(1) 推荐(0)

约瑟夫环问题和bool类型的应用
摘要:1.约瑟夫环问题令f表示i个人玩游戏报m退出最后胜利者的编号,最后的结果自然是f[n].递推公式:f[1]=0;f=(f[i-1]+m)%i; (i>1)有了这个公式,我们要做的就是从1-n顺序算出f的数值,最后结果是f[n]。因为实际生活中编号总是从1开始,我们输出f[n]+1由于是逐级递推,不需要保存每个f,程序也是异常简单:例如:选猴王问题#include using namespace std;int main(){ int m,n; while(cin>>n>>m&&n!=0&&m!=0) { int *f=new int 阅读全文

posted @ 2013-08-08 21:50 平心静气 阅读(341) 评论(0) 推荐(0)

strchr函数的用法和暴力枚举法的应用
摘要:1.strchr函数能准确的定位某字符在字符串中首次出现的位置,这个函数能解决很多问题,例如:要求输出某字符以后的字符串内容。其用法如下例:#include#include#include //声明int main(){ char string[15]; char *ptr, c = 'r'; strcpy(string, "This is a string"); ptr = strchr(string, c); ... 阅读全文

posted @ 2013-08-08 21:45 平心静气 阅读(889) 评论(0) 推荐(0)

sort函数基础排序和map函数的查找功能
摘要:#include#include#includeusing namespace std;map mp;int main(){ int n,i; cin>>n; string str; for(i=1; i>str; if(mp.find(str)!=mp.end()) { mp[str]++; cout#includeusing namespace std;bool cmp(int a,int b){ return a>b;}int main(){ int i; int a[4];... 阅读全文

posted @ 2013-08-04 06:47 平心静气 阅读(793) 评论(0) 推荐(0)

浮躁的一天,选择从头开始
摘要:今天上午,看了3个题,就开始浮躁,因为各种看不懂,接着就做了做openjudge。下午的时候老师来了,给我们开了个会,讨论了一下学习问题,老师给了我们很多学习方法方面的建议。其中,我觉得最重要的是平心静气,慢慢看,因为算法本来就很抽象,它不仅需要有很强的逻辑思维能力,而且要将得出的结论实现到算法上。 晚上的时候,又回过头去看了一些递归的题目,总结了一些,具体内容如下:我对递归思想的理解就是将最复杂的大问题画成一个递归树,把f(n)用f(n-1)及以后的f(i)表示出来,反复的调用f()函数,并且找出一个出口,也就是再也不能调用f()函数的位置。 虽然现在能看懂,但记忆不深刻,在脑子里没有确定. 阅读全文

posted @ 2013-08-02 08:55 平心静气 阅读(152) 评论(0) 推荐(0)

导航