摘要:
传送门 题意:给两个序列,从左到右选数,不能选同一个序列连续的两个数,问选的数的最大和。 分析:dp。 每挑选一个数,*存在三种状态*:选上面的1、选下面的2、都不选0。 我们只需维护这三种状态,在这三种状态里挑选最大值。 注意到可以选择的球员编号是严格递增的,因此可以把状态的第一维定义为球员编号, 阅读全文
摘要:
传送门r 题意:给一个数列,选数,选中的数的x+1,x-1要剔除出数列,选中的数求和,求最大和。 分析:此题是一道动态规划题,做法是先存下每个数的个数放在c中,消除一个数i,会获得c[i]*i的值(因为可以消除c[i]次),如果从0的位置开始向右消去,那么,消除数i时,i-1可能选择了消除,也可能没 阅读全文
摘要:
题意:n棵树,可以砍或不砍,可以倒向左或右;问最多可以砍多少棵树; dp:表示第i棵树所占据的最右边的位置。 从左向右循环,不断更新dp值。 #include<cstdio> #include<cstring> #include<string> #include<algorithm> #includ 阅读全文
摘要:
传送门 题目大意:找最长递增子列满足:1.最长 2.递增 3.后一个index能整除前一个index 分析:子列问题,一般两种思路,一个是尺取,一个是dp。 用dp。 先不管本题的第三个条件,我们考虑一般情况,即:求最长递增子列 设dp[i]数组,表示:以s[i]为起始的最长递增子列数目,首先初始化 阅读全文
摘要:
本题 分析: 然后贪心枚举步数n,先满足②式,再满足①式,break就完事 有异曲同工之妙的一个题[codeforces 1260B] (https://codeforces.com/contest/1260/problem/B) 总结:两个题都是先根据题意,用题目的opertions表示出两个数得 阅读全文
摘要:
分析: #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<algorithm> #include<iostream> #define ll long long using namespace st 阅读全文
摘要:
传送 题目大意:给定一个序列 ,在序列中找两个数x,y,使得|x-y|,|x+y| 在数轴中覆盖掉|x|,|y|, 问该序列中有多少对这种数。 方法:尺取法 正负无关,先排序,然后尺取的时候,注意ans加的是尺取出来的子序列的长度 #include<cstdio> #include<cstring> 阅读全文
摘要:
A. Counting Kangaroos is Fun time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output There are n 阅读全文
摘要:
Jessica’s a very lovely girl wooed by lots of boys. Recently she has a problem. The final exam is coming, yet she has spent little time on it. If she 阅读全文
摘要:
Pay attention to the non-standard memory limit in this problem. In order to cut off efficient solutions from inefficient ones in this problem, the tim 阅读全文