City of God
上帝之城—City of God关于因果报应,轮回再轮回的命运前面都是 loads of crap在初高中因为害怕时间被碎片化消耗,我就会选择用整块的时间去看电影,如果是轻松类的我可以长时间浸入这种心绪里,被正能量的主题鼓舞;如果是教育类型或者是严肃题材的(高一开学看的《隐入尘烟》),带给我的更多是电影结束后的愣神与回味,晚上躺在床上会有片段的闪现和思考。与电影解说不同的是,你需要长时间地浸淫在这种声影的环境里,大到故事情节小到配乐的变化,电影的走向一方面是导演的设置,一方面还有你对前面情节的理解累积。就像是听别人讲课和自学的区别,只有通过自己的时间耗费相对较高的过程去熟悉领悟知识,才能更好的抓住要点,而不是被牵着走,先入为主的接受别人的思想和解读。毕竟一千个读者一千个哈姆雷特,有时候在看完电影大受震撼的时候我会饶有兴趣地去看影评,即使帖子获赞再多,论述再完善再有理有据,有时候我还是会倾向于自己的观点,这无伤大雅 大学手机无节制使用反而没有了这种耐心去抽出整块的时间看电影,浮躁和急于追求即时快感会让人无形浪费时间的同时内心空虚和焦虑,元旦这天下午我抽出时间看了之前了解但是一直没看...
贪心
贪心(Greedy Algorithm)这个带有些许贬义的名字可以直观看出算法的,因为想要最多的所以目光短浅,每一步选择都采取当下选择最优解,从而导致全局最优的算法策略 核心思想 局部最优从而导致全局最优 不会回溯:一旦做出选择就不再改变或者回退 短视性 应用 活动选择(安排最多但是不冲突的活动 霍夫曼编码(数据压缩 最小生成树 最短路径 硬币找零 分数背包问题 (让我慢慢遇见这些问题吧。。。 在看见贪心算法时大家应该会有一种稍稍怀疑但是喜悦的感觉,因为如此省心就可以解决问题,实则不然,在使用贪心算法前,一定要严格证明这个问题是具有贪心性质的!!! 1.合并果子题目:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n−1 次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为 1,并且...
动态规划
动态规划(Dynamic Programming)什么是动态规划? 动态规划是一种通过把原问题分解为相对简单的子问题的方式,利用子问题的最优解来求解复杂问题最优化解的方法。 核心思想:把大问题分解成小问题(分治思想) 保存子问题的解,避免重复计算(记忆化) 通过子问题的解推导出原问题的解 特征 最优子结构 一个问题的最优解包含其子问题的最优解,可以通过组合子问题的最优解得到原问题的最优解 例子:最短路径问题从A到C的最短路径 = 从A到B的最短路径 + 从B到C的最短路径 重叠子问题 在求解过程中,相同的子问题会被多次计算,动态规划通过存储计算结果避免重复计算 无后效性 未来的决策只取决于当前状态,与如何到达当前状态无关,”过去不影响未来” 啥时候能用 计数问题:有多少种方式/方法… 最值问题:最大值/最小值/最长/最短… 存在性问题:是否可能/能否实现… 问题可以被分解,且子问题重叠 1.洛谷P1433吃奶酪题目:房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在...
搜搜搜搜索
开个专题记录自己搜索的学习过程,对于这种搜索的不同思想我只能说前人的肩膀太过于厚实。 1.BFS摘用OI Wiki的一段话BFS(Breadth First Searth)为图论中的基础算法,在搜索算法中该算法通常指利用队列结构逐层扩展状态的搜索方式。与图论中的 BFS 算法思想一致特别适合求解最短路径或最少步骤类问题。 人话就是,类似于向水里扔一块石头,波纹一圈圈向外扩散,先到达离中心最近的点,同一圈波纹上的点同时到达而且找到的路径一定是最短的 1. 洛谷P1443 马的遍历题目:有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。输入只有一行四个整数,分别为 n,m,x,y。一个 n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1)。 唯一要说的:会bfs,以及知道马走日 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include<iost...
why TLE
if(答案 && 测试点TLE)问题,洛谷P1036 选数已知n个给出的整数 ,以及 1 个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34 现在,要求你计算出和为素数共有多少种。 例如上例,只有一种的和为素数:3+7+19=29。 my原答案 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include<iostream>#include<vector>using namespace std;typedef long long ll;int su(ll n){ if(n<=1) ret...
夜调VSCode未果作
《调VSCode未果夜作》独坐寒宵对冷屏,千行代码似迷城。终端不现如星隐,调试频来若鬼萦。 三更未解编译误,五鼓难求运行声。忽忆故人调试法,重装系统是终程。 PS:末句戏言耳,莫真格盘。然调试之苦,编程者皆尝。夜虽深,志勿堕,明晨再战必可克。 为啥啊这几天bug老让我遇到就连最让我信任的 old sport 都悄悄反水阴我,没关系,计算机是这样的,学完有一种淡淡的感觉。干什么是淡淡的,情绪是淡淡的,感情是淡淡的,人也是淡淡的 “没有了对bug出现的恼火和无力,只有能不能解决bug的执念”
快速幂
快速幂常规幂运算:计算a^n 需要O(n)次乘法,例如2^5 = 2 * 2 * 2 * 2 * 2, so overwhelming当n很大时这种方法不可取 快速幂:可以在O(log(n))的时间复杂度内完成计算 基本思想:二分法如果n是偶数:a^n = (a^(n/2)) ^ 2;如果是奇数:a^n = (a^(n-1)) * a; 算法实现1234567891011121314151617181920212223242526272829#include<iostream>using namespace std;using ll=long long;//迭代版ll fast_pow(ll a,ll n){ ll result=1; while(n>0){ if(n&1){ //如果n是奇数 result*=a; } a*=a; n>>=1; } retur...
织心
经历了数年的难以计量的磨难,外人看起来轻巧的一身功夫却是多少年的汗泪灌溉。从没错过的日升日落,一套套磨坏的衣裳,沾了磨破脚的血干结成块的袜子。。。。。。一切就在离开的那天告终了,不再有让人想要牙关咬碎的日子,但心里又空空的。 走出这座山,会有海么?会有什么山上没有的什么新奇玩意吗?其他门派的功夫又是如何呢?躺在散发着茅草香气的床铺上,我开始想象未来的生活。寺里不收留有能耐的人,但凡到了能独当一面的年纪,下山是开始自食其力,也是孑然一身的开始。依稀记得师傅帮我收拾包裹时抖动的胡须,他一辈子没离开过,也走不出这座山。他将多少孩子托举到今天,要不是家里养不起,谁会送孩子来吃这碗苦饭呢!练功的时候我恨不得让这个老头给用棍子打昏死过去,也天天凭着少年心气犯呛装混,但如今我却读懂了疼痛背后的含义。父母的脸早已模糊,想的脑袋发疼也记不得半点音容笑貌。但我却记得那些温暖的片段,是它们支撑我走完这几乎处处峭壁陡崖的道路。 下了山,什么东西都像隔雾看花,不真切。时间以记不清多块的地步流水一样远去,我想要在这水幕做成的纸上留下什么,却是徒劳。混口饭吃,何谈用不用得上功夫啊!好一阵子我像无头苍蝇一样四处...
竹官明的碎碎念
我的第一篇博客关于我的网名因为我的姓氏“管”拆开是“竹官”,再加上“明”这个本应在我名字中出现却最终缺席的辈分,于是便有了“竹官明”这个网名。如今它也成为这个博客的名字。 成立网站的契机和初衷契机作为一个开局没有基础装备的在新手村乱晃的萌新,每次了解到一些学姐学长的光辉过往,总给人一种“忆往昔,峥嵘岁月稠”之感,随之而来的也有想要与他们并肩的渴望与满溢的迷茫。一位予我“性如白玉烧犹冷”之感的学姐给我的感觉更甚,作为亦师亦友的关系,我受益颇多。当她轻描淡写地提到“可以拥有一个自己的网站”时,这个念头便如竹笋遇雨——悄然破土,迅速生长。于是,几乎没有犹豫,我开始了这场看似突然、实则早已埋下伏笔的实践。 初衷竹子的几乎是永恒的生命力和不张扬的品性,是我一直向往的境界。它的生长过程也在我初次听闻之初给我带来很大的震撼:先是在幼年的竹笋时期发展延伸自己的地下茎,默默扎根,看似缓慢甚至停滞;待到根系四通八达、积蓄足够养分后,便能在短短数十天内拔地而起,高耸入云。这像极了人的成长:漫长的积累与沉淀,往往不为人所见;真正的突破,却可能在某一刻突然到来。我想用这个博客,记录下那些“看不见的扎根”与...
