黄姓dalao is coming!

一、栈:

基本常识略。

例题:铁轨

模拟,O(n),

Usaco2006 Nov

题目略

做法:单调栈(续命栈?)

n//数量
a[]//奶牛
for(int i=1 to n)
{
for(;a[i]>a[stack[top]]&⊤top--);//把所有比他小的元素删掉
c[i]=i-stack[top]-1;//这个数和栈顶的数距离
ans+=c[i];//加答案
stack[++top]=i;
}

JSOI2008 最大数

m 操作数
n 数列长度
a[]
while(m--)
{
if(t==1)//加入操作
{
a[++n]=x;
for(;a[n]>=stack[top]&⊤top--);
stack[++top]=n;
}
else//询问操作
{
s=n-x;
printf("%d\n",a[stack[upper_bound(stack+1,stack+top+1,s)=stack]]);
}
}

二、队列

常识略

插入删除O(1) 空间复杂度O(n)

滑动的窗户

修剪草坪

三、链表

插入、删除O1 查询On

乱发节那道题(NOIP不怎么考链表啊)

n

a[]

bool cmp(int x,int y){return a[x]==a[y]?x>y:a[x]<a[y];}

for(i=1;i<=n;i++)

{

left[i]=i-1;

right[i]=i+1;

b[i]=i;

sort(b+1,b+n+1,cmp);

for(i=1;i<=n;i++)

{

c[i]=left[b[i]];

right[left[b[i]]]=left[b[i]];

left[right[b[i]]]=right[b[i]];

}

四、并炸鸡(并查集)

略,题目:

洛谷P1621 集合

枚举>=p的所有在[A,B]中的倍数,合并。复杂度O(nlog2n*n的反阿克曼)

洛谷P2170 玄学霸——南小鸟(选学霸)

洛谷P1197 JSOI2008 星球大战

先算出来炸完之后剩余的,然后倒过来做。

洛谷P2024 食物链 加权并查集

0 同一物种 1 吃 2 被吃

五、堆

堆为一颗二叉树,满足以下两个性质

五.1、二叉堆

二叉堆是一颗完全二叉树 插入 删除 求最小值

用数组表示 节点n儿子 2n 2n+1

插入节点:放在末尾 向上更新

删除节点:把最后一节点放到要删除的地儿向下更新

还有一道是usaco的

还有一道bzoj2151 种树:

帝都Day4(2)——数据结构的更多相关文章

  1. 帝都Day4(3)——还是数据结构

    可并堆 左偏树中 dist[x]=dist[rs[x]]+1 合并的时候,把权志较大的根作为根节点,把这棵树右子树和另一棵树合并. 说明白点:(上图描述有点问题) 设x表示根权值较大的左偏树,y表示根 ...

  2. 帝都Day4(1)——还是dp

    其实是day4 一.洛谷P1018 乘积最大 f[i][j]表示前i个数 切成j块 用f[i][j]而不用f[i][j][k](i到j切成k块)呢? Luogu1043 前缀和(好算一段里的数的和)+ ...

  3. 帝都Day5——依旧是数据结构

    /*Day1.Day2我尽量整理吧*/ 树状数组 树状数组滋瓷单点修改和前缀查询 加特技可以使得树状数组支持更多操作. c[2n+1]=a[2n+1](奇数就是它本身) c[2n]≠a[2n](偶数不 ...

  4. ZROI 暑期高端峰会 A班 Day4 树上数据结构

    FBI Warning:本文含有大量人类的本质之一. 你经历过绝望吗? [ZJOI2007]捉迷藏 询问树上最远黑点对. 动态边分治可以比点分治少一个 \(\log\). bzoj3730 咕了. [ ...

  5. ZROI 暑期高端峰会2019 总结

    FBI Warning:以下博客含有 FBI Warning 的都是包含大量人类本质之一的. 前几天听课: Day1 组合计数 Day1 序列数据结构 Day2 线性代数 Day3 图论 Day3 字 ...

  6. 学习数据结构Day4

    链表 之前看过了动态数组,栈和队列,虽然我们把第一个叫做动态数组,但是,他们的底层实质上还是静态数组.靠 resize来实现动态数组.而链表是真正的数据结构 链表需要一个节点. 数据存储在链表中 相当 ...

  7. day4:数据结构list

    1,一直输入用户名,输入Q退出,注意用户的输入别忘了加strip,和upper不区分大小写,list最后一位添加append li = [] while 1: name = input("& ...

  8. 数据结构之链表C语言实现以及使用场景分析

    牢骚:本篇博客两个星期前已经存为草稿,鉴于发生一些糟糕的事情,今天才基本完成.本人6月份应届毕业生一枚,毕业后当天来到帝都,之后也非常顺利,面试了俩家公司都成功了.一家做C++方面电商ERP,一家做w ...

  9. Spark菜鸟学习营Day4 单元测试程序的编写

    Spark菜鸟学习营Day4 单元测试程序的编写 Spark相比于传统代码是比较难以调试的,单元测试的编写是非常必要的. Step0:需求分析 在测试案例编写前,需完成需求分析工作,明确程序所有的输入 ...

随机推荐

  1. Log4j_学习_00_资源帖

    一.log4j2 1. log4j使用教程详解(怎么使用log4j2) 2.Log4j2的基本使用 二.log4j 1.[转]最详细的Log4J使用教程 2.最详细的Log4j使用教程 3.log4j ...

  2. Java企业微信开发_03_自定义菜单

    一.本节要点 1.菜单相关实体类的封装 参考官方文档中的请求包的内容,对菜单相关实体类进行封装. 这里需要格外注意的是,企业微信中请求包的数据是Json字符串格式的,而不是xml格式.关于json序列 ...

  3. 了解fiddler:实现简单的抓包测试

    fiddler是一款轻型的抓包软件 本文介绍几个常用的功能:(相信图片更直观点,上图片,右键在新标签页中打开,查看高清大图) 通过composer,我们可以修改http头部信息,修改post(),ge ...

  4. [转]HTTP头的Expires与Cache-control

    1.概念 Cache-control用于控制HTTP缓存(在HTTP/1.0中可能部分没实现,仅仅实现了Pragma: no-cache) 数据包中的格式: Cache-Control: cache- ...

  5. BZOJ2809:[APIO2012]dispatching

    浅谈左偏树:https://www.cnblogs.com/AKMer/p/10246635.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php? ...

  6. 用遗传算法解决TSP问题

    浅谈遗传算法:https://www.cnblogs.com/AKMer/p/9479890.html Description \(小m\)在踏上寻找\(小o\)的路程之后不小心碰到了大魔王\(fat ...

  7. Poj 1316 Self Numbers(水题)

    一.Description In 1949 the Indian mathematician D.R. Kaprekar discovered a class of numbers called se ...

  8. bzoj4545

    lct+SAM bzoj4516+bzoj2555 这道题唯一的用处就是教会了我真正的广义SAM dfs时保留当前节点在后缀自动机中的位置,每个点接着父亲建 lct动态维护right集合大小,用lct ...

  9. js检测对象属性

    In:(检测自身及原型属性) var o={x:1}; "x" in o; //true,自有属性存在 "y" in o; //false "toSt ...

  10. Python-实现socket简单地连续发数据

    只需用while条件判断来实现 服务器端 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import socket serv ...