[转]acm忠告
多做难题
如果你去问那些牛人“这道题你是怎么想到要用XXX方法的”,我估计大部分人都说不出个所以然来。其实很多情况下都是纯凭直觉考虑到的数个思维方向,这种直觉是需要大量的练习来得到的,没有那么多“为什么能想到”,类似于Roba口中的“条件反射题”一样。所以要多做题。
不过这里的“多”不是指数量多,而是质量多。所谓的难题也并不是指要做那种难到天顶的题,而是适合自己的难题。如果一道题能够让你经过数个小时甚至一天的冥思苦想,最后终于AC,我认为这样的题才是最好的。当然这是你要有一些相关基础的前提下才能做的,不要一上来就走极端。
事实上,我认为只有对思维进行这种接近极限的运转,才能最大限度的加深对相关知识的理解能力,在众多的idea中一一排除,最后找到正确的那条路,也能让你每个方法的本质有一些更深的理解。而且这种方法过题,得到的成就感显然不是刷十几个水题能比得了的。
至于这样的题该如何去找,看某些有难度分级的题单是一个不错的方法,TC, CF这种题目分级相当明确的OJ也是不错的选择,或者干脆去看一道题的AC数和AC率。这个可能需要做很久才能把握住哪些题适合自己,但是当有了一些基础之后,至少要时刻提醒自己,多做有质量的题,少做水题。
不要做太多比赛
因为绝大多数的比赛都不是面向初学者的,所以我觉得初学者做比赛有害无益。就算是做比赛,也应该明白做比赛的目的是要警告自己还相当弱,激励以后继续努力,而不是要检验这段时间的学习成果一类。
由于刚入门的人知识方面还有相当多的空白,想提高是一件非常容易的事情,有大量的资源可供使用,自己线下练习完全足够,我看不出比赛会有什么特殊的神奇效果。在我看来,比赛主要锻炼和提高的是自己知识和技巧的运用能力,或者你可以看成是“招式”。比如我07年做了一年的TC之后总结了一下,发现我的知识水平似乎没有显著的提高,倒是思维的活跃度、临场发挥能力有了显著的提升,对实际上没有超出自己知识水平的问题,AC率显著上升。但是想达到这个效果,首先要有足够的根底,然后才是去考虑该如何高效的运用你的内功。只靠比赛是没办法无中生有的。而且比赛连续失利很容易打击一个人的热情,这对初学者来说是很致命的。所以初学者对一般的比赛,建议还是少碰为妙
[转]acm忠告的更多相关文章
- SCNU ACM 2016新生赛决赛 解题报告
新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代 ...
- SCNU ACM 2016新生赛初赛 解题报告
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...
- acm结束了
最后一场比赛打完了.之前为了记录一些题目,开了这个博客,现在结束了acm,这个博客之后也不再更新了. 大家继续加油!
- 关于ACM的总结
看了不少大神的退役帖,今天终于要本弱装一波逼祭奠一下我关于ACM的回忆. 从大二上开始接触到大三下结束,接近两年的时间,对于大神们来说两年的确算不上时间,然而对于本弱来说就是大学的一半时光.大一的懵懂 ...
- 第一届山东省ACM——Phone Number(java)
Description We know that if a phone number A is another phone number B’s prefix, B is not able to be ...
- 第一届山东省ACM——Balloons(java)
Description Both Saya and Kudo like balloons. One day, they heard that in the central park, there wi ...
- ACM之鸡血篇
一匹黑马的诞生 故事还要从南京现场赛讲起,话说这次现场赛,各路ACM英雄豪杰齐聚南京,为争取亚洲总舵南京分舵舵主之职位,都使出了看 家本领,其中有最有实力的有京城两大帮清华帮,北大帮,南郡三大派上交派 ...
- 【codeforces 415D】Mashmokh and ACM(普通dp)
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ...
- acm 1002 算法设计
最近突然想往算法方向走走,做了做航电acm的几道题 二话不说,开始 航电acm 1002 题主要是处理长数据的问题,算法原理比较简单,就是用字符数组代替int,因为int太短需要处理的数据较长 下面是 ...
随机推荐
- linux添加开机自启动脚本示例详解
linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...
- 地图编辑器V2.3
MapEditorV2.3 changelog: ====================================== V2.9.0 (2013-11-18)----------------- ...
- 非常不错的点餐系统应用ios源码完整版
该源码是一款非常不错的点餐系统应用,应用源码齐全,运行起来非常不错,基本实现了点餐的一些常用的功能,而且界面设计地也很不错,是一个不错的ios应用学习的例子,喜欢的朋友可以下载学习看看,更多ios源码 ...
- Java:JSTL遍历数组,List,Set,Map
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- C#基础---委托的使用
一:什么是委托 委托是一种定义方法签名的类型当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联.您可以通过委托实例调用方法.委托是一个引用类型,所以它具有引用类型所具有的通性.它保存 ...
- Spring之IoC总结帖
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...
- POJ1062昂贵的聘礼[最短路建模]
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 45892 Accepted: 13614 Descripti ...
- ArrayList如何实现线程安全
一:使用synchronized关键字,这个大家应该都很熟悉了,不解释了: 二:使用Collections.synchronizedList();使用方法如下: 假如你创建的代码如下:List< ...
- AC日记——密码翻译 openjudge 1.7 09
09:密码翻译 总时间限制: 1000ms 内存限制: 65536kB 描述 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍 ...
- 嵌入式Linux驱动学习之路(五)u-boot启动流程分析
这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程.这一过程可以分为两个过程,各个阶段的功能如下. 第一阶段的功能: 硬件设备初始化. 加 ...