前缀和
QD演绎阿
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #750 (Div. 2) E. Pchelyonok and Segments
链接首先将整个数组逆置dp[i][j] 表示前i个数能产生长度 j 结尾的片段的最大和 , 只有结尾段尽可能地大 , 才能更好地保证后续拼接的片段相对前面的片段降序 。 dp[i-1][j]到dp[i][j]产生不超过500种新的状态。用dp[i][j] = 0 表示所有不合法状态。code:#include <bits/stdc++.h>#define int long longusing namespace std ;//数组逆置得到新数组//dp[i][j] 表示从i的前缀原创 2021-10-25 20:24:27 · 261 阅读 · 6 评论 -
Codeforces Round #745 (Div. 1) A. Portal
原题链接二维前缀和+枚举优化。原题链接提前预处理出前缀和,并将当前前缀优化为比当前前缀更靠右的更优前缀。这样先枚举U,D,枚举L的同时,对应已经根据预处理那里获得了,即取L右侧距离L足够的最优前缀。再利用前缀和a - 前缀和b获得当前ans,不断更新答案//提前预处理出前缀和,并将当前前缀优化为比当前前缀更靠右的更优前缀。//这样先枚举U,D,枚举L的同时,对应已经根据预处理那里获得了,即取L右侧距离L足够的最优前缀。再利用前缀和a - 前缀和b获得当前ans,不断更新答案#include原创 2021-10-20 20:48:45 · 160 阅读 · 0 评论 -
2021CCPC网络赛 Monopoly
s[j]表示前缀和,S = s[n]若S为负数,对所有输入数据取相反数,从而使得S为正。(若存在重复前缀,仅保留靠左的)这样只需要找到与x同余的前缀中最大的那个数,同时保证sj <= x!!!数组判越界,输出看long long!!!数组判越界,输出看long long!!!数组判越界,输出看long longcode:#include <bits/stdc++.h>#define int long longusing namespace std;const int..原创 2021-10-12 23:05:55 · 178 阅读 · 0 评论 -
2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛 Command Sequence
离散化 + 前缀和用long long的低位和高位分别表示(x ,y)。#include <bits/stdc++.h>#define int long longusing namespace std;const int N = 1e5 + 10 ;int x , y ;int t , n ;char s[100005] ;unordered_map<int,int>ex1;signed main(){ //freopen("in","r",st.原创 2021-08-29 17:41:26 · 253 阅读 · 0 评论