总结(2015.8.28)

  学编程技术主要是两点:(1)熟练运用技术工具;(2)解决问题的能力。

  工具是在使用的过程中不断了解->熟悉->理解。不能为了学工具而学工具,这样会本末倒置,永远不会使用工具,脱离了工具的功能。应该在项目中为了解决问题,知道用什么样的的工具,然后去了解该工具的使用方法,而不是在不知道解决问题的方法的情况下,盲目的去练习工具的使用,这样问题还是解决不了,当然工具也是运用不了。所以编程是解决问题的过程,对于问题的分析,理清逻辑过程才是重点,这样你自然而然就知道你需要哪些工具,就会去查询该工具的使用文档,然后一步一步去解决问题。学编程不是为了学编程语言、和软件,而是学用计算机程序的方式解决实际问题。解决问题的过程其实就是算法,所以编程的核心是算法,计算机语言和相关软件只是实现的工具。如果想不出来解决方法(算法),工具是没有用处的。

  用计算机程序解决问题会有很多方法,常见问题的解决方法已经被前辈们总结出来,需要去理解并熟练运用。其实大多数问题本质是一样的,只是背景不同,所以要学会看透问题的本质,在运用常用的解决方式解决,还要更具不同问题的特质运用更多创新的方法来解决问题。

  生活中需要解决的问题多种多样,但是用计算机程序来解决就需要深刻了解计算机的工作方式,这样才能更进一步的运用计算机工具来解决。如果不了解计算机的工作原理,还是解决不了问题。

  学校的学习方式是在没有任何问题的情况下,机械化的灌输技术和计算机工作的原理,但是不会训练解决问题的过程,至少不是诱发式引导,往往是直接告诉你解决问题的方式是啥,然后不断的套用这种方式就好了,这种方式会造成懂原理,但是遇到陌生的问题解决不了。在工作中其实也有套路,但是更多的问题是没有套路,或者你发现不了问题的本质,导致问题解决不了。所以现在的重点是学会分析问题,然后解决问题,在解决问题的过程中不断熟练运用各种工具的使用,以及一些常用解决问题的套路。不断总结经验,有所创新。

  

时间: 2024-10-11 11:15:23

总结(2015.8.28)的相关文章

【2015/01/28】QQ徽章墙通用破解补丁(理论支持目前所有版本)

[软件介绍:]软件名称:QQ徽章墙通用补丁软件版本:1.1软件语言:简体中文更新日期:2015.01.28软件制作:Mrack软件大小:9.33 KB (9,561 字节)CRC32:FBD44EADMD5:904349422A9D60F85489789A07C7A23D┏-----------------------------------------┓             QQ徽章墙全版本通杀         请在24小时内删除本补丁   如有私自传播造成纠纷,本人概不负责.------

iOS 学习笔记 六 (2015.03.28)常见错误

2015.03.28 1. property's synthesized getter follows Cocoa naming convention for returning 'owned' objects You own any object you create You create an object using a method whose name begins with “alloc”, “new”, “copy”, or “mutableCopy” (for example, 

2015.11.23 --- 2015.11.28 线性代数

这一周主要学习了一些内容,包括: 1)从感性认识上认识什么是线性代数,并且从思想上认识到线性代数是有用的. 2)简单的了解了矩阵的加,减,乘.这些都是一些人为规定的一些规则.掌握即可. 3)矩阵的逆,从基本的方法(余子式→代数余子式→伴随矩阵)和高斯方法来求解矩阵的逆. 4)讲了和矩阵相关的几个应用:包括线性方程组和向量的表达,并且从中,我们学习到了从不同的问题中抽象出问题的本质是一样的数学问题. 5)如果一个矩阵的逆是不存在或者是没有定义的,其原因是|A| = 0 . A的逆 = 1 / |A

湖南多校对抗赛(2015.03.28) E Longest Increasing Subsequence Again

题意:给你一个序列,问你删除掉连续的一段,使得剩下的序列的最长上升字串最大,问你这个最大值. 解题思路:分段dp,  dp[i][0] ,dp[i][1]   , 0表示前面没有切过,只能从前一个数的0状态得到,1状态表示前面已经切过了,能从前一个的1状态得到,也能从 在他前面的比他值小的dp[j][0](j < i && a[j] < a[i])的最大值得到,这里用线段树维护就行了. 解题代码: 1 // File Name: b.cpp 2 // Author: darkd

湖南多校对抗赛(2015.03.28) G Good subsequence

题意:找到一个序列中极值<=k的最长字串的长度. 解题思路:set容器双递推. 解题代码: 1 // File Name: g.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 12时04分39秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque>

湖南多校对抗赛(2015.03.28) A Rectangle

题意:给你一些最多宽为2 的木板,让你放在一个宽为二的盒子里面,问你这个盒子最短有多长. 解题思路:DP,离中间最近的那个值. 解题代码: 1 // File Name: a.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 12时13分56秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9

湖南多校对抗赛(2015.03.28) B Design road

题意:给你起点(0,0),终点(x,y),中间有很多条河, 在河上面建桥花费c1,在陆地建路花费c2,问你最小花费是多少. 解题思路:我们知道,我们考虑的时候完全可以把河都移动到一边来求,这样只需要三分就行了. 解题代码: 1 // File Name: b.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 13时26分39秒 4 5 #include<vector> 6 #include<list> 7 #

湖南多校对抗赛(2015.03.28) H SG Value

题意:给你一个集合,动态插入 ,动态询问,然后问你这个集合的sg值(这个集合用加法运算不能产生的那个最小正整数)是多少. 解题思路:假设我们现在的这个SG值是 x 1)现在插入集合里面一个数v   如果这个v > x ,那么显然  sg值x不变,  把v放进从小到大的优先队列中 2)如果这个 v <= x 那么sg值x肯定就会变成  x + v, 每更新一次 sg值,就去看优先队列top元素是否是 小于等于 x的 ,如果小于等于,其实就等于把这个top元素进行1操作,这样就不会错了. 解题代码

湖南多校对抗赛(2015.03.28) I Inversion Sequence

题意:给你一个序列a[i],代表 i这个数 在b数列中有多少个值在它前面且比它大,问你求B序列 解题思路:线段树的简单应用,找第几个空,类似二分. 解题代码: 1 // File Name: i.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 12时56分11秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<

HTML5与CSS3基础教程读书笔记 2015/11/28

第七章 1.css分类 (1)控制基本格式的属性:font-size和color (2)控制布局的属性:position和float (3)控制在哪里换页的打印控制元素 (4)控制项目显示和消失的动态属性 (5)创建下拉列表和其他交互性组件 2.css3的新特性 圆角.阴影效果.文字阴影.自定义字体.旋转文本.半透明背景颜色.多图像背景.渐变等 3.基本格式 注意,上一行没写完的换到下一行要空连个字符 注:h1叫做选择器(h1和{之间最好用一个空格隔开),{}之间叫做声明块 提示:可以添加空格和