模拟赛P1042简单自信题
题目大意 有 $ n $  个箱子和 $ m $ 个小球,初始时第  $ i $ 个箱子有 $ a_i $​ 个小球。每次操作可以将一个小球移到相邻的箱子里。求要使得最终数组 $ a_i \ge a_{i+1} $的最小操作次数。 解题思路 设$ dp_{i,j,k} $ 为前 $ i $ 个箱子里…
CF1675G
题目大意 有 $ n $ 个箱子和 $ m $ 个小球,初始时第 $ i $ 个箱子有 $ a_i $ 个小球。每次操作可以将一个小球移到相邻的箱子里。求要使得最终数组 $ a_i \ge a_{i+1} $ 的最小操作次数 $ a_i $ 大于 $ 0 $ 。 解题思路 看完题解后发现是 dp 。…
CF1672A
题目大意 errorgorn与maomao90再进行一场比赛。有 $ n $ 段木头,每段长度为 $ a_i $ 。每个人可以将长度为 $ x $ 木头分为两段长度为 $ y $ 与 $ z $ 的木头, $ x \ y \ z $ 为正整数,且 $ x = y + z $ 。如果轮到一个人时,没有…
模拟赛 序列
解题思路 显然,如果将$a_i$变为序列以外的数,相比于变为序列中的数而言,代价一定是较大的。所以说一定是将$a_i$变为序列内的其他数。 显然,对于每一个$a_i$,只有第一次出现的$a_i$会对数组$c$产生影响。如果将第一次出现的$a_i$改为其他值,那么对于数值为$a_i$的数,只有在下一次…
[PA2015]Siano
原题链接 思路过程 根据题意,可以很简单的想出一种暴力,在每一次询问时,都$O(n)$的扫一遍后的出答案。 显然,这样的暴力是超时的,但是我们通过这暴力可以想出一定的优化,显然,每亩草的顺序是不影响解题的,所以我们可以先将草的高度进行排序,使之具有单调性(在下面默认排为单调递增)。接下来在遍历时如果…
CF1665A
题意 给定一个正整数 $ n $ ,求一组正整数 $ a $ , $ b $ , $ c $ , $ d $ ,使得 $ a + b + c + d = n $ ,并且 $ \gcd ( a , b ) = \ \operatorname{lcm} ( c , d ) $ 。 题目思路 读完题目之后…
CF1658B
题意 给定整数 $ n $ ,求存在多少个 $ 1 $ 到 $ n $的排列 $ A $ ,使 $ \gcd ( 1 \times A_1 , 2 \times A_2 , … n \times A_n ) $ 题目思路 显然,这是一道数学题,但是不会想正解也不怕(主要是我不会推正解),这种只输入一…
CF1658A题解
题目大意 好看串的定义:在长度至少为 $2$ 的子串中, $0$ 的个数要小于等于 $1$ 的个数。 在一串 $01$ 串中你可以在任意位置任意插入 $1$ 或 $0$ 来使得这个串成为好看串,请输出最小的插入数的个数。 解题思路 稍加模拟即可发现,当遇到连续 $2$ 个 $0$ 时,在这 $2$ …
代码源每日一题Div1打卡
101 二分答案 思路如题 #include <iostream> #include <stdio.h> #include <algorithm> using namespace std; const int N=1e5+10; int n; long long k,minn,ma…
马拉车算法(manachar)
manachar (马拉车算法) 回文: 回文的定义十分简单,判断回文串的方法也很简单。对于一个字符串,只需要从他的最中心向两边扩展就足够了,可以将它称之为中心扩展法,我们的马拉车算法也是从中心扩展法扩展而来。 马拉车算法的运用之处: 对于一个字符串,询问它的字串中长度最大的回文串的长度。 显然,我…