摘要:
# P5020 一、分析 看题目不难发现,这道题题意就是用一个尽可能含元素少的集合,把原集合里能拼出的数都拼出来,输出所含元素的数量。 众所周知,没有思路的时候看一眼数据范围,有时就恍然大悟。比如说这道题,\(a[i]\) 最大值才 \(25000\) ,\(n\) 最大也才 \(100\) .呵呵 阅读全文
posted @ 2021-11-14 21:54
Simon_...sun
阅读(53)
评论(0)
推荐(0)
摘要:
# luoguP7893 Solution 根据题意,我们可以推出公式 $\sum\limits_{i=1}^kn×(-p)^i $ 这里的 \(k\) 是使得 \(\frac{n}{(-p)^i}=1\) 的最大 \(i\) 值 这里就不给出详细的证明了,可以参考其他大佬的。 根据此公式,我们可以 阅读全文
posted @ 2021-11-14 21:49
Simon_...sun
阅读(87)
评论(0)
推荐(0)
摘要:
# P1896 分析 首先,题目意思总结,放的位置不相邻并且左移右移后与下一层 \(and\)!\(=1\) 第一步预处理出所有在同一行中不相邻的方案数记为meiju[] 其次定义 \(dp\) 数组,\(f[i][j][k]\) 即在第 \(i\) 行,状态为 \(j\) ,国王数为 \(k\) 阅读全文
posted @ 2021-11-14 21:44
Simon_...sun
阅读(65)
评论(0)
推荐(0)
摘要:
# CF1066C Solution 首先考虑双端队列,但是 \(O(n)\) 的复杂度会超时,干脆接用数组模拟。 过程如下: 定义两个变量 \(L\) 和 \(R\),分别表示左右端点,\(L\) 和 \(R\) 初始化都为最大值。 如果左侧插入左端点向左移一位,右侧插入右端点向右移一位。 定义一 阅读全文
posted @ 2021-11-14 21:37
Simon_...sun
阅读(38)
评论(0)
推荐(0)
摘要:
P1879 Solution 分析 首先把矩阵存在 \(a[i][j]\) 里 然后用一个数组b存每一行i,里的状态,用加法来进计算 用一个 \(meiju\) 数组 枚举出 1-2^n (左开右闭区间)所有满足题意的方案 初始化 \(f[0][0]\) 啥都不种也是一种方案 双重循环,分别枚举行数 阅读全文
posted @ 2021-11-14 21:33
Simon_...sun
阅读(84)
评论(0)
推荐(0)
摘要:
离散化 1、进行离散化的目的 对于一些值域很大,但贡献很小的数组,我们就可以对数组进行离散化来优化空间复杂度。以达到减少空间损耗的目的。 2、离散化基本操作 (1)将待离散化的数据用一个二元组(下标,值)储存在vector中 (2)进行排序,去重操作 (3)遍历每一个元素,用find函数确定其离散化 阅读全文
posted @ 2021-11-14 21:18
Simon_...sun
阅读(218)
评论(0)
推荐(0)

浙公网安备 33010602011771号