摘要: 原题链接 题解 千万要仔细读题呀! 解释一下为什么要和右边的植物来回走来长高: 对于第一个植物,肯定是往右边,对于第二棵植物,左边的植物已经达到高度了,右边可能达到了高度,也可能没有,往右边肯定是更优解 code #define ll long long #include<bits/stdc++.h 阅读全文
posted @ 2024-02-17 21:40 纯粹的 阅读(25) 评论(0) 推荐(0)
摘要: 原题链接 题解,好多细节。。 1.构建st表时的细节 2.数越多,按位与的结果越小,所以对于 \(f(l,i)\) 存在 \(r_{max}\) 使得 \(i>r_{max}\) 时 \(f(l,i)<k\) 小于等于时相反,故具有单调性 但是,在倍增结构上二分你玩原神玩多了? 向右遍历即可,直到 阅读全文
posted @ 2024-02-17 16:45 纯粹的 阅读(48) 评论(0) 推荐(0)
摘要: 原题链接 题解,请看题解区 ————能不能利用已经算过的值来减少后续计算量呢? 如果你too long on line 2:n为一的时候只输出零 code #include<bits/stdc++.h> using namespace std; int a[5005]={0}; int f[5005 阅读全文
posted @ 2024-02-17 15:15 纯粹的 阅读(140) 评论(0) 推荐(0)
摘要: 原题链接 太妙了,请移步题解区,有用数学归纳法做的,也有用找规律做的 L型积木一定是成对出现的 code #include<bits/stdc++.h> using namespace std; const int mod=1e9+7; long long dp[10000005]={0}; int 阅读全文
posted @ 2024-02-17 14:26 纯粹的 阅读(150) 评论(0) 推荐(0)
摘要: 原题链接 题解请移步题解区,相当详细 code #include<bits/stdc++.h> using namespace std; #define ll long long inline void read(ll &x) { x = 0; ll flag = 1; char c = getch 阅读全文
posted @ 2024-02-17 01:11 纯粹的 阅读(20) 评论(0) 推荐(0)