摘要: 笛卡尔树 引入 是一种二叉树,每个节点由一个二元组 \((k,w)\) 形成。\(k\) 满足二叉搜索树的性质,\(w\) 满足堆的性质。 上面这棵笛卡尔树相当于把数组元素值当作键值 \(w\),而把数组下标当作键值 \(k\)。显然可以发现,这棵树的键值 \(k\) 满足二叉搜索树的性质,而键值 阅读全文
posted @ 2024-05-11 19:40 sapo1o 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 这道题其实挺有意思,多测里面还套了个多测。 思路就是用向量模拟删除过程,具体请看代码里的注释。 #include <bits/stdc++.h> using namespace std; int k,q,a[105]; void solve() { int n; cin>>n; vector<int 阅读全文
posted @ 2024-05-10 19:10 sapo1o 阅读(3) 评论(0) 推荐(0) 编辑
摘要: day 0 把一本通上的指针扫了一遍,睡觉! day 1 9:00入场,在第二个考场。 冲进昌平二中,码了Hello,World!。 9:30发网址,开题 监考老师居然说阅读程序题可以打代码!······ 选择题指针真多啊! 选择+判断半小时写完,还挺快的! 程序题第一题:把一个字符串的其中的一些单 阅读全文
posted @ 2024-04-21 11:28 sapo1o 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 离散数学笔记——集合 集合的概念 集合是由一些确定的元素所组成的整体,其中的元素可以是任何事物 定义:A={a1,a2,a3,...,an} 表示集合的名称,{} 表示集合的符号。 a1, a2, a3, ... an 表示集合中的元素 x ∈ A 表示元素 x 属于集合 A 集合的特点 集合没有重 阅读全文
posted @ 2024-04-21 11:28 sapo1o 阅读(8) 评论(0) 推荐(0) 编辑
摘要: [NOIP2001 普及组] 装箱问题 这是一道动态规划题。 那就先定义状态吧(这里用的是一维滚动数组)。 $f[j]$ 代表当我有 $j$ 这么多容量可以用时,能装的最大重量是多少。 好,状态定义好了再想状态转移方程。 $f[j]$ 可以从哪里转移过来呢? 想一想,当我们循环到第$i$个物品时,我 阅读全文
posted @ 2024-04-21 11:27 sapo1o 阅读(1) 评论(0) 推荐(0) 编辑