piekenius' Blog

piekenius' Blog

進め。

我与史铁生与他的地坛

选择在期中周结束搓出这一篇文章的一般原因是因为我总是在无缘无故地瞎忙,另一半原因是因为我懒。早在一周前就已经读完《我与地坛》,并且在第十章光荣地颅内高潮,似乎很久都没有体会到读完一段文字之后激动的心颤抖的手,它引导着我读过中华上下五千年外国上下不知道多少年来文人骚客对一年四季不同创作背后的多重含义和解读,让我这个完全丈育的小东西(某种byd黑话)对为什么古今中外有这么多歌颂四季自然风光的作品产生了茅塞顿开醍醐灌顶的一丝理解和顿悟,当然还有更深层次的意义似乎还需要更多的引导和点拨。也许在读的各位看到以上这一段非常通顺白话的长句子读起来会很断气,但是这些确实是我为《我与地坛》写下的开头段读后感,用于表达我完全的膜拜和感谢之心,《我与地坛》真的是一本非常好的启蒙人生鸡汤书,不同于其他人把鸡汤端到你嘴边告诉你吃啊吃啊不教你怎么张嘴,这本书在用亲身演示不厌其烦地展示成千上万遍鸡汤到底应该怎么吃,从宇宙大爆炸物种诞生的宏观视角缩小到咱们一个21世纪人类小婴儿出生和会拿勺子开喝,你吃的心服口服,吃的理所应当,吃的心甘情愿,吃的五体投地。

以前的心境平和到不能理解大人说青春热血到底是什么意思,大学生太幼稚太理想太志气又是什么意思,摇滚不死河北石家庄又双叒是什么意思,怒放的到底为什么在春天,欲望为什么要叫春光乍泄。《我与地坛》第十章看了两遍,第二遍才隐约明白,春光迷乱。“灵魂一到人间便被囚入有限的躯体,那灵魂原本就是多少梦想的埋藏,那躯体原本就是多少欲望的储备!”人有三大欲望,情欲口欲和物欲,原来自己所有的思想都有迹可寻,原来自己所有的意识都被欲望完全支配,思到如此,我竟产生一丝愧疚和释然,活了十九年最近才明白,干嘛要当人以为多浪漫。

《我与地坛》在我这里最成功的地方在于,它真的做到了把冥冥之中感觉有关系但又说不出逻辑道理的两个东西用非常成功的个体主观逻辑串联起来,并且成功把我洗脑变成其信徒,把自己长久以来很想关联的不同东西串起一个网,告诉所有我原来平凡的人也有大智慧,史铁生何尝不是一种我的逻辑嘴替。感谢上帝,感谢耶稣。

最近期中周也是在意想不到的时候到来了,回想起上个学期的期中周那会儿,我的大物和扫雷设计让我痛不欲生了三天,堪堪以请求外援支持的结果堪堪结束。当然大物期中考得一坨,我好像记得好几道选择题我直接干错四题,本来以为人生无望结果五一过后的期末怒刷五百道,到现在也不知道自己大物到底是怎么学的,非常笨拙并且生疏没有方法论。这个学期逐渐忙碌了起来,课内课外都有些事等着我去完成,战线拉长,生活还是给我这个小可颂上压力了。有些时候明显自己变得健忘甚至愚蠢,经常要在出寝室门之后才发现自己又有东西没有拿,站在原地踌躇三秒,叹了口气嘀咕一声又是认命。题目看得也不太认真,发现了很多没有沉下心来急急躁躁就去完成的错误和后悔,这些都化成量化指标告诉我血的教训。写于现在的随笔,2023最后的七十天拜托麻烦请好好过。

数据结构与算法笔记

[数据结构所有实验代码+教材]http://s7gq6sfjj.hb-bkt.clouddn.com/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.rar

[数据结构作业代码]http://s9oboycr5.hb-bkt.clouddn.com/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%BD%9C%E4%B8%9A%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81

2023/09/13 第一次作业

分治思想处理最大子序列

核心思想就是二分法无限不断持续细分,用递归来实现,把每一个细分板块都看作独立的数列处理:

int Maxsequence(int array[],int left,int right){
    int center,i;
    int maxleftsum,maxrightsum;   //左半边最大子序列&右半边最大子序列
    int leftsum,mleftsum,rightsum,mrightsum;   //两边分别处理  
    if (left==right){    //基础情况:只有一个元素
        return array[left];
    }
    //先判断完成基础情况再进行递归
    center=(left+right)/2;     
    maxleftsum=Maxsequence(array,left,center);    //递归左半边
    maxrightsum=Maxsequence(array,center+1,right);  //递归右半边
    leftsum=0;mleftsum=0;  //别忘了初始化
    for (i=left;i<=center;i++){
        leftsum+=array[i];
        if (leftsum>mleftsum){
            mleftsum=leftsum;
        }
    }
    rightsum=0;mrightsum=0;
    for (i=center+1;i<=right;i++){
        rightsum+=array[i];
        if (rightsum>mrightsum){
            mrightsum=rightsum;
        }
    }
    return max3(maxleftsum,maxrightsum,mrightsum+mleftsum);   //左半边最大子序列、右半边最大子序列和中间最大子序列(发现规律得来)
    }

动态规划处理最大子序列

从开头开始,和是正数就继续遍历,是负数就归零

int online-maxsequence(int array[],int n){
    int sum=0,maxsum=0;
    int i;
    for (i=0;i<n;i++){
        sum+=array[i];  
        if (sum>maxsum)
            maxsum=sum;
        if (sum<0)   //换个角度和为负数则归零
        sum=0;
        if (array[i]>maxsum)
        maxsum=array[i]; 
    }
    return maxsum;
}
凌晨四点四十四分

