蛋糕分层
【题目描述】 蛋糕店刚好有对应上、中、下三层的三类蛋糕,大家知道多层蛋糕一般都是上层最小,中层其次,下层最大,不然蛋糕就不漂亮了。在知道每一种蛋糕的体积的前提下有多少符合条件的方案。 【思路分析】 【不好的个人感觉】 看到这道题,就感觉是动态规划,题目不是说蛋糕层数的要求吗?可以从下往上的推,个人的第二个感觉是一道搜索题,然后就这么打着,样例过的,手推的数据也过的。没想到就QAQ了。 【暴力出奇迹 】 爆0之后,试了一下暴力,把每一种情况都考虑一遍,选最优值,这样时间复杂度是O(n^2)的。至少还有点分(虽然我没提交,但我知道啊)。个人感觉就是不对。emm,我想复杂了。 【计数】 其实计数就是暴力的优化,读入把数字存入下标(万幸没有负数,哈哈)。数据卡的刚刚好。然后与暴力一样,不停地从上往下(只希望不要挂了),找最优值。啊,果然对了(AC)。这相当于是正解了吧。 先附上代码:(此代码,不要copy谢谢) #include<bits/stdc++.h> // 万能头 using namespace std; // 空间定义 long long n,m,k,x,a[3939],b[3939],c[3939],maxn1,maxn2,maxn3,ans,a1[514514];//定义变量 int main() { //开始疯狂的操作 cin>>n>>m>>k; // 读入这些值 for