Alex Li的学习笔记

不想学习…

发现发题解能加平时分,之前都没有交过,最后一次赶紧水两道题,防止我的期末挂挂~

C 前缀数组

题目

题目描述

在植物理想国中有很多种类的仙人掌(Cactus),例如「可爱仙人掌」(Cutetus),「拐弯抹角仙人掌」(Pointless Cactus)。

下面将给出 $n$ ($1 \le n \le 1000$)个名字(一个名字由若干个单词组成,单词是指由空格分割的字符串),Yuki 想知道其中哪些名字是仙人掌的名字。

由于 Yuki 对仙人掌并不熟悉,所以只能认为名字中有至少一个单词满足以下至少一个条件的,都是仙人掌:

  1. 单词以 cac 开头(不区分大小写)
  2. 单词以 tus 结尾(不区分大小写)
  3. 单词含有 cactus 作为子串(不区分大小写)

例如,Cattus 是「仙喵掌」,当然是仙人掌,但 Tree Tree 是「好多树」,不是仙人掌。

输入描述

输入包含不定的若干行(不超过 $1000$ 行),每一行一个字符串(仅包含大写字母,小写字母,空格或连字符)表示一个植物的名字。

形式化的来说,大写字母是指 ASCII 码在 $[65, 90]$ 之间的字符(A-Z);小写字母是指 ASCII 码在 $[97, 122]$ 之间的字符(a-z);空格是 ASCII 码为 $32$ 的字符( );连字符是 ASCII 码为 $45$ 的字符(-);单词是指由空格分割的字符串。

输出描述

输出一个正整数,表示有多少个植物是仙人掌。

阅读全文


我的算法资料开源仓库:https://github.com/lixu10/algorithm-template

上课的英文PPT这的看不懂(中文我都不一定看的懂),用AI按章节转成了说人话版(仅保留算法核心部分):算法PPT按章节总结.pdf

自己结合学长板子、AI、自己代码,写了一套非常完整的板子,包含所有课上算法、常用算法等(与这篇文章下面内容相同)。下载:板子ver5.pdf

Recommend:

ACM算法模板(吉林大学).pdf
算法模板.md
C STL超全汇总-2023.12.11.pdf
Acwing代码总结
算法选择题复习.pdf
算法模板 (1).md
模板.pdf
算法板子 - Rainel
C++算法板子积累 - OnlyAR

以下为我自己的代码模板:

阅读全文


最近用AI的需求比较多,我之前部署的很多服务已经不能用了(比如Gemini Balance),所以又去linuxdo学习了一下最新的白嫖技巧。

之前的服务器塞的程序有点太多了,而且之前服务器位于香港,很多openai等的AI服务直接访问不了。故新买了台服务器玩,这回好好装一下系统。

环境安装

服务器镜像:Debian

一、宝塔面板

很喜欢使用宝塔面板,省得自己安装很多东西,而且搭建网站和管理很方便。

第一步,下载宝塔面板

wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ssl251104

删除宝塔面板SSL(不喜欢这个)、安全入口

rm -f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart # SSL
rm -f /www/server/panel/data/admin_path.pl # 安全入口

阅读全文


2.1 异常与错误

简述 ErrorException 的区别。
  • Error 表示的是JVM层面或系统级的严重错误,通常不是程序本身逻辑导致的,比如 OutOfMemoryErrorStackOverflowError 等。这类问题一旦发生,说明运行环境已经不正常了,通常不可恢复,一般不在代码中去捕获和处理。
  • Exception 表示的是程序运行过程中可以预期、可以处理的问题,比如 IOExceptionSQLExceptionNullPointerException 等。对于 Exception,一般推荐在合适的层次进行捕获、处理或转换,让程序在出错时仍能做出合理的响应。

阅读全文


image-20251207114642868

才发现是CSAPP的实验,网上很多教程
推荐:https://zhuanlan.zhihu.com/p/79058089

但是网上的教程和北航的实验有一点点差别,Cache大小从1KB变成了512B。

Part1 Cache模拟器实现

题目

在本节中,我们将完成一个Cache模拟器,它通过读取memory trace(内存访问记录文件),模拟访问内存的过程,并且给出每条访问记录在Cache中的命中/缺失情况。本实验只需要补全csim.c文件中的内容,提交评测也只需提交该文件。

题目描述

我们要求实现的Cache模拟器需要满足的功能详情描述如下。

1、读入文件(memory trace)格式

我们实现的Cache模拟器将从文本文件中逐行读取内存访问记录,每一条记录代表了一次内存相关操作。为了评测方便,内存访问记录的格式与valgrind(一个强大的程序内存检测工具,后文会有介绍)的输出格式相同,具体格式如下:

[space]<operation> <address>,<size>
  • <operation>表示操作类型,共分为4类

    • I 表示取指
    • L 表示取数(Load)
    • S 表示存数(Store)
    • M 表示修改(可以视为先Load后Store)
  • [space]为空格,当<operation>为除I类型之外的类型时,会在行首保留一个空格(这一安排是为了与valgrind的格式保持一致)。
  • <address>16进制数,表示一个64位地址(注意地址大小可能会超过32位)
  • <size>为10进制数,表示存/取的内存大小(单位:字节)

阅读全文