统计学
统计学
概述
什么是统计学
研究量化数据的方法的科学
Statisticsis the study of methods for dealing with quantitative
information (data).
从数据中获得信息和知识
分为
Descriptive Statistics
制作图表
Explorative Data Analysis 分析数据得出结论
Inductive Statistics(inferential statistics)
研究数据间的关系
预测未来趋势
统计学基本概念
Statistical units统计单元
Objects on which data is observed 被研究数据的对象
Population
所有需要的统计单元的集合
可以有限(finite),无限(infinite),假设的(hypothetical)
Subpopulations
sub set of the population
Sample
Actual subset of the p ...
建模和仿真
Focus Analysis
基础部分
多变量函数
定义
\[
f: D \rightarrow W, D \subseteq \mathbb{R}^{n}, W \subseteq
\mathbb{R}^{m}
\]
对于自然数 \(n\) 和 \(m\)
这个函数可以这样表示: \[
f: D \subseteq \mathbb{R}^{n} \rightarrow \mathbb{R}^{m},
x=\left(\begin{array}{c}
x_{1} \\
\vdots \\
x_{n}
\end{array}\right) \mapsto f(x)=\left(\begin{array}{c}
f_{1}\left(x_{1}, \ldots, x_{n}\right) \\
\vdots \\
f_{m}\left(x_{1}, \ldots, x_{n}\right)
\end{array}\right)
\]
高维度拓扑学
定义域Domain \(D\subseteq \R ^n\)
定义补集complement 为 \ ...
概率论习题
概率论
习题1
例1
A,B,C
三匹马比赛跑步,构造一个离散概率空间,使得事件“A比B快”,"B比C快",“C比A快”出现的概率都大于
\(1/2\)
例2
已知带偶数条纹的斑马出现的概率是带奇数条纹斑马的2倍。设事件 \(E_n\) 为随机选取一个斑马,发现它有数量为
\(n\)
的条纹。构造一个离散概率空间,使得 \(E_n\)
所有正整数的概率都大于0,且符合题意。
例3
现在要做 \(m\) 个蓝莓蛋糕,一共有
\(n\) 个蓝莓。现在把这 \(n\) 个蓝莓等可能随机放到 \(m\) 个蛋糕上。
求第 \(i\)
个蛋糕没有蓝莓的概率
求所有蛋糕至少有 \(1\)
个蓝莓的概率
例4
有一个幸运轮盘,上面写有 \(1\) 至
\(125\)
的数字(包含1和125),每一个数字等可能出现
求转出的数字是4的倍数或者是平方数的概率
转出的数,每位上数字的和大于3的概率
例5
A,B,C轮流扔硬币(从A开始),硬币是正面的概率是 \(0<p<1\)
,第1次扔到反面的人赢。求A,B,C各自赢的概率
...
图论习题
拓扑排序
Directing
Edges
此题很巧妙,先用拓扑排序排出来,再利用拓扑序构造解
视频渲染与剪辑
Manim
导出视频
在 manim 文件夹下面
1python -m manim .\mytst.py Position -pl
视频渲染选项
123-pm 1280*740 30fps-pl 854*480 15fps-p 2560*1440 60fps
如果渲染多个场景,把 p 换成 a
文字和位置
123456789101112131415161718192021222324252627282930313233class WriteText(Scene): def construct(self): text = TextMobject("This is some text") # self.play(Write(text)) # 写字动画(从左到右) self.play(FadeIn(text), runtime=3) # 淡入效果, 持续3秒 self.wait(1) # 等待 1 秒(从上一个效果开始计时) self.remove(text) ...
几何习题
几何习题
二分
ABC181F Silver
Woods
题意
有 \(n \le 100\) 个木桩在 \(-100\le y \le100\)
的范围里。你有一个圆,圆的半径你可以选择的。求可以把圆从最左边移动到最右边的最大半径。
思路
首先题目具有单调性:如果一个半径可以移动,那么更小的也可以。如果一个半径不能移动,那么更大的肯定不行。所以我们考虑二分。那给定一个
\(r\) 怎么检查呢。对于两个点\(x,y\),如果 \(r\)
不能从他们之间通过,那么我们就将这两个点连起来。对于上下界\((y=\pm 100)\)
如果不能这个线和这个点之间穿过去,那么我们就连上他们。我们枚举把所有的点都连线完。如果存在一条由上界连向下界的边,那么这个半径就被
"拦住了"不能通过。如果没有就一定存在一条路径可以通过。所以我们用并查集连接就好了,最后检查一下上下界有没有连起来即可。
代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495 ...
构造题
构造
1427D
Unshuffling a Deck
题意
每次把序列分成 \(k\) 块, 然后把这
\(k\)
块逆序排雷。块内的元素按照原来的顺序。求一个可行的操作序列,把给定的序列排序成顺序排列
分析
我们发现,每次操作后,所有的数都会倒过来。我们可以每次把 \(1\) 个数字排到正确的位置上。然后最多排
\(n\) 此就可以了。比如 \(4, 3,1,2\) 这个序列,我们先排 \(1\) : \([4,3],[1,2]\) 排列后 \([1,2],[4,3]\) 那么 \(1\) 就被排到正确的位置了,然后我们排 \(n\) : \([1],[2],[4,3]\) 排序后 \([4,3],[2],[1]\) 这样 \(4\)
就排到正确的位置了。已经排好序的拆散排。就可以了。
代码
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#i ...
信息安全
BufferOverflow
去这个网站https://exploit-exercises.lains.space/download/
可以下载镜像。然后再VMware安装上。
进入后使用 user 用户名登录,密码也是
user
进去之后字非常小,我们可以用ssh登录,不过我们首先要查看一下ip地址,使用命令
1ip addr
可以查看
image-20201112200703182
然后我们用ssh连接
1ssh user@192.168.230.132
登录上去后,可以输入 bash 更换shell
然后使用命令
1uname -a
可以查看系统信息
网站上面说练习在 /opt/protostar/bin 这个目录下面
第0个挑战
更改一个变量
123456789101112131415161718#include <stdlib.h>#include <unistd.h>#include <stdio.h>int main(int argc, char **argv){ volati ...
网络空间安全
Netzsicherheit
作业
Hack 进入作业的服务器
1nc netsec.net.in.tum.de 20001
Exercise 1
首先安装一下 netcat
1sudo pacman -S netcat
base64加密解密
123import base64data_enc = base64.b64encode(data)data_dec = base64.b64decode(data_enc)
Networt Insecure
Do not Trust a Network
Connection
网络是不安全的
Capabilities of Attackers
Passive attacks (observation)
Eavesdropping of messages
Traffic Analysis
active attacks (observation + manipulation)
All passive attacks
Delay
Replay
Deletion
Modificatioin
In ...
操作系统
C语言
指针
指针的读取规则:
教程:http://unixwiz.net/techtips/reading-cdecl.html
[] 数组和
()函数从左向右读取,* 和 &
从右向左读取
go right when you can, go left when you must
123456789101112long **foo[7];// 是一个二级指针的数组,表示7个二级指针 **foo -> *foo -> longunsigned long int **x();// 表示函数, 函数返回值是 unsiged long int**char *(*(**foo [][8])())[];// foo is ... char// *foo[] => go rihgt => foo is a array ... char// *foo[8] => go right => foo is a array of array of 8// **foo => go left => foo is a ...