10 2021 档案
摘要:卡特兰数可解决如下问题: 出栈次序。一个栈的进栈序列为1,2,3,4,5...,n,有多少种出栈序列。 n对括号有多少种匹配方式。 n个矩阵连乘,由于结合律,有多少种括号化的计算方案。 n个结点构成二叉树有多少种构造方案。 圆上有2n个点,两两连成线段,且线段互不相交,有多少种方案。 一个凸多边形划
阅读全文
摘要:本原勾股数 a,b,c没有公因子 可从奇偶性的角度推断有几种组合 奇偶奇与奇奇偶 其中不难证明奇奇偶是不可能的,因为奇奇平方和是2的倍数,偶的平方和是4的倍数 本原勾股数只可能是一种组合,假设a是奇数,b是偶数,c是奇数 c-b、c+b都是平方数 假设d=gcd(b,c) d|c-b d|c+b ⇒
阅读全文
摘要:动态规划一般有三步,定义子问题,这个子问题有着最优子结构,如果选取不合适可能无法解题;分析最优解的特点找到当前问题的最优解与最优子结构的关系,利用已经解决的子问题解决更大的问题,通常是最难的;初始化,极端情况的赋值,一般比较简单。 1、二项式系数计算问题 二项式系数用阶乘计算,也可采用杨辉三角加法解
阅读全文
摘要:#include<stdio.h> #define MAXSIZE 1<<10 int ChessBoard[MAXSIZE][MAXSIZE]; void BoardCover(int tr, int tc, int dr, int dc, int size) { static int Tag =
阅读全文
摘要:最大流问题是给一个有向网络,每条边都有一个容量,问从起点到终点最多能输出多少流。 这是一个模型,在处理某些问题合适建模,就能利用这些现成的算法,使得问题得到解决。 EK算法采用BFS找增广路,不断用流到这个点的最大流和现存容量的较小值进行更新,就这样每次找到一条更新整个图,然后添加反向弧,反向弧的容
阅读全文
摘要:输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上c。 请你将进行完所有操作后的矩阵输出。 输入格式 第一行包含整数n,m,
阅读全文
摘要:仿照一维树状数组的搭建可搭建二维树状数组,在二维树状数组的基础上再搭建二维差分树状数组。 #include<iostream> #define N 100 using namespace std; int n, m; int a[N][N],c[N][N]; int tree[N][N]; int
阅读全文
摘要:搭建一维差分数组可以很方便的进行区间修改和单点查询 #include<iostream> #define N 100 using namespace std; int c[N], a[N],tree[N]; int n; int lowbit(int x) { return x & (-x); }
阅读全文

浙公网安备 33010602011771号