摘要:
# 矩阵乘法
## 矩阵计算
### 加减法
要求:两个矩阵的长宽相同。
结果:每一个位置相加。
### 乘法
#### 常数乘以矩阵
一个数 $x$ 乘以矩阵 $a$,那么等同于 $a$ 中的每一个元素乘以 $x.$
#### 矩阵乘以矩阵
要求:矩阵 $a$ 的**列**和矩阵 $b$ **行**相同,即 $a$ 的大小为 $n,m$,则 $b$ 的大小为 $m,u.$
计算公式:$c_{i,j}=\sum_{k=1}^m a_{i,k}\times b_{k,j}.$ 阅读全文
摘要:
暂无 阅读全文
摘要:
# P1779 魔鬼杀手 题解&&思路
[题目链接](https://www.luogu.com.cn/problem/P1779)。
## 分析题目性质
我们发现假如有状态表示 $M$ 个方案选或不选,那么这个状态有唯一确定的结果,即**结果不会随着施法的顺序而改变。**
考虑 $dp.$
我们从题目出发,发现每个方案有单个攻击或者集体攻击,想一想从这个方面考虑。
又由于每一个方案是可以选择无限次的,不难想到 `完全背包`。 阅读全文
摘要:
相信大家已经不少见到模运算了,但是基本上都是在比赛打出来的,没有系统地讲,今天我带着大家一起梳理一下。
定义模运算:即 $a$ 除以 $b$ 的余数,形式化地:$a\bmod b=a-\lfloor b\times\frac{a}{b}\rfloor$,其中 $\lfloor x\rfloor$ 表示对 $x$ 向下取整。
根据定义,有:$0\leq a\bmod b \leq b-1.$
对于 `C++语言`,求 $a\bmod b(a < 0)$ 有问题。
举个例子,对于 $-5\bmod 2$ 在其中为 $-2$ 而不是 $-3$,这是因为 `C++` 中规定的整型除法向 $0$ 取整,换句话讲,就是取精度最靠近 $0$ 的那一个整数,具体地,代码如下:
```cpp
int a = -5;
int b = 2;
int c = a / b;
cout << c << endl;//输出:-2
``` 阅读全文