摘要: 题目传送门 解题思路: 其实思路没那么难,就是题面不好理解,解释一下题面吧. 就是在下面的字符串中找一个子串,使其以某种方式被分解后,每部分都是上面所给集合中的元素. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 阅读全文
posted @ 2020-02-10 23:38 Mr^Simon 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i][j]表示当前在第i个时间用了j此移动了,a[i][j]表示第i个时间j号树的苹果下落数. 如果移动了单数次,则在2号树,否则在1号树. 对于每个状态,我可以在上一个时间从另一棵树过来,也可以是我没动. AC代码: 1 #include<iostream> 2 #in 阅读全文
posted @ 2020-02-10 23:22 Mr^Simon 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 跑背包,求每个体力可以搞的体积,然后就没了. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int n,c,v,w[10001],a[10001],f[10001]; 7 阅读全文
posted @ 2020-02-10 23:14 Mr^Simon 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 二维前缀和. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int n,m,c,g[1001][1001],ansi = 1,ansj = 1; 7 long long a 阅读全文
posted @ 2020-02-10 23:12 Mr^Simon 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 将红色的设置为-1,绿色的为1,统计前缀和sum,如果sum[i] == sum[j],则说明i~j是一个稳定的区间 因为答案要求最大,所以我们要记录每个sum值的最左端点(也就是哪个位置第一次出现某个sum值) 每当遇到某个sum值,便利用最左端点求出区间长度,更新答案 吐 阅读全文
posted @ 2020-02-10 23:05 Mr^Simon 阅读(145) 评论(0) 推荐(0) 编辑