随笔分类 - AcWing基础课
AcWing中出现的知识总结、题解等
摘要:状态压缩动态规划(简称状压)是另一类非常典型的动态规划,通常使用在问题的小规模求解中,虽然是指数级别的复杂度,但速度比搜索快,其思想非常值得借鉴。 一、位运算相关知识 为了更好的理解状压,首先介绍位运算相关的知识。 &符号,,会将两个十进制数在二进制下进行与运算,然
阅读全文
摘要:## . 蒙德里安的梦想 一、题目描述 求把 的棋盘分割成若干个 的长方形,有多少种方案。 例如当 时,共有 种方案。当 时,共有 种方案。 如下图所示: 输入格式 输入包含多组测试用例。 每组
阅读全文
摘要:## . 货仓选址 一、题目描述 在一条数轴上有 家商店,它们的坐标分别为 。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得 货仓到每家商店的距离之和最小。 输入格式 第一行输
阅读全文
摘要:## . 排队打水 一、题目描述 有 个人排队到 个水龙头处打水,第 个人装满水桶所需的时间是 ,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小? 输入格式 第一行包含整数 。 第二行包含 个整数,其中第 个
阅读全文
摘要:题目传送门 一、知识点总结 1、 如何控制不断的输入,最终以输入为结束标识? while(cin>>n && n){ } 2、 如何反转一个字符串? reverse(s[i].begin(),s[i].end()); 3、 如何在两层循环中退出外层循环? 使用一个型变量,标识为$t
阅读全文
摘要:##[ . 石子合并](https://www.acwing.com/problem/content/description/284/) ### 一、题目描述 设有 堆石子排成一排,其编号为 。 每堆石子有一定的质量,可以用一个整数来描述,现在
阅读全文
摘要:## . 编辑距离 一、题目描述 给定 个长度不超过 的字符串以及 次询问,每次询问给出一个字符串和一个操作次数上限。 对于每次询问,请你求出给定的 个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。 每个对字符串进
阅读全文
摘要:## . 最短编辑距离 一、题目描述 给定两个字符串 和 ,现在要将 经过若干操作变为 ,可进行的操作有: 删除–将字符串 中的某个字符删除。 插入–在字符串 的某个位置插入某个字符。 替换–将字符串 中的某个字符替换为另
阅读全文
摘要: . 最长上升子序列 II 一、题目描述 给定一个长度为 的数列,求数值严格单调递增的子序列的长度最长 是多少。 输入格式 第一行包含整数 。 第二行包含 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 \
阅读全文
摘要:## . 最长上升子序列 一、题目描述 给定一个长度为 的数列,求数值 严格单调递增的子序列 的长度最长是多少。 输入格式 第一行包含整数 。 第二行包含 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 $1≤N≤1000,−
阅读全文
摘要:## . 数字三角形 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输入格式 第一行包含整数 $
阅读全文
摘要:##[ . 拆分-游戏](https://www.acwing.com/problem/content/description/896/) ### 一、题目描述 给定 堆石子,两位玩家轮流操作,每次操作可以取走其中的一堆石子,然后放入两堆 **规模更小**
阅读全文
摘要:## . 集合-游戏 一、题目描述 给定 堆石子以及一个由 个不同正整数构成的数字集合 。 现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 ,最后无法进行操作的人视为失败。 问如果两人都采
阅读全文
摘要:## . 台阶-游戏 一、题目描述 现在,有一个 级台阶的楼梯,每级台阶上都有若干个石子,其中第 级台阶上有 个石子()。 两位玩家轮流操作,每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中(不能不拿)。 已经拿到地面
阅读全文
摘要:## . 游戏 一、题目描述 给定堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问如果两人都采用最优策略,先手是否必胜。 输入格式 第一行包含整数 。 第二行包含 $n
阅读全文