音频相关术语 alsa-lib SDL2 ffmpeg 实现的 mp3 播放器
采样率 441100 每秒 DAC/ADC 采样的频率,一般人也就是能听到 20Hz - 20Khz 的声音。狗的听觉范围比人强,还有蝙蝠,好像牛也很厉害。 通道 2声道 左右声道 也有单声道的声音,5.1 声道 位数 16bit 采样 DAC/ADC 深度 16bit 就是 65536 种声音层次 pcm 原始的 bit 流,如果是2声道 16bit,就是 左 16bit , 右 16bit 共 4个 Byte。 一个典型的 alsa 配置就按上面。 在 linux 2.6x 或以后中采用
强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?
在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。 1 强引用 特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于一个普通的对象,如果没有其他的引用关系,只要超
【洛谷4941】War2 状压Dp
简单的状压DP,和NOIP2017 Day2 找宝藏 代码几乎一样。(比那个稍微简单一点) f[i][j] ,i代表点的状态,j是当前选择的点,枚举上一个选到的点k 然后从f[i-(1<<(j-1))][k]转移到f[i][j]即可 方程f[i][j]=max(f[i][j],[k]+B[k][j]+A[j]); 注意的点1.开longlong 2.数据不保证X[i]和Y[i]都不同,也不保证X[i]不等于Y[i],这里很坑要加特判。 #include<cstdio>
#include<al
Spring个人理解(新手勿喷!)
Spring框架是当前的主流框架之一Spring家族最主要的成员之一.整合功能十分强大.说说小编对Spring框架的理解希望可以对初学Spring知识有点凌乱的人有一丢丢帮助. 提到Spring能想到的大多都是IOC、AOP.就来说一下我对IOC、和AOP的理解 IOC: IOC称为依赖注入(也称作DI)、控制反转,作用就是降低两个程序之间的耦合性.把创建对象的事情交给IOC容器管理,谁需要对象就到容器里取.IOC容器默认是单例模式的. AOP: AOP面向切面:通过预编译
MT【236】必要性探路
$\dfrac{lnx}{x+1}+\dfrac{1}{x}>\dfrac{lnx}{x-1}+\dfrac{k}{x}$对于任意$x>0$成立,求$k$的范围. 解答:$k<1-\dfrac{2xlnx}{x^2-1}$下面求$\dfrac{2xlnx}{x^2-1}$的最大值. 用洛必达法则 $\lim\limits_{x\longrightarrow 1}\dfrac{2xlnx}{x^2-1}=\lim\limits_{x\longrightarrow 1}\dfrac{2lnx+2}
汇编语言 第三章小节
汇编语言第三章小结 概述: 此章节的总标题叫做 “寄存器(内存访问)”, 其教学目的是“从访问内存的角度继续学习几个寄存器“。那么,介绍了哪些寄存器呢。其一: 用来访问数据段的”DS寄存器“; 其二:用来访问栈段的SS:SP寄存器。 第一部分:提炼几个基础而又关键的知识点 8086CPU的入栈和出栈操作都是以字为单位进行的。 push指令的执行步骤:a. SP = SP – 2; b. 向SS:SP指向的字单元中送入数据。 pop指令的执行步骤: a. 从SS:SP 指向的字单元中读取数据;
Bernoulli Number
今天我们讨论的问题是如何有效地求自然数的幂和。接下来以3个经典题目为例来讲解。
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1864
分析:其实求自然数的幂和方法有很多种,先来看看普通的递推求法,由于
那么对于所有的累加得到
进...
牛客练习赛25 B 线段树的合并
好久没写线段树了2333
比较简单的一个线段树合并
当练手吧
AC代码:
#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e5+10;
int A[N];
struct SegmentTree{
int l,r,ans,L,R;
#define l(x) Tree[x].l
#defi...
HihoCoder 1631 2017ICPC北京签到题
这题不能简单的计算
应该用堆来模拟
代码:
#include&lt;bits/stdc++.h&gt;
using namespace std;
int A[200];
bool cmp(pair&lt;int,int&gt; a,pair&lt;int,int&gt; b){
if(a.first==b.first)return a.second&lt;b.second;
else ...
HihoCoder 1636 区间DP
一个比较有意思的区间DP问题
怎么说呢
得自己把DP模型建出来
怎么设置状态
是DP问题的关键
代码:
#include&lt;bits/stdc++.h&gt;
using namespace std;
typedef long long ll;
ll DP[110][110][110];
int A[110];
const int inf=1&lt;&lt;30;
int m...
HDU 4347 KDTree
卧槽,自己徒手写了一发KDTree
只能说自己默写的
借鉴了一下别人的写法
然后D了半天BUG
最后发现define有问题
再也不用define了
#include&lt;bits/stdc++.h&gt;
#define SQ(x) (x)*(x)
using namespace std;
const int N=1e5+10;
int idx,k;
struct P{
int ...
HDU5275 数论灵性题
这道题非常常见的数论分块
但是会超时
然后会发现
i小的时候,在等差数列异或和的时候很多计算都是多余的
所以可以从这里入手
前一半暴力
其实这个问题也可以从那个等差数列异或和函数入手
把他的遍历上限改改
这道题就能A
#include&lt;bits/stdc++.h&gt;
using namespace std;
typedef long long ll;
const ll...
HDU4675 莫比乌斯反演
卡了半天原来是卡在预处理上了
以为n根号n的预处理不碍大事
后来发现可以用nlog来处理
当时没想到。。
其实原理很简单。。。
看了一眼别人的代码
其他的都是自己推的
一道简单的组合数加中档莫比乌斯的题
其实莫比乌斯的本质就是容斥
#include&lt;bits/stdc++.h&gt;
using namespace std;
typedef long long ll;
c...
HDU 4417 主席树
权值线段树保存历史版本
然后直接在树上二分
离散化的时候要注意
根据不同情况
要手动二分以及特殊情况的判别
#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e5+10;
int R[N],A[N],cnt;
vector&lt;int&gt; V;
struct HisTree{
int l,r,...
周排行