写给一心刷ACM题目的学生

2024-03-03 08:38
文章标签 题目 学生 acm 写给 一心

本文主要是介绍写给一心刷ACM题目的学生,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【来信】

  老师你好,我大2013级大二的学生。大一时自学了数据结构,大二的时候参加了ACM。 现在寒假在家里刷题。可是我还想学习些东西,比如深入C 的学习,或者java。但是感觉除了刷题之外,就很迷茫,不知道以后出去工作是C 好还是java好。其实我更喜欢C ,但是如何去深入学习C 呢,我对C 的深入学习也是很迷茫的,因为对于C/C 除了用来刷题,我都不知道他们能够干什么?

  

【回复】

  你没有说你的专业,我猜想应该是计算机类的专业。下面就基于这个前提,谈谈我的想法。
  很高兴你能找到一个提高编程能力、打扎实专业基础的方式。参加ACM竞赛对于专业学习的好处,我不说了,这个事情可以继续深入。
  你找我,我该说你的问题所在。
  我先提几个问题,你想一想?
  1. 为什么在学习过程中我们要做题目?做题目的目的是什么?题目是怎么来的?
  2. 我们学习的最终目标是什么?
  关于这个问题,正确回答绝对不是做题目。简单讲,我们是要去解决问题,更直观地,是要去做项目。
  于是,我们要面临的第3个问题有了:
  3.如何在学习中,由做题目过渡到做项目?
  这几个问题解决了,你应该就明白了。我下面将会谈我的看法,不过,也还需要你自己再我的回答上补充,结合上你自己的学习体验。
  关于题目。题目是针对某些知识点,编制出来的供初学者实践,以达到掌握知识的目的。由于学习者所处的阶段性,题目不宜“大”,且一般针对性强。题目再大,就隐约会有点“项目的影子了,尤其对于综合性的题目。但再综合的题目,也可能会将项目中需要考虑的一些效率、成本、组织等问题忽视掉,以便于起步阶段的人能顺利学习下去。所以,做题目是为了掌握知识点(包括具体知识、运用知识的方法学层面的知识,以及一些必要的技能)。题目是人为编出来的,但仔细品味,题目中含着的,就是项目中用着的知识。你现在参加的ACM,所刷的题目实际已经突破了课程框架的约束,正在练就解决核心问题的能力。但我发现,你没有去发现这些。例如,你掌握了动态规划的方法,应该要看到其普适的价值:生产管理、资源分配……,多少问题都在用它去建模、求解。
  而到做项目,需要考虑的因素将会很多。例如做一个Web项目(设规模比较大、目标是要让很多很多人用的那种),需要有项目经理、架构师、程序员、美工等一套的人马。对于一名IT学生而言,至少在目前,我们的目标就是要通过做技术岗位的工作进入行业(无论大学毕业就进入还是上研生之后),所以要学习做项目的技术。这些东西在你高年级的时候,会学习相关的课程,但也应该做课外自己有所体验。一个人不可能精通做项目中的所有环节,在实际工作中也还会进步的空间,你目前主要精力投入学习利用算法和程序设计解决问题,是一个着眼长远的选择。
  如何学做项目,以及由做题目到做项目的过渡,请参考我在《逆袭大学》中的“ 9.1 一切让代码行数说话”。这是一个留待日后解决的问题,也可以现在就自主地做些体验。
  从你信中,我稍有不安的是,你应该进入“算法”的阶段了,但似乎还是将语言看得太重。无论C还是Java,都不足以支持你度过整个职业生涯。在现阶段,C就用来刷题好了。可以用C做点通信录、学生成绩管理之类的纯在DOS窗口中运行的应用做些体验。而如果想深研C的指针之类的硬骨头,你实际上是在计算机组成、操作系统的层面上开展学习,只是用的是C这样的一个载体。从计算机系统的角度,看你正在学习的内容,你会发现自己一路玩着C,学的就是计算机。这样学下去,你将不会迷茫。
  给你的建议:刷题之余,看一些IT人文类的书籍。我一时想不到更多的,但首先想到最适合你的是,由吴军博士写的《数学之美》和《浪潮之巅》。其他可以参考 当当的榜单,也可以开学后到图书馆借。书很多,哪本顺眼看哪本,你会由阅读而不惑。

  就说这些,希望你能充实地走出你的每一步。




这篇关于写给一心刷ACM题目的学生的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/769087

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

题目1254:N皇后问题

题目1254:N皇后问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在同一斜线上。因为皇后可以直走,横走和斜走如下图)。 你的任务是,对于给定的N,求出有多少种合法的放置方法。输出N皇后问题所有不同的摆放情况个数。 输入

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽  “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家    知识点 1. 散列查找 散列查找是一种高效的查找方法,它通过散列函数将关键字映射到数组的一个位置,从而实现快速查找。这种方法的时间复杂度平均为(

华为OD机试真题-学生方阵-2024年OD统一考试(E卷)

题目描述 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的。 注:学生个数不会超过10000 输入描述 输入的第一行为矩阵的行数和列数, 接下来的 n行为矩阵元素,元素间用""分隔。 输出描述 输出一个整数,表示矩阵中最长的位

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

家庭和学生用户笔记本电脑配置方案

2.6.1  家庭和学生用户笔记本电脑配置方案   2.6.1  家庭和学生用户笔记本电脑配置方案   普通家庭用户、学生用户主要用于上网、娱乐、学习等,这类用户要求笔记本电脑的各方面 功能比较均衡。在选购此类笔记本电脑时,主要考虑外观设计方面要比较时尚,而且性能上也要 够强,一些大型复杂的软件以及目前的主流游戏都要能够流畅地运行才行。   对于CPU方面,可以考虑目前主流的第二

2024 年高教社杯全国大学生数学建模竞赛题目——2024 年高教社杯全国大学生数学建模竞赛题目的求解

2024 年高教社杯全国大学生数学建模竞赛题目 (请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”) 2024 年高教社杯全国大学生数学建模竞赛题目 随着城市化进程的加快、机动车的快速普及, 以及人们活动范围的不断扩大,城市道 路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经 济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。 考虑一个拥有知名景区

力扣 739. 每日温度【经典单调栈题目】

1. 题目 理解题意: 1.1. 给一个温度集合, 要返回一个对应长度的结果集合, 这个结果集合里面的元素 i 是 当前 i 位置的元素的下一个更高温度的元素的位置和当前 i 位置的距离之差, 若是当前元素不存在下一个更高温度的元素, 则这个位置用0代替; 2. 思路 本题用单调栈来求解;单调栈就适用于来求当前元素左边或者右边第一个比当前元素大或者小的元素;【单调栈:让栈中的元素保持单调

msyql执行效率的问题以及常见基础面试题目

SQL被称为结构化查询语言(Structured Query Language )是操作和检索关系型数据库的标准语言 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。 ※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。    Data Definition Language ※ 数据