昨天下午实在是过于好奇传说中的酱香拿铁到底是什么味道,去最近的瑞幸店买了一杯尝尝,无奶油版。上个学期我喝咖啡完全没有失眠的迹象,这个学期还没开始拿铁就给了我一个下马威。躺在床上怎么闭眼怎么困怎么打哈欠,还是觉得浑身不自在,心脏突突跳。中途听了博客听了歌,现在耳机里正在放Don’t Be So Serious.

Death Stranding

从8月21号的火车上就开始看老戴解说的死亡搁浅,中间断断续续还经历了搬宿舍买东西收尾准备新学期等各种事件,终于在今天刚刚看完,一场缄默的世界重建之路。

interact
  1. 网络打通
    互联网
    路由:同网段-SDN(网络虚拟化);跨网段
  • 路由不一定是对称的
  • 路由工作在IP层,但不一定只在IP层

ARP协议

  • 逻辑同网段才能发送ARP
  • ARP请求广播,ARP应答单播
  • 免费ARP:不用请求就可得知ARP地址,提前判断IP是否有冲突
  • ARP代理

IP协议:唯一标识,互联网通用
Mac地址不能代替IP地址:二层协议有很多
IPv4不够用,如何解决:NAT(家里路由器),内部用户通过NAT设备改源地址IP+端口,不同地址映射到一个地址进行联网

  1. 网络传输
    数据包
    数据包发送
    先请求DNS:DNS协议UDP,递归请求
    TCP三次握手
  • Timewait?
  • 丢包怎么办?
  • 滑动窗口
  • 流量控制

HTTP/HTTP1.1

  • 为什么不用TCP通信?关注代码本身,不用关注协议具体实现
  • HTTP本质还是TCP,使用户更简洁
Go

Go简单实践

实战案例一:猜谜游戏

1.

1
2
3
4
5
6
   maxNum := 100
rand.Seed(time.Now().UnixNano())
secretNumber := rand.Intn(maxNum)
fmt.Println("The secret number is ", secretNumber)

fmt.Println("Please input your guess")

使用**math/rand/**库:rand.Seed(time.Now().UnixNano())实现一个纳秒级更新的随机种子库;然后使用rand.Intn()函数实现随机数的生成。

rand.Intn(Number)函数是在一个左开右闭的区间内生成,rand.Int(Number)函数在一个全闭范围内生成。

2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   reader := bufio.NewReader(os.Stdin)
//for{
input, err := reader.ReadString('\n')
if err != nil {
fmt.Println("An error occured while reading input. Please try again", err)
//continue
}
input = strings.Trim(input, "\r\n")

guess, err := strconv.Atoi(input)
if err != nil {
fmt.Println("Invalid input. Please enter an integer value")
//continue
}
fmt.Println("You guess is", guess)

使用bufio库:reader=NewReader(os.Stdin)创建一个新的对象,用于从标准输入端读入用户数据,即为reader;使用readString函数将输入放入变量Input中,碰到换行符就停止读入。如果存在错误信息(err不等于nil,相当于none),就打印错误提示并完成程序。
最后,在Input变量中只用strings.trim函数去除换行符和回车符,并且将输入字符串转化为整型变量guess。

随笔记录

来自20230628的一段记录:
乱世佳人观后感:原来生活没有对错,根本没有人在意你的道德正确,能够坚持给自己看,不能够坚持给自己看,都取决于你。快乐乐观生活的命题在上个世纪已经出现在漂亮国了。

matlab笔记

linspace(a,b,n)
logspace
a([m n],[I j])
a(m1:m2,n1:n2)

strcat()
length char double strcmp() ischar findstr() deblank()
cat(dimension,p1,p2,…)
remat(p,[])
reshape(p,[])
reshape
is*
diag() triu() tril()
A’ rot90() fliplr flipud() flipdim(a,dim)
inv det rank trace
mean median prod sum cumsum cumprod
sort(A,dim)dim=1,colony dim=2,row
conv() deconv()=[q商式,r余式]
polyval,polyvalm(poly,m) roots() poly(roots())一个向量
线性方程组求解的三种方法:A\B;x=rref([A,B]);inv(A)*B
round floor fix ceil
rem被除数 mod除数
factor factorial gcd lcm

m文件:save和load
function: input(‘表达式’),’s’表示字符串
disp()
pause() pause off/pause on

if elseif

switch 表达式(标量或字符串) case 表达式123(标量字符串或元胞矩阵) otherwise 不用加break
try catch lasterr 试探性 其中总有一个可以实现,如果lasterr返回空字符串则说明try实现,其他则是catch实现

for 循环变量=起始值:步长:终止值
循环体
end
*当循环变量等于矩阵表达式时,依次等于其中元素
循环嵌套与自然筛选法

while表达式
循环体语句
end
break,continue,return不执行后续代码

函数文件基本格式:
function 输出参数列表=函数名(输入参数列表)
注释说明语句段
程序语句段
输出形参多于1个时,要用[ ]
函数递归
nargin和nargout 判断输入/输出参数个数进行函数分类处理

gloabal 变量名 全局变量,不过要在函数文件和命令窗口中都写入

撕自己的心,裂自己的肺

期中考之后很长的一段时间都在沉寂。oj通过好像还是昨天才发生的事件。每次写博客都是一个新的小阶段,无数个小阶段汇成phase,这么来看自己的人生就是无穷无尽波动前进着的sin/cos函数,SHM是简谐运动的缩写,叫做Simple Hbalabala Motion。

avatar
piekenius
Do witness me
FRIENDS
Violent