2020-04
21

循序渐进

By xrspook @ 9:25:39 归类于: 烂日记

我觉得必定把我搞死的筛选词汇表里的二锁三锁单词,居然不怎么费劲就做出来了。

第一次,我在里面用了一个很傻的循环,其实根本就没有必要。可以不用自己的循环就千万不要在词汇表搜索时多用,但我的第一次尝试并不是毫无意义的,,因为已经能得出结果了,而且结果是对的,虽然非常慢,慢到我无法忍受程序继续运行下去。然后,我把要搜索的东西全部都丢到二分法搜索里面,循环只剩下一个必须做的,因为要把词汇表过一遍。第一次做二词互锁的时候,我在一个循环里套了两个if,然后我又把那两个if做成平行的,其实也就是把两个本来嵌套起来的条件用一个and连接起来,很多时候我们都需要这么干。因为除了要二锁,还要考虑三锁,显然人肉去做这些判断,写一大堆一模一样的东西实在太无聊,所以我又自定义了一个新函数,把需要判断的东西全部都丢掉里面,最终返回True或者False。其实,之前我已经考虑过要直接这么干,但因为前天在做搜索回文词的时候我已经得出了回文词的索引,所以直接用就好。我个人觉得,效果是差不多的。

在搜索互锁单词的时候,输出时我用的是字符串的变体。因为二分法搜索被我丢到了一个多条件复合的判断函数里面,所以返回的东西,只有True与False。如果全部都是True的话,就意味着那些单词辩题应该全部都OK没问题。也正是因为输出的东西已经没有索引返回,所以结果我直接使用单词的变体表示。这样的效果很惊人。之前我套用了两个if,然后我写了一个判断函数把条件都含进去了,这样的改进让脚本的运行时间缩短了一半。如果一开始我没有见过两秒多的那个效果,我肯定不会为一秒多的那个惊叹。这是我一步一步琢磨出来了的。

首先是实现得出结果,然后是对语句进行重构,接下要让这个程序适用于二、三词互锁,所以我做的东西是泛化。一开始我把所有判断都写在主程序里,后来我又把它分出一个函数,也就是封装。无意之中,我在执行着Think Python第四章里说到的开发方法:写小程序、封装、泛化、重构。无论是大程序还是小程序,其实都会经历这些。我会从一些我最熟悉的东西开始实现功能。但是我最熟悉的东西不意味着效率一定会高。循环再循环以后,得出一个词都要好几秒时间,实在让人难以接受,尤其当这个词到下个时中间要相隔几秒甚至是十几秒才有反应的时候。这就逼迫着我一定要改进,不同的语句能实现同样的功能,但是它们之间的效率是非常不一样。

大家都在用着二分法的思路去搜索,但是我的脚本就比参考答案快接近30倍。单词一蹦出来,我就知道我一定会比参考答案快。因为我的程序里,单词是噼里啪啦完全没有停顿就全部出来的,而参考答案的词语出来的时候虽然不会一直有,但总有一些顿卡现象,那相对于我的程序来说,就像是慢镜头。

我从来没有想过自己能做得比参考答案还要好,或许他们要做到的并不是有多快。相比于不是二分法的搜索,二分法已经很快了。他们想做到的,大概是用最简练的语言,用模块化的方法实现功能,效率倒不是他们最看重的,因为做搜索词汇表这种事在列表里完成肯定比不上直接上字典。但是,如果不曾在列表里面死去活来,又怎么会体验到字典的神奇。

无论我的二分法搜索写得多么高效,肯定还是不如字典的。我体验过用词典进行斐波那契常数计算。当要计算第40个的时候,一般的递归和字典递归简直就是天渊之别。

如果不曾经历,不曾被整得很惨,我大概就不能说自己真学会了那个东西。

2016-09
24

有!网!了!

By xrspook @ 20:07:30 归类于: 烂日记

