本文主要是介绍【前缀和】很久远的补题--H Traveling on the Axis(优秀的找规律思维),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
做的太少,想的太多。
还有,从现在开始好好学习英语,口语更加重要。
总结一下就是:
【用脑子,认真罗列xxxx过程】
【具体些,写出来之后就好找规律了】
刷题其实不能少。不单单练习思维,很多别的东西,机试啊,各种能力啊,你没点真才实学别人怎么可能要你。尽我所能吧,比得过自己就好,一直都是这个样子的呀。(而且在学校还能够好好刷题的机会不多了---(啊能在上课时间好好写作业的机会我感觉也亦不多了。。))
[0x01].题意 (copy)
[0,n]中每0.5处设置一个红绿灯,0表示红灯,1表示绿灯,如果在4.5处有红灯,要从4到5,就要等1s,给出初始的红绿灯状态,每1s会改变状态,即由红灯变成绿灯,或绿灯变成红灯,然后计算图中表达式。
那么我们定性分析一下,若你手里的是101。所有的0可以当成是2,1就是1
那么对于101先来写一下吧:先换成121
121 最开始,我们知道是1,那么(0,1)=1 all=1
过了一秒之后,变成了212,还是一秒,那么(0,2)=1+1=2 (1,2)=0+1=1 all+=3 all=4
这样又是121 还是一秒 那么(0,3)+1 (1,3)+1 (2,3)+1
????这些个03哪里来的.......
[0x02].定性分析
【思维误差】【这里就是,按照条例:】
<!--
还记得一起打的那场网络赛里zj数树上的点很快就好了,因为他是【枚举起点和终点】而我和ziyi就瞎胡数 数了个半天,。。乱死了
这个题也是这样。开始看了一篇误解题解,直到----
(先只是看文字)这样列出来的话,非常清晰明了。
需要一点脑子和条理性想出最佳【罗列】办法啊。。。不仅直观,还有利于找规律啊!!!
对于容易乱掉的题不得不说是个不错的办法。(然后就懂了101为什么是12,因为从(1,2)这里开始的时候是2----这里又需要一点理解力,就是 关键就是红色的灯只是等了2秒,原来的不变。。)(参考洛谷---这种正负正负的,哪怕是洛谷那个开灯关灯,有限的状态转化时间可以压缩压缩压缩。。)(还想说搞懂的话一定要全部搞懂啊。)
哪怕再又乱了,就写个mov ans就好啊。。或者罗列下想法,画好一个流转的图。流转。。
-->
[0x03].进一步找规律
讲道理.... 一条线往后面走下来好了咯... 每个地方也 是稍微记录一下子 ojbk(怎么才算合理?不要写错了呀)
好了,我现在感觉这个题思维很是不错。……下面的东西,我们就参考思想最优秀的这位爷。
https://blog.csdn.net/qq_39826163/article/details/82744035
公式是i*(n-i+1)*f[i],如果是11这样f[i+1]就是2,如果是01这样f[i+1]就是1
若露端倪,可要想办法解决。
有点像tree-permutation那个题,其实写出来真的(
(0,1) (0,1)(1,2)
所以(0,1)竖着出现次数是1(i)横着是n-i(注意到这里是个数所以+1)
【具体些】
------------------------------
若s[i-1]=0时,说明初始时需要再等1s,所以之后的答案都需要加上n-i+1,如果f[i]=2,那么以i开始的区间的答案需要减去n-i+1。
隐隐约约觉得是某些地方多算了导致的.... 但是为什么呢?(待解决)
[0x04].others
题意非常容易会理解错 不觉得吗
还记得现场赛的时候我还在去练车,煞有介事地分析了一番,我tm
这篇关于【前缀和】很久远的补题--H Traveling on the Axis(优秀的找规律思维)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!