1829
codeforces 1829G. Hits Different 容斥原理+记忆化搜索
题目描述: 给定一个n,把n给打倒,然后递归的求出包含n在内的上面所有的会倒下的瓶子值的平方和。 这里使用二分先求出目前给定的n的行号i和列号j。观察可以发现,对于所有的列号j,j=1或者j=i时,是需要考虑往上单边的总和,其他情况都有两个分支。 再观察可以发现,两个分支在再上一行的重合部分,会被d ......
【DP】CF1829G Hits Different 题解
CF1829G 先将整个塔变为一个直角三角形的模样。这时就可以很好的用数组表示了,这时发现答案就是一个倒着的等腰直角三角形的和(不考虑边界)。 考虑预处理。 令 \(a_i\) 为点 \(i\) 所在的行数,\(f_i\) 表示 \(i\) 号点的答案,\(g_i\) 表示 \(i\) 和 它正上方 ......
CF1829H Don't Blame Me
[比赛链接](https://codeforces.com/problemset/problem/1829/H) # 题解 **知识点:线性dp,位运算。** 考虑设 $f_{i,j}$ 表示考虑了前 $i$ 个数字,与和为 $j$ 的方案数。转移方程显然。 注意初值为 $f_{0,63} = 1$ ......
codeforces#1829H.Don't Blame Me(dp)
题解 ``` #include #define io ios::sync_with_stdio(false); #define off cin.tie(0), cout.tie(0); #define all(x) x.begin(),x.end() #define inf 0x3f3f3f3f3f ......
CF1829B 题解
题目思路 先定义变量 $t,ans$。 循环从 $0$ 到 $n-1$,对于第 $i$ 个数,如果为 $0$,$t=t+1$,否则将 $t$ 清零。每次循环 $ans=\max(ans,t)$ 表示最多有多少个连续的 $0$。 最后输出 $ans$ 即可。 核心代码 点击查看代码 void solv ......
CF1829G Hits Different
题目地址 题意:有这样一个塔,初始全为蓝色,第i位上的数为i2,丢球丢中第k位时,将使得第k位和他头顶的数 以及 头顶的数的头顶的数 以及...都变成红色,求红色数的和 Solution dp转移,我们把斜着向右下的所有数转移在一起,然后从第k位数开始往右上走,答案就是所有的和 void init( ......