终于可以在外婆的家里使用流量,这简直神了!这是老城区的老房子。这些房子是60年代用预构建建的,墙不能拆卸,因为那会影响整栋楼房的支撑结构。一直以来,在外婆家里是打不通手机的,所有电话都只会显示仅限紧急呼叫。所以当人在家里,电话也在家里,基本上电话是打不通的,好不容易电话被拨打并响了,你就必须以最快速度,跑到屋子外面去接。手机这种事,大概在我高中的时候被普遍使用,到大学的时候更加是标配人手一部,工作以后,智能机更是满大街。但这些年来,外婆家里的手机信号一直都非常糟糕。过年的时候,很多人都会边吃年饭边抢红包,但如果在这房子里,那是绝对不可能发生的事。首先是因为这个屋子里没有手机信号,其次是因为,我们不会在一个只有老人独自居住的家里开通网络服务。所以吃饭变成了个非常纯粹的事。除了吃饭就是看电视或聊天,不会有其它任何干扰。发现外婆家里有手机信号是件很偶然的事,我只是想把手机拿出来看一下电量,却无意中发现信号居然满格了,平时这里的信号,要不就直接是一个叉,要不就只有一两格一点点。在那种情况之下,你根本不可能开流量上网,因为即便是走到屋外,流量也是2G,偶尔有不稳定的4G的信号。但今天,不只是电信信号满格了,而且打开流量,居然是4G,所以可以非常通畅地用语记写blog,不会因为信号的问题卡在那里,说了一大段话都毫无反应。信号好,当然也意味着流量用得快。平时外婆家里没信号,我也就只能搬张凳子坐在大街上用语记说。但即便街在上4G信号也不好,自然就会变成2G信号,所以,还是会有,丢掉一大段话的风险。语记需要的流量不多,但要顺畅运行,需要20KB/s的网速。这对打开图片播放视频来说,简直就是九牛一毛。这片老城区里的老房子群之所以迟迟网络都这么差,可能是因为他们一直觉得老人家不会用这些东西。不用就当然不会去投诉他们。这片老房子里居住的大多是老人以及中低收入人士,这些人,基本上都习惯逆来顺受,不会去特意投诉什么。老人家不用网络,但是孩子跟孙子甚至更低了一辈没有网络就活不下去。来看望老人就意味着断网的话试问他们怎么还会常来?手机信号这种事,连边远的山村都覆盖到了,在广州的中心城区的某片角落却没有,这根本就说不过去。但我相信这种事在广州很多老居民区非常普遍。并不是因为这些居民区的建筑实在太奇葩,信号被削弱消减了很多。再大的困难总会有解决的方法,为什么从前这个屋子里没有信号?现在的信号却可以这么好呢!以前父母给我解释说是因为这些房子的构造比较特别。在我搬到现在那个家的时候,我家的信号也不好,每次打电话,都要把手机伸到窗外面,才能仅仅打通。但后来,基站多了,现在我家里任何一个角落都可以顺畅通话。社会的进步需要有一个过程,东西的完善也需要一些时间。我并不是要吐槽为什么这些年来,某些人都不在这个问题上不作为,因为这其中肯定有各种原因,起码现在,我们这里终于有信号了,终于可以顺畅地用起手机网络了。当无线网络真的能做到全覆盖的时候,大概家里的固定电话也就可以取消了,因为没必要拉一条线那么麻烦。

幸福在不知不觉中飘过来的感觉真好。

2016-09
19

间歇跑进步神速

By xrspook @ 12:27:37 归类于: 烂日记

想想都醉了,前天小米1S青春70多的电量,昨天早上居然只剩下9%.今天早上把手机拿出来一看,吓了我一跳,昨天早上刚充满的百分之百电量,现在只剩下22%,前提是昨天早上充电完成,我一天都没有使用过,再看电量的使用,图标直接是一个非常大的斜率,一直往下走,这到底是怎么回事呢?光是安卓系统和手机待机居然这么耗电,这不是神了吗?这种情况,如果重启没办法改善的话也就只能把电池拆出来,擦一擦,估计是电池氧化的问题。要知道这台手机连电话卡都没有放,而且一直是飞行模式,所以连移动信号都无需获取。平时这台机就只是用来做每天的语记。因为手机的屏幕小,所以我左手拇指按着屏幕右侧的小麦克风不会触碰到其它按键。如果这事要在小米4c上操作,通常我会不小心碰到别的。

