- 博客(33)
- 收藏
- 关注
原创 Opencompass模型评测教程
模型评测非常关键,目前主流的方法主要可以概括为主观评测和客观评测,主观评测又可以分为两种形式:人工判断或者和模型竞技场。客观评测一般采用评测数据集的形式进行模型评测。本教程使用Opencompass工具进行对Internlm2-7b模型进行评测。
2024-05-25 22:53:47
1918
原创 Windows10升级到Windows11 Office未激活解决方案
解决Windows10升级到Windows11 Office无法升级的问题
2024-01-08 20:25:52
2008
原创 深入理解红黑树
丝毫不夸张的说,本文章在理解深度上绝对吊打99%讲红黑树的教程,但是在此之前你必须要学过二叉搜索树(BST)以及B树还有红黑树的一些基础知识。阅读完之后,如果你还想进一步获取具体完整的代码可以选择阅读算法导论或者其他文章。
2023-09-26 19:18:21
491
原创 计算机网络知识点复习第一章
下面是推荐食用的教材,也是本博客内容的知识点来源参考。1.1 互联网基本知识介绍:主机(host, 端系统, end system):电脑,手机,网络等等终端设备。端系统通过通信链路和分组交换机连接到一起分组交换机:路由器(router),链路层交换机(link-layer switch)。通信链路:一些信号传输的媒体,比如光纤,铜线,电缆,卫星无线电道等等。协议(protocol):TCP,IP,UDP等等,控制网络的行为。分组(package):端系统发送的信息包。因特网标准:指
2022-05-31 23:56:47
299
原创 二分查找,二分答案模板
二分查找在单调递增的序列aaa中查找≥x\ge x≥x的数中最小的一个,也就是xxx的后继。while(l < r) { int mid = (l + r) >> 1; if(a[mid] >= x) { r = mid; } else { l = mid + 1; }}在单调递增的序列aaa中查找≤x\le x≤x的数中最大的一个,也就是xxx的前驱。while(l < r) { int mid = (l + r + 1) >> 1
2022-04-14 22:43:38
183
原创 二进制算法刷题模板
二进制的位操作常用的二进制内置函数int __builtin_ctz(unsigned int x);int __builtin_ctzll(unsigned long long x);// 返回 x 二进制表示下最低位的1后面有多少个0int __builtin_popcount(unsigned int x);int __builtin_popcountll(unsigned long long x);// 返回 x 二进制表示下有多少个1成对变换对于非负整数nnn而言:n
2022-04-14 21:46:57
210
原创 快速幂,龟速乘,光速乘模板
快速幂求abmodp(1≤a,b,p≤1018)a^b mod p (1 \le a, b, p \le 10^{18})abmodp(1≤a,b,p≤1018)ll quick_power(ll a, ll b, ll p) { // ll 是long long类型 ll ans = 1 % p; for(; b; b >>= 1) { if(b & 1) ans = ans * a % p; a = a * a % p; }
2022-04-14 21:20:29
528
原创 信号量解决同步互斥问题
同步互斥问题的产生实际上我是从教材《现代操作系统》中了解到这种类型的问题,也叫做IPCIPCIPC问题,有几个很著名的问题,还蛮有意思的,就特意写篇笔记记录一下 。其中我只关注信号量解决问题的逻辑。而不是具体的实现。一些概念的理解: 临界区域:就是两个进程之间共享的数据区域,进程都可以对其进行读写。信号量:实际上就是一个计数器,表示的是一种权限资源。 P(s)P(s)P(s):如果s>0s>0s>0,那么PPP就会把sss减111,如果s=0s=0s=0那么这个进程就会被挂起
2022-04-12 01:32:45
2276
原创 malloc,calloc segment fault
malloc,calloc的一个小问题下面的代码会报错:#include <stdio.h>#include <stdlib.h>typedef struct { int *buf;} sbuf;int main() { sbuf* S = NULL; S -> buf = (int *)malloc(10 * sizeof(int));}原因就是这是结构体初始化的问题,这是一个野指针。S没有指向任何的具体的结构体。正确做法:#include
2022-04-11 22:35:34
389
1
原创 JavascriptDOM编程基础知识
一、获取元素// document 文档对象调用document.getElementById() // 通过元素的ID获取元素documnet.getElementByTagName() // 返回指定名字元素组成的对象数组document.getElementByClassName() // 返回匹配的元素的列表,注意匹配的类的名字不是重要的,顺序是不关心的使用技巧,可以使用一个变量代替冗长的语句:var item = document.getElementByTagName('li')
2022-04-11 13:28:06
94
原创 线段树与区间最大子段和问题,这一篇就够了
1、经典的区间最大子段和问题问题描述:给定一个序列a1,a2,a3,..ana_1,a_2, a_3,..a_na1,a2,a3,..an,如何求出该序列的最大子段和?(询问的区间个数为mmm)解决方案: - 暴力统计:对于每一个区间[l,r][l,r][l,r],每一次选定一个子段的起点,然后枚举子段的长度,算法复杂度为O(mn2)O(mn^2)O(mn2)。 - 动态规划:我们一次性算出所有的区间的最大子段和,然后使用直接询问答案。我们规定: - ls\color{Green}lsls
2022-04-08 00:26:39
5286
4
原创 Python的json.loads()函数的一个问题
今天在爬虫的时候发现一个小小的错误,记录一下。检查字符串格式是否符合json字符串的格式。字符串要使用双引号而不是单引号。打印字符串,使用print函数,如果打印的字符串两边是有单引号的,表明要把两边的单引号去掉,因为print函数打印字符串是不会打印字符串两边的单引号的。** 去除引号就可以了。**str_info = str_info.strip("'")...
2022-04-07 16:22:47
707
原创 平面分割,空间分割各种变形问题
一、直线分割的变形问题1、直线分割的区域分为有界和无界的区域,那么nnn条直线最多将平面分为多少个有界的区域?解决分割问题的一个很有用的思想为就是动态分析,观察总结。 那么我们可以假设第nnn条直线交于k>0k>0k>0个不同的点,那么观察就可以得到一个结论,那就是我们可以得到新的k−1k-1k−1个有界的区域和222个无界的区域。因此,最多的有界区域与最多区域解LnL_nLn的差为2∗n2*n2∗n,所有可以得到:Tn=Sn−2=Ln−2∗n=(n−1)(n−2)2=∑i=1n−
2022-04-07 00:16:41
2014
原创 汉诺塔变形问题
汉诺塔变形问题没有配图,在我看来,严谨的文字表达比图片更加容易理解,其实是我太懒,逃1、汉诺塔的盘子不能直接从最左边的柱子放到最右边的柱子,而是要经过中间的柱子后,才能把盘子放到右边的柱子上,初始状态为所有的盘子都是在最左边的柱子,问把所有的盘子 转移到最右边的柱子需要的最少步骤数?解决方案:先把除了最大的盘子的其他所有的盘子移动到右边的柱子需要Tn−1T_{n-1}Tn−1步数,再把最大的盘子放到中间的柱子,需要111步,把右边的一坨盘子转移到左边的柱子需要Tn−1T_{n-1}Tn−1步数,然
2022-04-05 23:02:51
907
2
原创 递归,从三个数学问题开始
一、汉诺塔问题(THE TOWEL OF HANOI)hanoi塔问题是法国数学家卢卡斯发明的问题,简单的说就是给你三根柱子,其中初始阶段所有的nnn盘子都按照从大到小放置到一条柱子上。如果你觉得表述不清楚,那么请百度这个问题。,现在的问题是:如何移动盘子可以使用最少的步骤把所有的盘子移动到另一个柱子上?在任意时刻,大盘子都在小盘子的下面。1、对于这种复杂的问题,先研究小的情形往往是大有裨益的。我们规定对于nnn个盘子来说,该问题的最优解为TnT_nTnn==1:n==1:n==1: 显然最少的
2022-04-05 00:03:50
598
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人