A #include<bits/stdc++.h> using namespace std; #define ll long long #define uint unsigned long long #define PII pair<int,int> #define MP make_pair #define fi first…
A #include<bits/stdc++.h> using namespace std; #define ll long long #define uint unsigned long long #define PII pair<int,int> #define MP make_pair #define fi first…
A #include<bits/stdc++.h> using namespace std; #define ll long long #define uint unsigned long long #define PII pair<int,int> #define MP make_pair #define fi first…
真身败名裂了。 A #include<bits/stdc++.h> using namespace std; #define ll long long #define uint unsigned long long #define PII pair<int,int> #define MP make_pair #define …
$\text{Solution}$ 贪心一下,不为了完成任务,我们不会打卡。 容易得出一个 DP。设 $f(i)$ 为最后一次不打卡是在第 $i$ 天时,最高的能量值大小。 转移枚举上一次不打卡的时间 $j$,有 $$f(i)=\max_{j \in [i-k,i-1] } \Big\{f(j) + w(j+1,i-1) \; - \; (i-j-…
A 操作 2 会让奇数-1,偶数+1。 不难发现只有当 $a$ 为奇数时,我们能让 $a$ 减小,且只能减少 $1$。 如果 $a > b$,那么当且仅当 $a \oplus 1 = b$ 有解。 下面讨论 $a < b$ 的情况。 如果 $x \le y$,那么我们全部使用操作 $1$ 即可。 否则我们肯定是两种操作交替使用。 关于第…
A 略。 #include<bits/stdc++.h> using namespace std; #define ll long long #define uint unsigned long long #define PII pair<int,int> #define MP make_pair #define fi fi…
link $\texttt{Solution}$ 较为复杂的计数直接考虑 DP。 区间相关的题目排了序才能做,就是按照左端点还是右端点排的问题。 我们考虑当前区间 $i$,如果要选它,那么我们需要保证与其异色的区间右端点小于 $l_i$。 这个就是后效性的源头,把它加入状态即可。 设 $f_k,0/1$ 为选出的最后一个区间右端点为 $k$,颜色为…
因为时间紧迫所以忽略所有时间复杂度的计算。 luogu2657 [SCOI2009] windy 数 板子。 #include<bits/stdc++.h> using namespace std; #define int long long #define uint unsigned long long #define PII pai…
先放题,有时间再整理。 其实也就那回事,理解了思想之后就没啥特殊性了。 luogu6647 [CCC2019] Tourism 不难发现 $t =\lceil \frac{n}{k} \rceil$,然而并没有什么用,我们只要在转移时对取值区间进行限制即可。 具体地,第 $i$ 天的取值左端点是 $L_i = \max(0,i-k)$,右端点是 $…