昨天几乎纠结了一整天,晚上我到底是要跑间歇还是要跑变速。之前我的计划是一周跑间歇一周跑变速,但问题是这个星期有三个工作日跑10K,比平时多了一个,所以多出来的那个我应该怎么安排呢?难道把它变成随便的轻松跑?但最终我还是选择了间歇,至于间歇的次数,初定五次,但后来因为状态实在太好了,所以我又加了一次。六次间歇刚刚好。开始先跑3K多一点热身,然后再跑六次八百米加四百米的间歇后整好十公里。让我觉得非常不可思议的是这周的六次八百米间歇的平均用时居然比上周快了八秒。770米,这周的平均时是336,比计划的343快了一大截。六次770米最慢的一次也跑了339,最快那一次是329。也就是说,我全部都达标了。跑的速度比上周快了,但平均心率和最大心率都比上周低1-2点。这周和上周间歇跑的最大区别是步频,上周的平均步频只有93,但这周的平均步频有96,前提是我的布局仍保持得很好。上周跑间歇的时候跑到一定程度,我觉得自己腿软了,于是不得不,降低步距,增大步频,但这周,完全没有感受到这种事。没有明显感觉到这个不是说我可以无限制地跑。随着间歇跑的一组一组进行,越往后我的步距会越小。因为到后来有点累了,所以蹬地就没有之前那么有力。第六组是我临时加上去的,我跟自己说,如果第五组我也能跑到进343,我就开跑第六组。知道那是最后一组,虽然我已经非常努力地冲,但最终第六组是最慢的。或许我还能跑个第七组第八组,且把用时控制在343内,但显然那对我来说,有点过了。现在的节奏跑训练我是采取的亚索800模式。通常这种间歇跑训练是从四组八百米开始,然后,一次比上一次增加一个八百米,最后到达十组。我不觉得最终我会跑十组的八百米。因为那对我来说就意味着,光是间歇跑训练不算之前的热身就要跑十二公里。之前之所以设定要跑五组八百米是因为我觉得那是我能力范围,但就整体十公里的安排来说,跑六组是最恰当的。我也不知道为什么这周自己会突然间如此突飞猛进。大概身体自己悟出了一些呼吸和身体运动配合的窍门了吧!上周的间歇跑出现腿软了以后,我的确也进行了某些针对性的肌肉力量训练,比如说靠墙静蹲以及大跨步和小跨步的剪蹲。大跨步的剪蹲锻炼的主要是臀部肌肉,小跨步的剪蹲锻炼的主要是股四头肌。我两种肌肉都需要增强,所以工作的时候有空我就神经病一样在屋子里以两种模式跨步练习。如果负重训练效果会更好,但既然我是利用上班的空余几分钟,徒手显然更实际。

间歇跑,那个从前我非常害怕的魔鬼现在反而给我带来了不少的自信。

2016-09
12

间歇跑归来

By xrspook @ 22:41:28 归类于: 烂日记

还记得两年前我跑过四次间歇跑,分别是400米800米1200米以及1600米。那四次间歇跑在一个月内完成,每个星期跑一次。在那之前我完全没进行过冲刺训练,也没有进行过节奏跑训练,一直都只是随性地跑步。在开始跑步的时候,我跑得并不慢。这个慢与不慢,并不是说我的速度真的很牛逼,而是以我的心率衡量我经常在用乳酸阀门的速度去跑。两年前在开始间歇跑训练之前,我一直都在跑MAF180。连续接近四个月都在用很慢的速度去跑,在结束MAF180后,我马上就在我的训练里加入了间歇跑。从慢悠悠到速度与激情,个跨度实在太大,以至于我跑了一个月,只跑了四次间歇跑以后就撒手不干了,因为那实在太痛苦。间歇跑不干了节奏跑也不干了。往后的日子,我只是平时怎么跑就怎么跑,心率也没有特意压制,但也没有加入什么特殊的法门来刺激我的心肺与肌肉。所以,从很慢的慢跑转变为正常速度的跑步,我花了接近半年的时间。也不知道那时候状态不好是贫血的原因,还是因为我的训练不得当,反正那个错误曾经犯过,现在我不会再踏入同一条河。

