摘要: 数据结构与算法分析 散列 请随机生成30个1~50之间大小不等的整数,以散列的方式存入一个长度为20的结构体数组,请按你的思路构造散列(哈希)函数、使用拉链法解决冲突,然后输入一个整数进行散列查找并打印出查找结果(找到的话需要输出数据存储的位置)。 #include <bits/stdc++.h> 阅读全文
posted @ 2022-05-05 10:09 spbv587 阅读(31) 评论(0) 推荐(0) 编辑
摘要: \(\large C语言到C++从入门到入土\) 1.基本介绍 2.实例 (1)特色写法 (2) 重载运算符 (3)string (4)algorithm库 (5)STL 基本介绍 c是面向过程的,数据与算法分开。它的重点在于算法和数据结构。侧重于计算机底层操作。 c++是面向对象的,主要特点是类, 阅读全文
posted @ 2022-04-11 12:27 spbv587 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 线性筛2 1.筛约数个数 根据唯一分解定理 $n = p_1^{k_1}p_2^{k_2}...p_q^{k_q}$ 任意质因子的任意次幂都可以随意组合, 所以根据乘法原理 $n$的约数个数为 $(1+k_1) (1+k_2) (1+k_3) ...(1+k_q)$ so, 可以根据这个线性筛约数个 阅读全文
posted @ 2019-11-03 20:15 spbv587 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 背包版纸 1. 01背包 如果要求恰好装满 则初始化$f[0] = 0, f[1, m] = 1e9$ 否则初始化$f[0, m]=0$ ​ 理解:把$f[0]$ 看做没有任何物品可以放入背包时的合法状态 ​ 若恰好装满则此时只有容量为0的背包可能被价值为恰好装满,其他都未更新; ​ 若不要求恰好装 阅读全文
posted @ 2019-10-18 21:54 spbv587 阅读(131) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-10-18 12:30 spbv587 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 指针线段树: 指针写其实和普通的思路上没啥区别; 1.把树封装到结构体里; 2.在树里每个节点的信息也放结构体里, 3.像 mid, len 之类的可以在节点里写函数也可以宏定义 4.只需存一个根节点的指针(不用考虑数组开多大), 其他节点的指针都在父节点里存着; 5.构造函数要给指针附上NULL 阅读全文
posted @ 2019-10-11 20:35 spbv587 阅读(251) 评论(0) 推荐(1) 编辑
摘要: DAY 3 QBXT T1 像个SB题, 不过出了点小锅; 我的思路就是 把一个字符串的答案字符串的长度赋成$len 1$, 然后每一位都赋成$a$; 记录一个$add(len)$ 表示先前出现过多少长度为$len$ 的不同字符串; 处理当前字符串时, 先从map里扒, 扒不到就把他的答案赋为$le 阅读全文
posted @ 2019-10-11 19:40 spbv587 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 10.6 模拟赛 T1 (LOJ 2404 体育成绩统计) 题意很简单 模拟就行了 注意事项 : 1. 写函数把字符串化成秒, 一定要看清字符串的格式和特点, 比如说前面0是一位, 最后没有字符之类的 2. 比较和判分的函数 一定记得返回0;(表示死在这里) 3. 边读入边算是最好的解决方案, 存起 阅读全文
posted @ 2019-10-07 07:12 spbv587 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 10.5 T3(bzoj 4712) 毒瘤DDP 题面: ~~(光看题面就知道有多毒瘤)~~ ​ 就是说让你从一个子树内选一些点, 使得这些点能够把这个子树的所有叶子与子树的根分离开; ​ 首先暴力很好想 , 也很好写, 就是一个树形DP的式子, 每次修改都$DFS$维护一遍, $O(1)$查询; 阅读全文
posted @ 2019-10-06 07:26 spbv587 阅读(129) 评论(1) 推荐(0) 编辑
摘要: 10.2 模拟赛总结 T1. 数位dp: 一个非常非常非常非常显然的数位 DP $[L,R] = [1,R] [1,L 1]$ 所以是分别求两次小于等于某个数字的方案数 $f(i,j,k)$ 表示从低位数起的第 $i$ 位,按照规则计算后答案为 $j\quad (j=0,1)$ $k$ 表示只考虑后 阅读全文
posted @ 2019-10-02 21:59 spbv587 阅读(109) 评论(0) 推荐(0) 编辑