首页 > TAG信息列表 > HDU4283

题解 HDU4283 You Are the One

分析 由于栈复杂的性质,此题不可贪心(数据也有暗示)。 栈有先进后出的性质,因此一个人能第\(k\)位出栈,当且仅当有\(k-1\)个人比ta后进栈。 据此性质,考虑依次给每个人确定位置,自然想出每次枚举区间左端点对应人的位置以转移的区间dp。 代码 #include <bits/stdc++.h> #define rei regi

HDU4283:You Are the One

Pre 准备 \(PPT\) 的时候遇到的有一点神奇的题目。 直接看题解,不然 \(PPT\) 做不完。 Solution 考虑 \(dp[i][j]\) 表示区间 \([i,j]\) 的答案,难在设计方程。 可以考虑第 \(i\) 个人什么时候出栈,假设为 \(k\) ,那么一定是它之后连着的 \(k\) 个人出栈,不能有后面的,否则不合法。 如果

hdu4283——经典区间dp

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4283   都知道cry非常喜欢和小姐姐一起"玩耍",每个小姐姐他都要花一定的时间和她们玩耍,但是玩耍时要到隐蔽的地方去,因此他每次只能选择一个小姐姐,而让其他小姐姐耐心等待。 这一天他约了一大堆的小姐姐数了数竟然有n个漂亮

HDU4283(区间dp)

题目大意:一些屌丝排队进场,第k个进场的人后又k-1*a[i]的愤怒值,为了得到最小的愤怒值,可以利用一个栈来调整顺序,第i个人进栈可以让第i+1个人先行入场,对于栈里的元素必须是后进先出,问如何合理利用栈来以得到最小的愤怒值。解题思路:我们用dp[i][j]表示区间i~j之中的元素可得到的最小