两年前在开始间歇跑训练的时候,我其实并没有,很确切明白自己在做什么,只是设定了几个长度以及一些重复频率,其间尽全力地去跑,至于应该跑什么时间,正确的重复次数是多少,我并不清楚。我只是按照,别人给出的一些训练方式加以结合自身情况。我并不知道间歇跑需要跑到什么心率范围。也不知道如果我有一个目标比赛速度,我应该具体用什么速度去跑我的间歇跑。我更加不知道这种高强度的间歇跑训练,单次的持续时间应该不超过五分钟。对高手来说,5分钟之内跑个1600米,没有问题,但对我这种低手来说,即便要跑1000米也是非常艰难的。所以可想而知两年前,我什么都不懂,就把自己的间歇跑设定为1200米和1600米,有多么的折磨人。无论是我的心肺,还是我的肌肉韧带骨骼都不足以支撑我去做那个。当时我唯一强大的只有野心,因为没跑过,不知道那到底有多痛苦,所以很想试一下。结果是惨痛的,导致了我接近两年都再也没有碰过印象中非常高大上、离死亡非常接近的洪水猛兽间歇跑。今天我的间歇跑感觉并不太吃力,我觉得我应该能做得更好。但即便我只是觉得自己跑得不太吃力,但效果已经要比两年前好太多了。最明显的区别是我的心率可以保持在90%最大心率处不觉得痛苦。不觉得痛苦我觉得最根本在于我觉得我的呼吸还能承受得住,我还不至于累得喘不过气,也没有明显地感受到身体乳酸堆积,但显然,两年前我在间歇跑训练的时候,经常性习惯性有那种再不停下我就会窒息的感觉,身体酸痛得简直在自虐。所以两年前在间歇跑停下的那一刻,我要大口大口喘气,但现在,我甚至可以在间歇期间用小碎步慢跑恢复,虽然这样的恢复效果不太理想,所以今天我选择的恢复方式是一半快走一半慢跑。如果我能用90%的最大心率就hold住一定的配速,为什么我非得把自己拉爆到95%呢!但实际上,现在我根本就不知道如何把自己的心率提升到95%甚至100%,因为要做到那样的话,就必然会到了那种我喘不过气的状态,既然我的呼吸还能承受的住,我无论如何都升不上那个境界。

更靠谱的跑步节奏,更靠谱的呼吸方法,让我觉得间歇跑还可以接受。要更上一层楼就必须跑间歇,这是无法避免的。但间歇不是人人都可以随便拿去玩,建议那些跑龄没超过两年,跑量没超过4000K的不要轻易试玩。

2015-04
15

跑步门槛神马

By xrspook @ 17:19:35 归类于: 烂日记

昨晚开始,我把闹钟从早上610和620调整为了600和610。从前晚开始,我的睡觉时间定为了晚上10点整,如果我打算回到宿舍躺在床上还得干点别的,我将更早回宿舍,或者是930,或者是945,但如果我什么都不打算干,回去就睡觉,955结束办公室的一切都还可以。日出而作,虽然做不到日落而息,但跟小鸟早上的鸣叫一起开始新的一天是不错的体验。夏天来了,我得习惯早起啊,因为很快就逼迫我不得不开始晨跑了。530左右开跑很正常,所以我必须一定习惯早睡,以后的某些时候我得晚上9点,甚至之前就要睡了。夏天对我来说没有夜生活,不会再有凌晨12点都对着电脑那些事发生了。

