自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 2021-02-06

01背包 题目链接 有 NN 件物品和一个容量是 VV 的背包。每件物品只能使用一次。 第 ii 件物品的体积是 vivi,价值是 wiwi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 NN 行,每行两个整数 vi,wivi,wi,用空格隔开,分别表示第 ii 件物品的体积和价值。 输出格式 输出一个整数,表示最大价值。 数据范围 0<N,V≤10000<

2021-02-06 09:26:39 148

原创 2021-02-05

一般哈希 —— 模拟散列表 (1) 拉链法 int h[N], e[N], ne[N], idx; // 向哈希表中插入一个数 void insert(int x) { int k = (x % N + N) % N; e[idx] = x; ne[idx] = h[k]; h[k] = idx ++ ; } // 在哈希表中查询某个数是否存在 bool find(int x) {

2021-02-05 20:49:14 71

原创 2021-02-04

图论 最短路 朴素dijkstra 解决非负权图的单源最短路问题,适合稠密图,用邻接矩阵存储,时间复杂度o(n ^ 2) 算法思想 算法流程 初始时把其他点到起点1的距离赋值为INF,dist[1] = 0; 每次找到不在集合s中的点到起点1的最短距离的点t,把t加入到集合s中去 用t更新其他不在集合s中的点的距离 重复2,3步骤n - 1次 代码 int g[N][N]; // 存储每条边 int dist[N]; // 存储1号点到每个点的最短距离 bool st[N]; // 存储每个点的最短

2021-02-04 23:01:52 76

原创 2021-02-03

分解质因数法求组合数 当我们需要求出组合数的真实值,而非对某个数的余数时,分解质因数的方式比较好用: 1. 筛法求出范围内的所有质数 2. 通过 C(a, b) = a! / b! / (a - b)! 这个公式求出每个质因子的次数。 n! 中p的次数是 n / p + n / p^2 + n / p^3 + … 3. 用高精度乘法将所有质因子相乘 int primes[N], cnt; // 存储所有质数 int sum[N]; // 存储每个质数的次数 bool st[N]; /

2021-02-03 22:34:40 102

原创 2021-02-02

Nim游戏 最普遍的定义:有若干堆石子,每堆石子的数量都是有限的,每次每人进行一次移动。合法的移动要求:“选择一堆石子并拿走若干颗,且不能不拿”。当轮到某个人时所有的石子堆都已经被拿空了,则判为此人负,因为他此刻无法进行任何合法的移动。 为了方便阐述,以下列模型为例 用(a, b, c)表示这三堆物品各自的数目。 (1) 显然(0, 0, 0)是P局势,即为必败态,此时先手无可取的物品,必败。 (2) 而对于(n, n, 0)的局势,只要后手拿走和先手一样多的物品,最后必会形成局势(1):(0, 0, 0)

2021-02-02 23:37:57 102

原创 2021-02-01

二叉树 建树(按照二叉树的先序遍历创建二叉树) 根据先序遍历的规则(根左右),依次创建即可,递归创建比较简单,就写递归版的吧 /*递归创建*/ void CreatBiTree(bitree& bt)//按先序遍历创建二叉链表 { //根据输入的字符串建立二叉树bt的二叉链表,‘#’表示虚节点 char ch; ch = getchar(); if (ch == '\n') return; if (ch == '#') bt = NULL; else

2021-02-01 21:35:18 59

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除