刷题
文章平均质量分 81
Rhyems
这个作者很懒,什么都没留下…
展开
-
单调队列优化Dp例题
思路:如果题目是,每 kkk 个数中就必须选择一个,选择的总数固定,那么可以写出状态转移方程:令 f[i]f[i]f[i] 第 iii 个元素时,选择到的最大值:f[i]=max(f[t])+a[i]f[i] = max(f[t]) + a[i]f[i]=max(f[t])+a[i] 其中 (i−k...原创 2022-06-07 10:46:46 · 200 阅读 · 1 评论 -
P3147 [USACO16OPEN]262144 P
题目链接题目描述:# [USACO16OPEN]262144 P题目描述Bessie likes downloading games to play on her cell phone, even though she doesfind the small touch screen rather cumbersome to use with her large hooves.She is particularly intrigued by the current game she is playi原创 2022-05-26 14:10:00 · 225 阅读 · 0 评论 -
I. Steadily Growing Steam
I. Steadily Growing Steam思路:滚动数组优化的背包问题,维护一下差值,把数组的负数平移到正数来#include <bits/stdc++.h>using namespace std;using ll = long long;typedef pair<int, int> PII;const int N = 110;ll f[2][N][6010]; // 第 i 个物品 施法 j 次 差值为 k 得到的最大值ll v[N];int t[N];原创 2022-03-19 11:05:07 · 353 阅读 · 0 评论 -
Codeforces Round #774 (Div. 2)
A. Square Counting#include <bits/stdc++.h>using namespace std;using ll = long long;typedef pair<int, int> PII;void solve() { ll n, s; cin >> n >> s; cout << s / (n * n) << '\n';}int main() { ios:原创 2022-03-08 20:31:21 · 362 阅读 · 0 评论 -
AtCoder Beginner Contest 222
D - Between Two Arrays 题目概述:给定两个单调不下降的序列 aia_iai 和 bib_ibi, 求 一个单调不下降的序列 cic_ici 的个数, 满足 ai≤ci≤bia_i \le c_i \le b_iai≤ci≤bi思路:设置状态 f[i][j]f[i][j]f[i][j] 表示 cic_ici 的第 iii 位数,并且当前最后一位不超过 jjj 的序列 cic_ici 的数量状态转移:选择第 iii 位为上一位的最大数字,但是要保证这个数是小于等原创 2022-03-07 23:05:46 · 319 阅读 · 0 评论 -
AtCoder Beginner Contest 238
F - Two Exams题目概述:有 nnn 个公民,现在对这 nnn 个公民分别进行了两次排名,每个城市获得的排名分别为 PiP_iPi 和 QiQ_iQi,现在要在这 nnn 个公民中选出 KKK 个城市,并且给出以下约束:当选择 xxx 而不选择城市 yyy 时,一定不能有 Px>PyP_x > P_yPx>Py 且 Qx>QyQ_x > Q_yQx>Qy思路:上述条件是说,如果市民 XXX 的两次排名都比市民 YYY 要靠前,那么我们原创 2022-03-04 18:17:38 · 84 阅读 · 0 评论 -
F - Construct Highway
F - Construct Highway 题目:给定一张 N 个点 M 条边的图,要求补上剩下的 (N−1−M)(N - 1 - M)(N−1−M) 条边,使其每个点的度数满足题目所给定的 did_idi,输出可行方案,如无可行方案,则输出 −1-1−1思路:一共有 NNN 个点 (N−1)(N - 1)(N−1) 条边,说明该图无环,所以所有点度的总和一定为 2∗(n−1)2 * (n - 1)2∗(n−1) 否则无解。显然,对于个剩余度大于 111 的点,连接一个度恰好为 111 的点一定原创 2022-03-03 16:57:16 · 232 阅读 · 0 评论 -
【洛谷题单】区间与环形动态规划
P1220 关路灯思路:令 f[i][j]f[i][j]f[i][j] 表示区间 [i[i[i ~ j]j]j] 内的灯已经被打开时所耗费的最小功率。那么在更新这个区间时,由于可以折返去关闭另头的灯,当前状态无法表示折返这一操作,所以应当对其分类讨论。老王在位置 [i+1][i + 1][i+1] 关闭了位置 [i][i][i] 的灯老王在位置 [j][j][j] 关闭了位置 [i][i][i] 的灯老王在位置 [j−1][j - 1][j−1] 关闭了位置为 [j][j][j] 的灯老王在位原创 2022-02-02 23:42:58 · 600 阅读 · 0 评论 -
codeforces 1000~2000
D. Palindromes Coloring题目概述:给定一个字符串,需要找到 kkk 个长度相同的回文子串,其中 一个字串中的字符可以交换位置,求每个字串长度的最大值。思路:因为字串中的字符可以交换位置,只需考虑回文串的组成即可。如果含有偶数个相同的字符,则一定可以组成一个回文串,将偶数个的字符组成 kkk 个回文串之后,统计剩余字符的数量,看剩下的字符是否可以添加到每一个字符串的中间,如果可以则长度可以 + 1。(注意剩余的字符应该是由两部分组成, 1.非偶数个字符 2.分成 k 份后剩下原创 2022-01-25 17:51:43 · 488 阅读 · 0 评论 -
Codeforces Round #757 (Div. 2)
A. Divan and a Store题目概述:KKK 元,买价值在 [l,r][l,r][l,r]之间的物品,最多买几个。思路:从小到大排序后挨着买就好代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int, int> PII;const int N = 110;ll a[N];ll n, l, r, k;ll cnt;int main(原创 2021-12-06 17:09:47 · 202 阅读 · 0 评论 -
Educational Codeforces Round 118 (Rated for Div. 2)
E. Crazy Robot题目概述:LLL 是需要到达的地方 ‘...’ 是 可走的, ‘#’ 是不可走的,现在给机器人下达命令,机器人会按照不是命令所指的方向前进,问哪些点在我们下达命令后机器人可以被 ‘赶’ 到 LLL。思路:要使得下达命令后机器人会到达实验室,这个格子到 LLL 的路径上的每一个格子都应当满足:有一个方向是可以前往 LLL 的除了上面的方向至多再可以有一个方向可以走。所以我们考虑从 LLL 出发,寻找一条满足出度 ≤1\le 1≤1 的路径。先预处理出所有点的出度原创 2021-12-02 14:13:16 · 287 阅读 · 0 评论 -
刷题计划——树上问题
A. Parsa’s Humongous Tree题目概述:一颗树,树的每个节点可以取 [a,b][a,b][a,b] 之间的值, 对每个节点取值后,求相连的节点的差的绝对值总和的最大值。思路:对于每个点,不用取中间值,只需取左右端点值就可得到最后答案,这是因为如果对于该点左边的点做差后少了 kkk ,在与后面的点做差时必然会多 kkk.接下来只需树形Dp做一下 f(i,0)f(i, 0)f(i,0) 表示 点 iii 取左端点, f(i,1)f(i, 1)f(i,1) 表示点 jjj 取右端原创 2021-11-25 17:55:44 · 108 阅读 · 0 评论 -
刷题计划-图论
刷题计划1 ——洛谷题单-省选图论P3758 [TJOI2017]可乐题目描述:给一个无向无环图,nnn 个点(1−n)(1 - n)(1−n) mmm 条边, 总时间为 ttt,一个机器人从点 111 出发, 三种行为: 停在原地,去下一个相邻的城市,自爆。 问经过了 ttt 秒,机器人的行为方案数是多少 ???数据范围1<t≤1061<t≤10^61<t≤106 1≤N≤301 \leq N \leq301≤N≤300<M<1000<M<1000&l原创 2021-11-05 20:08:53 · 206 阅读 · 1 评论