昨天才知道10K国家专业女运动员三级的标准是48分钟,二级是42分钟,一级是37分钟。如果是业余的话,一级也不过只需58分钟而已。原来,我第一次参加10K比赛,就已经达到业余一级的水平。不知道这是怎么定出来的,业余的那个时间让我惊讶了半天,因为跑步的书籍经常会说30分钟跑完5K是入门者一个重要的门槛,58分钟,也就是配速548,不过是比600的入门配速快一点点而已。从数值上说,或许是那么回事,但我很明白从一个业余新手到真的能做到,且在安全健康的条件下完成那有多么的不简单。我第一次全程跑步完成10K,配速是711,但之前我快走慢跑间歇也做到过645的成绩。从快走过度到快走慢跑间歇最后到全程慢跑10K我用了2个半月的时间,但从第一次全程10K跑步到我把配速提升到611左右,半个月左右的时间而已,再之后,从611到我刚创造的509,我用了1年2个月多的时间!从611到我开始MAF180(2014-03-23之后),我仍未能非常确切地保证自己能跑出548的配速。过了很长很长的时间,我结束了MAF180,又经历了贫血恢复期,终于,在2014年12月我又可以跑出比600更快的配速,但单月平均配速达到548之内那已经是2015年2月的事了。如果没有MAF180也没有贫血,或许我不需要这么久才能稳定地跑出女子业余一级的水平,但我不觉得我这一年是白搭的。每个月都160K以上,2014平均起来单月跑量187K,一直都能跑证明我一直都没有严重受伤。去年323 10K跑出个56:17我觉得是相当不可思议的事了,今年412更加是52:52!从感觉上说,今年跑得比去年辛苦,但从平均心率和平均配速上说,今年比去年好了不只是一点。去年跑出那个成绩,平均心率绝对有170以上,但今年的平均心率只有168。去年的配速是527,如果我要跑出527的配速,心率达到162左右就可以了,也就是说,这一年的训练让我心率稳定地降低了10个点!昨天稍微翻看了Runtastic上我的静心率数据,和去年没有明显差别,最低的心率大概在50,但那得中奖一般偶然,通常静心率为56。静心率不变,跑步的平均心率降低,说明我跑步的效率得到了提高。这其中发生了什么?我也说不准,但我觉得我学会了奇数韵律呼吸是很重要的一项,因为学会了控制呼吸,我就能很好地把握自己的运动强度,我知道自己用什么呼吸强度去跑步大概会得出一个什么配速,而不是像去年323之前任何时候只是一鼓作气尽全力去拼,也不是像MAF180训练的时候为了保持低心率没有办法只用鼻子呼吸。对新手来说,进步是比较简单的(相对而言),你肯投入就能短时间里看到成效,但越往后要提升就越困难了,我懂的。

女子专业长跑的水平现在来说对我来说简直就是不可思议的事,就像我还没开始跑步,觉得怎么可能连续跑上一两个小时一样,马拉松那些跑上好几个小时的简直就是怪物神经病!!!对谁而言,要达到一定的标准水平都是不容易的,所以当我们做到了的时候,我们真心不应该嘲笑那些暂时还做不到的人,他们哪天说不定会比你强很多呢!

比起要把10K跑进500的配速,我更愿意保持我的月跑量160K和年跑量超过年份的四位数。没有科学的锻炼,没有高强度的刺激,追求速度那是奢望,但高强度的训练意味着高风险的自残!!!要把握好某个度啊,有些东西,是你的你就会得到,不是你的就别去勉强了。情况就像我昨天看某本关于乳酸阀门跑的书里说到跑步效率,跑步效率需要在78%的最大摄氧量处测量,男子每分钟300米是他们的点,但女子,如果你让她们每分钟300米她们就得用89%去跑了,而女子78%的点应该是每分钟268米。书上得出的结论是顶尖跑者男女的最大摄氧量不同,男的更高,但就跑步效率而言,男女相仿。为什么男子专业10K三级运动员的门槛是37分钟,女子专业一级才是37呢?这估计就是原因。10K是这样,但随着距离的增长,差距在缩短。男子专业二级马拉松的门槛是310,女子专业一级马拉松是319。

每天都在思考,每天都在运动,每天都有看书,整个人感觉都在滚滚向前,相当好!

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress