摘要: http://poj.org/problem?id=2796 题意:给出一个序列,求出一个子序列,使得这个序列中的最小值乘以这个序列的和的值最大。 解法:单调递增栈:每一个元素进栈前将元素剔除的过程是该元素在向左扩展,每一个元素在站内被某一元素剔除的过程为该元素的右扩展。 //#include<bi 阅读全文
posted @ 2020-02-12 19:06 无名菜鸟1 阅读(571) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1506 题意:给出连续的一组宽度为1,高为a[i]的长方形 , 问整个图所能构成的面积最大的长方形。 解法:单调递增栈记录以每一个值为最小值的两边扩展的最大值。比较以每一个值为最小值组成长方形面积的最大值。 //# 阅读全文
posted @ 2020-02-12 18:05 无名菜鸟1 阅读(151) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/wcxyky/article/details/97617893?utm_source=app 1.给定一组数,针对每个数,寻找它和它左边第一个比它小的数之间有多少个数。 2.给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列的长度最大。 3.给定一 阅读全文
posted @ 2020-02-12 17:46 无名菜鸟1 阅读(194) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/Harley-Quinn/p/7513052.html 题意:给一组数n,求区间异或和为0且任意区间不交的数量 解法:贪心两区间都为0选右边界小的区间,会使得答案更优 #include <iostream> #include <vector> #inc 阅读全文
posted @ 2020-02-12 01:02 无名菜鸟1 阅读(384) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/3005/D 题意:给出一组数n,问有多少区间异或和为0.解法:如果[l,r]是合法的子段,说明前缀和中xorsum[r]^xorsum[l-1] = 0, xorsum[l-1] = xorsum[r]。求出异或前缀和,然后使 阅读全文
posted @ 2020-02-12 00:56 无名菜鸟1 阅读(854) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/3005/C 题意:求长度为k的连续子段乘积。 解法1逆元:前缀乘积(不含0),记录前缀0的个数,并求不含0的长度为k的连续子段乘积中取最大的。 注意0没有逆元,所以在考虑递推方法时0要特殊处理。 #include <bits/ 阅读全文
posted @ 2020-02-12 00:12 无名菜鸟1 阅读(236) 评论(0) 推荐(0) 编辑