首页 > 其他分享 >5.9洛谷收获

5.9洛谷收获

时间:2024-05-09 22:57:57浏览次数:25  
标签:elements 洛谷 int 5.9 element num 收获 array 向量

今天发现了一个有用的容器,那就是向量,用bool类型的向量简直不要太方便,尤其是对于二极管问题,比如B2094
然后用向量模拟栈也比较方便

点击查看代码
#include <iostream>
#include <vector>
using namespace std;

class Stack {
private:
    vector<int> elements;

public:
    // 将元素压入栈顶
    void push(int element) {
        elements.push_back(element);
    }

    // 弹出栈顶元素
    void pop() {
        if (!elements.empty()) {
            elements.pop_back();
        } else {
            cout << "Stack is empty. Cannot pop." << endl;
        }
    }

    // 获取栈顶元素
    int top() {
        if (!elements.empty()) {
            return elements.back();
        } else {
            cout << "Stack is empty. No top element." << endl;
            return -1; // 返回一个默认值
        }
    }

    // 检查栈是否为空
    bool isEmpty() {
        return elements.empty();
    }

    // 获取栈中元素的数量
    int size() {
        return elements.size();
    }
};

int main() {
    Stack myStack;

    // 向栈中压入一些元素
    myStack.push(10);
    myStack.push(20);
    myStack.push(30);

    // 输出栈顶元素
    cout << "Top element: " << myStack.top() << endl;

    // 弹出栈顶元素
    myStack.pop();

    // 输出栈中元素数量
    cout << "Stack size: " << myStack.size() << endl;

    // 检查栈是否为空
    cout << "Is stack empty? " << (myStack.isEmpty() ? "Yes" : "No") << endl;

    return 0;
}

向量:
求和:
1.遍历求和
based-for循环(foreach循环)
语法形式:for(element-declaration:array){balabalabala}
element-declaration是定义的一个新的临时变量,可以是int num这种,然后array是一个数组或者是容器,在循环中,会遍历array中的每一个元素,将array的每一个值赋给num(以element-declaration是int num为例),至于赋给它之后干什么,就需要{}里面的内容了

2.函数求和
库头是#include
累加结果类型(比如说是int)accumulate(迭代器类型 起始位置,迭代器类型 终止位置,初始积累值);
vectornum;
int accumulate(num.begin(),num.end(),0);

标签:elements,洛谷,int,5.9,element,num,收获,array,向量
From: https://www.cnblogs.com/sly-345/p/18183209

相关文章

  • 5.9
    今天继续进行python实验,学习到了python与java在类的定义、继承、多态等方面的异同。Python和Java都是面向对象的编程语言,它们在类的定义、继承、多态等方面有相似之处,但也存在一些显著差异。下面通过具体例子来比较这两种语言在面向对象编程上的异同,并总结Python面向对象编程的......
  • 洛谷 P1031 [NOIP2002 提高组] 均分纸牌 题解
    题目简述有$N$堆纸牌,编号分别为$1,2,\ldots,N$。每堆上有若干张,但纸牌总数必为$N$的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为$1$堆上取的纸牌,只能移到编号为$2$的堆上;在编号为$N$的堆上取的纸牌,只能移到编号为$N-1$的堆上;其他堆上取的纸牌,可......
  • 洛谷 P1012 [NOIP1998 提高组] 拼数 题解
    题目简述设有$n$个正整数$a_1\dotsa_n$,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。题目分析定义设$X$为数字$x$的字符串形式。$A+B$表示字符串$A$和字符串$B$相连组成的字符串。思路既然要构造最优解,显然如果有不优的情况的话,就需要对序列进行......
  • #dp,Dilworth定理#洛谷 4934 礼物
    题目传送门分析首先,可以放在一起当且仅当\(\max\{a_i,a_j\}\&\min\{a_i,a_j\}\neq\min\{a_i,a_j\}\)根据Dilworth定理可知最小链划分中链的数目等于最长反链的长度所以设\(dp[i]\)表示以\(i\)为结尾的反链的最大长度,则\(dp[i]=\max_{j|i}\{dp[j]\}+[a_k==i]\)......
  • 5.9 T2 推式子的过程
    和题解的做法有些不同,不知道为什么,但是能够通过。首先按题解的做法先将式子除以\(z^2\)。令\(\frac{y}{z}=a,\frac{x}{z}=b\)。有:\[\begin{aligned}\frac{x^2}{z^2}-\frac{xy}{z^2}-\frac{y^2}{z^2}+\frac{y}{z}+1-\frac{x}{z}=0\\-a^2-ab+b^2+a+1-b=0\end{aligned}\]题解......
  • 洛谷题单指南-动态规划2-P4310 绝世好题
    原题链接:https://www.luogu.com.cn/problem/P4310题意解读:求最长的子序列长度,使得每相邻两个元素&操作不为0。解题思路:直观来看,可以通过类似最长上升子序列的算法,进行状态转移,但是复杂度为O(n^2),会超时状态表示:dp[i]表示前i个数能产生满足条件的子序列的最长长度状态转移:dp......
  • 闲话 5.9 湖南省集 为了你唱下去
    同步考场上被卡常乐,有点难绷。和题解不太一样,但是比较爆。令\(a=\fracyx,b=\fraczx\),则:\[a,b\in\Q,b^2+(a-1)b+1-a-a^2=0\]这里的想法是解出有理数\(b\)。有:\[\Delta=\sqrt{5a^2+2a-3}\]那么\(\sqrt{5a^2+2a-3}\in\Q\)。设\(a=\fraccd,c,d\in\Z^+,c\botd\),得到:......
  • 洛谷题单指南-动态规划2-P1833 樱花
    原题链接:https://www.luogu.com.cn/problem/P1833题意解读:在有限的时间内,看n株樱花树,第i株樱花树可以看pi次,看每株樱花树耗费时间ti,看每株樱花树一次美学值ci,求最多能看到多少美学值。解题思路:本题实质是一个混合背包问题(pi>0是多重背包,pi=0是完全背包):背包容量:总时间,可以根据......
  • 历史研究(洛谷AT_joisc2014_c 歴史の研究)
    历史研究(洛谷AT_joisc2014_c 歴史の研究)题目描述IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记。JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件。日记中记录了连续N天发生的事件,大约每天发生一件。......
  • VS2017+QT5.9.1 自定义loggerControl
    创建自定义类LoggerControl继承QListWidget#pragmaonce#include<QListWidget>#include"Helper.h"#include<QTime>#include<QPainter>classLoggerControl:publicQListWidget{Q_OBJECTpublic:LoggerControl(QWidget*paren......