摘要:
2024.9.?: 恭喜int_Hello_world成为唯一一个一点课没停就要去考CSP的。 班主任死活不让我停课,一开始答应得好好的,然后就突然反悔说不行了。 到最后还剩半天的时候班主任终于同意了,结果long跟我说ltl和lxy今上午都不去机房,机房没人,中午直接走。 不过CSP嘛,能进NOI 阅读全文
摘要:
bitset 简介 bitset 是 C++ 自带的一个STL。 bitset是一个01串,支持对01串上的每一位进行单点0/1修改,01串上的每一位占1bit, 一般用于在一些场合优化bool数组,或者拿来当桶。其本身的时间复杂度和空间复杂度都相当优秀。 原理 分STL自带和手写两种 其一: 将 阅读全文
摘要:
可删除堆 考虑到没什么人会选择手写普通的堆,所以用优先队列实现就好。 问题: 我们知道,在使用堆或优先队列的时候,我们只能取出堆顶,也就是所维护的最大或最小值。 那么如果我们要从所维护的一个元素里删除一个非最大或最小值呢? 最暴力的做法是将元素一个一个从堆顶弹出,直到弹出我们要删的元素,再将之前所弹 阅读全文
摘要:
二进制拆分 二进制拆分是对多重背包的一种优化方式,可以极大的优化多重背包的时间。 前置 我们回顾下完全背包问题。 背包容积为 \(C\) , 有 \(n\) 种物品 , 每种物品有 \(k[i]\) 个, 第 \(i\) 个物品占用 \(w[i]\) 的容积,价值为 \(v[i]\) 。问能用背包装 阅读全文
摘要:
day1 上午: T1: 最基础的暴力模拟,也可以贪心直接求,考场上不知道哪里写挂了。 T2: 题目要求按照拓扑的方式遍历图,分别考最优和最劣两种情况。 最优情况只需要每次贪心的走队列中最小的点即可,可用堆(直接将原本拓扑用的队列换成优先队列)实现。 最劣情况考场上想的是每次贪心地走队列中最大的点, 阅读全文
摘要:
这是一个做题记录。 洛谷P1725 琪露诺 2023.8.5 题目链接 标签:动态规划、单调队列。 一道动态规划题,先考虑暴力一点的做法: 设 \(dp[i]\) 表示跳到第 \(i\) 个位置时所能获得的最大冰冻指数。那么 \(i\) 位置的状态可以从区间 \([i-L,i-R]\) 转移过来。 阅读全文
摘要:
#前奏 出发前的稍作准备,复习一部分知识点 ## KMP的next数组的部分性质: (以下均默认下标从1开始) next[i]: 以i结尾的后缀中与其匹配的最大前缀的长度。 对于一个长度为l的字符串s,其最短循环节长度为:l-next[l] 如果$i$%$(i-next[i])==0$,那么$s[1 阅读全文
摘要:
#矩阵基础 ## 定义: 数学意义上有更加严谨的矩阵定义,这里不过多展开,如有需要还请自行查询。 由$n\times m$个数排成$n$行$m$列,第$i$行$j$列的数记为$a_{i,j}$。我们称这$n \times m$个数为矩阵$A$的元素,记作: $$ A=\begin{bmatrix} 阅读全文
摘要:
教练让我学三周数论,然而数论多少还是无聊了点,所以浅学一下博弈论划划水。 (只是简单学了一下,不会记特别多。) ###**何为博弈论?** 博弈论 ,是经济学的一个分支,主要研究具有竞争或对抗性质的对象,在一定规则下产生的各种行为。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。 阅读全文