
cf
Togt
这个作者很懒,什么都没留下…
展开
-
Avito Code Challenge 2018 D
传送 题意:给你一串数字,叫你给它划分为k段,对每段求和,求每段相&的最大值。 题解:dp[i][j]作为一个标记,1表示前j个数划分成i段满足当前要求(即当前位可为1)。 #include<bits/stdc++.h> #define ll long long using namespace std; bool dp[55][55]; int n,k; int ma...原创 2018-05-28 15:01:51 · 323 阅读 · 0 评论 -
Educational Codeforces Round 44 (Rated for Div. 2)E
传送 题目大意:给定一个序列,要你把这个序列任意地分成若干个集合,如果有满足以下两个条件的集合就输出YES,否则NO,1)任意一个集合不少于k个元素,2)任意一个集合中任意两个数的差绝对值不超过d 题解:先排个序再dp,dp[i]=1表示第i个数(不包括第i个数)之前的所有数满足上述条件,反之不满足。 转移方程:dp[i]=1,(若dp[j]=1且,x<=j<=i-k+1,x为序...原创 2018-05-24 17:16:59 · 154 阅读 · 0 评论 -
Codeforces Round #486 (Div. 3) D
传送 题意:给你2∗1052∗1052*10^5个数,要你找出最大的一个子集,每两个数差的绝对值是2的指数幂。 题解:思维,在思维,排序,以第一个数a为基准,考虑一下与a的差为2的指数幂的数小于32个,再考虑一下这32个数中两两都要为2的指数幂时的最大个数时,似乎有点复杂,再想想,|2x−2y||2x−2y||2^x-2^y|要等于2的幂,似乎只有|x-y|=2的时候能满足,其实确实就是如此。...原创 2018-06-02 01:04:23 · 1085 阅读 · 0 评论 -
Codeforces Round #486 (Div. 3) C
传送 题意:找出两个序列,各删除一个数后序列和相等,问删除哪两个序列的哪两个数 题解:预处理出删除每个数后的序列和,set存一下。 #include<bits/stdc++.h> using namespace std; int k,a,sum[200005]; vector<int> b[200005]; set<pair<int ,int> ...原创 2018-06-02 01:09:38 · 435 阅读 · 0 评论