
离散&线代
Salmon_lee
这个作者很懒,什么都没留下…
展开
-
《离散数学及其应用》第3章:计数
重复组合从n个种同的元素中,每次取出r个可以重复的元素并成一组,叫做从n个不同的元素每次取出r个元素的允许重复的组合,即重复组合,其组合总数记作。 (一共有5种水果,买8个,H(8, 5))理解1:的非负整数解的个数。Xi的值表示第i个数取了几次。隔板法:C(n+r-1, n-1)= C(n+r-1,r)理解2:设有n个不同的元素,设从这n个不同的元素取出r个元素的重复组合...原创 2018-08-06 22:19:49 · 1846 阅读 · 0 评论 -
集合论:对关系矩阵的操作(C++)
一、功能及运行结果如下:二、代码说明1、关系即为序偶的集合:{ <a, b> , <b, c> , ... },这里采用了set<Order>来表示关系,其中Struct Order是序偶。2、在Order内部重载"<",定义序偶的大小,保证set容器能插入、查找特定序偶。三、代码知识点set容器:embrace操作结构体:重载"<",含参构造函数,...原创 2018-06-04 13:14:32 · 2340 阅读 · 0 评论 -
位运算的应用:集合运算
问题:如何通过位运算求两个集合的交集、并集、差以及对称差呢?运行截图:其实很简单,步骤如下:①将所有可能出现的元素从1~n编上号这里我们假设所有可能的元素为'0'~'9','A'~'Z','a'~'z'则编号为'0'~'9':0~9 'A'~'Z':10~35 'a'~'z':36~61②利用一个整数保存一个集合的信息C++中long long类型占有64个比特位,第i个比特位就表示了对应字符...原创 2018-05-09 12:46:23 · 3502 阅读 · 2 评论 -
命题逻辑之合式公式的判断
如何用编程判断一个字符串是否是合适公式呢?以下提供两种思路:PS:本文中 !否定,*合取,+析取,-条件,=双条件一、老师的STL精简版本简要步骤:①把原子命题全部转换为字符1②将特定字串(如(1)、!1、1+1等)转换为字符1C++代码:#include <iostream>#include <cstring>using namespace std;int rps...原创 2018-03-27 18:21:57 · 6162 阅读 · 0 评论 -
仿Matlab 矩阵类
代码说明:①模仿Matlab的思想对矩阵进行操作②利用(double*) data动态分配内存来保存矩阵的的元素主要功能(持续更新):运行实例:Matrix.h(持续更新):#include <iostream>#include <iomanip>#include <random>using namespace std;void swap( doubl...原创 2018-04-15 14:13:11 · 732 阅读 · 1 评论 -
命题逻辑之自然推理
离散数学中有这样一种证明题:!B,A→B,C→D,A∨B => D如何用C++编码的方法导出推理过程呢?①我们先看结果:②程序的食用说明:1.前提中只能出现析取(+),单条件(-),双条件(=)和文字(p或!p),且均为简单式2.结论中只能够是文字(p或!p)3.推理的某些步骤可能是不必要的,但还是输出了③程序的原理:有两个版本,一个基于“假言推理”,一个基于“消解法”假言推理:A∧(A→B...原创 2018-04-15 13:35:16 · 3985 阅读 · 3 评论 -
命题逻辑之真值表
①C语言版亮点:1.qsort(b, j, sizeof(char), cmp);C语言标准库函数2.while(处理括号 || 处理否定 || 处理合取 ... );可以消除运算符优先级的问题,但是还是解决不了同级运算符的先后问题。如:p+q*r会变成p+(q*r)3.模拟辗转相除法给变元赋值代码简单明了,但是效率比不上位运算#include "string.h"#include "stdio...原创 2018-03-30 08:31:25 · 8141 阅读 · 0 评论 -
《离散数学及其应用》第4章:高级计数技术
递推关系斐波那契数例:不含2个连续0的n位二进制串数是多少?解:设其为An。若末尾是1,等价于An-1;若末尾是0,末尾一定是10,等价于An-2则有:An = An-1 + An-2 卡特兰数例: P=a0×a1×a2×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?解:记所求为Cn。注意到永远都有一个"×"在括号外...原创 2018-08-07 15:21:40 · 4952 阅读 · 5 评论