首页 > TAG信息列表 > sta2

入门级题解:剑指 Offer 09. 用两个栈实现队列

题目 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 读题 队列:先入先出 栈:先入后出 在队列尾部插入整数和在队列头部删除整数的功能

剑指 Offer 09. 用两个栈实现队列 +java中栈和队列的使用

剑指 Offer 09. 用两个栈实现队列 题目链接 class CQueue { private Stack<Integer> sta1; private Stack<Integer> sta2; public CQueue() { sta1 = new Stack<>(); sta2 = new Stack<>(); } public void appendTail(int val

[NOI2015]寿司晚宴

题面 https://www.luogu.org/problemnew/show/P2150 题解 这道题没什么高深的知识点, 但仍然是一道极好的题. 先从部分分开始分析. 30分做法 $ n\leq30$ 可以想到一个裸的状压DP, 记录 Dp至第几位<阶段> 小G选数集合 小W选数集合<对之后状态的影响> 但是这样会有\(30*2^{60}\)

2019牛客暑期多校训练营(第七场)H. Pair(数位DP)

链接:https://ac.nowcoder.com/acm/contest/887/H来源:牛客网 题目描述: 给定A, B, C, 需要求有多少个pair<x,y> 满足(1<x<=A并且1<y<=B) • x & y > C or x ^ y < C   解题思路:假设状态dp【pos】【sta1】【sta2】【lim1】【lim2】为,在二进制下,长度为pos的时候,第一个条件为sta1,第二个

相似字串:后缀数组(wzz模板理解),单调栈

因为涉及到对模板的理解,所以就着代码看会好一些。 让那些坚决不颓代码的人受委屈了。 我是对着wzz的板子默写的,可能不完全一样啊。 还有代码注释里都是我个人的理解,不保证正确,但欢迎指正。 可以有选择的浏览,单调栈的那个非模板部分可以不看,自己想。 因为写的稍微有点详细所以在网页