目录 信号, 集合, 多项式, 以及卷积性变换 卷积 卷积性变换 傅里叶变换与信号 引入: 信号分析 变换的基础: 复数 傅里叶变换 离散傅里叶变换 FFT 与多项式 \(n\) 次单位复根 消去引理, 折半引理与求和引理 重新定义 多项式的表示 快速傅里叶变换FFT 通过 FFT 在单位复数根处插值 FFT的速度优化与迭代实现 炸精现场与 NTT 原根 NTT 任意模数 NTT 卷积状物体与分治 FFT FWT 与位运算卷积 FWT 与 \(\text{or}\) 卷积 FWT 与 \(\te…
引入 可能有不少OIer都知道FFT这个神奇的算法, 通过一系列玄学的变化就可以在 $O(nlog(n))$ 的总时间复杂度内计算出两个向量的卷积, 而代码量却非常小. 博主一年半前曾经因COGS的一道叫做"神秘的常数 $\pi$"的题目而去学习过FFT, 但是基本就是照着板子打打完并不知道自己在写些什么鬼畜的东西OwO 不过...博主这几天突然照着算法导论自己看了一遍发现自己似乎突然意识到了什么OwO然后就打了一道板子题还1A了OwO再加上午考试差点AK以及日更频率即将不保于是就有了…
学习笔记 07 --- JUC集合 在讲JUC集合之前我们先总结一下Java的集合框架,主要包含Collection集合和Map类.Collection集合又能够划分为LIst和Set. 1. List的实现类主要有: LinkedList, ArrayList, Vector, Stack. (01) LinkedList是双向链表实现的双端队列:它不是线程安全的.仅仅适用于单线程. (02) ArrayList是数组实现的队列,它是一个动态数组.它也不是线程安全的,仅仅适用于单线程. (03…
定义 多项式 系数表示法 设\(A(x)\)表示一个\(n-1\)次多项式,则所有项的系数组成的\(n\)维向量\((a_0,a_1,a_2,\dots,a_{n-1})\)唯一确定了这个多项式. 即 \[A(x)=\sum \limits_{i=0}^{n-1}a_ix^i\] \[=a_0+a_1x+a_2x^2+\dots+a_{n-1}x^{n-1}\] 点值表示法 将\(n\)个互不相同的\(x\)代入多项式,会得到\(n\)个互不相同的取值\(y\).设他们组成的\(n\)维向量分别…
上一节中讲到了sigprocmask函数,它的作用是检查或修改它的进程信号掩码,这一节我们主要学习捕捉与忽略信号的函数sigaction和等待信号函数. 一  sigaction函数的作用 定义在接收到参数sig指定的信号后应该采取的行动,声明如下: #include <signal.h> int sigaction(int sig, //指定动作的信号码 const struct sigaction * act, //说明要采取的动作,如果为NULL,对sigaction的调用就不能改变与信…
一 信号的基本概念 信号:是向进程发送的软件通知,通知进程有事件发生. 生成:表示一个信号的产生. 捕获:表示接收到一个信号. 信号的寿命:信号的生成和传递之间的时间间隔. 挂起的信号:已经生成但还未被传递的信号. 二 产生信号 每个信号名都是以SIG开头,信号的名字都定义在signal.h中,POSIX必需的信号如下: 信号 描述 SIGABRT 进程放弃(signal abort) SIGALRM 告警时钟(signal alarm) SIGBUS 访问了内存对象中的为定义部分 SIGCHL…
Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 集合中存储的元素必须是引用类型数据 集合继承关系图 ArrayList的继承关系: 查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口.Collec…
UFLDL(Unsupervised Feature Learning and Deep Learning)Tutorial 是由 Stanford 大学的 Andrew Ng 教授及其团队编写的一套教程,内容深入浅出,有很强的实用性,学习起来,让人有种酣畅淋漓的感觉.邓侃博士于今年 2 月 20 日起,在新浪微博上召集志愿者对该教程进行翻译,并于 4 月 8 日全部完成,非常感谢所有参与者的辛勤劳动.本系列文章主要是对这套教程资料的整理,部分内容加入了自己的一些理解和注释. 第一篇  稀疏自编…
信号(或软中断)是在软件层次上对中断的一个模拟,其运行在“用户空间”,一个进程对另外一个或几个进程通过发送信号来实现异步通信.当接收进程接收到信号后,其可以注册一下处理函数来说对这些信号进行处理(也可以选择忽略该信号或者采用系统默认的处理方式). 我看可以通过“kill -l”命令来查看系统支持的信号,比如SIGKILL它表示需要终止一个进程,它有一个系统特定的信号值9.这些值都定义在signal.h中 在signal.h中有个叫做_NSIG(一般为64)的宏其表示该系统支持的最多信号数,而SI…
Map用于保存具有映射关系的数据,因此Map集合里保存着两组数据,一组用于保存Map的key,一组用于保存key所对应的value. Map的key不允许重复. HashMap和Hashtable都是Map接口的典型实现类,他们的关系类似于ArrayList和Vector的关系. HashMap和Hashtable的区别: Hashtable是一个线程安全的Map实现,但HashMap是线程不安全的实现. Hashtable不允许使用null作为key和value,HashMap可以使用. Li…