当前位置: 首页 > stl stl-stl简介-关于stl的教程文章在线阅读

stl-stl简介-stl资料

stl
  • [luoguP1110] [ZJOI2007]报表统计(set暴力)传送门两个multiset一个记录相邻元素的差,一个放所有的元素2个数组val[i]记录第i个的值,last[i]记录第i个最后插入的数的值然后乱搞#include <set>#include <cstdio>#include

  • [BZOJ1604] [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(好题)传送门

    良心题解


    #include <set>
    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #define N 100001
    #define LL long long
    #define INF (~(1 << 31))

    us

  • [BZOJ1576] [Usaco2009 Jan]安全路经Travel(堆优化dijk + (并查集 || 树剖))传送门

    蒟蒻我原本还想着跑两边spfa,发现不行,就gg了。
    首先这道题卡spfa,所以需要用堆优化的dijkstra求出最短路径
    因为题目中说了,保证最短路径有且只有一条,所以可以通过dfs

  • [BZOJ1572] [Usaco2009 Open]工作安排Job(贪心 + 堆)传送门

    把任务按照d排序
    一次加入到堆中,如果当前放不进堆中,并且比堆中最小的大,
    就从堆中弹出一个数,再把当前的数放进去


    #include <queue>
    #include <cstdio>
    #include <

  • [POJ2443]Set Operation(bitset)传送门

    题意:给出n个集合(n<=1000),每个集合中最多有10000个数,每个数的范围为1~10000,给出q次询问(q<=200000),每次给出两个数u,v判断是否有一个集合中同时含有u,v两个数

  • [luoguP2862] [USACO06JAN]把牛Corral the Cows(二分 + 乱搞)传送门

    可以二分边长
    然后另开两个数组,把x从小到大排序,把y从小到大排序
    枚举x,可以得到正方形的长
    枚举y,看看从这个y开始,往上能够到达多少个点,可以用类似队列来搞

    其实发

  • [luoguP2073] 送花(set)传送门

    set


    #include <set>
    #include <cstdio>
    #include <iostream>
    #define LL long long

    using namespace std;

    struct node

    inline bool operator < (const node

  • [luoguP3068] [USACO13JAN]派对邀请函Party Invitations(stl大乱交)传送门

    记录每一个编号在那些组中,可以用vector,这里选择链式前向星。
    每一组用set
    将被邀请的放到queue中


    #include <set>
    #include <queue>
    #include <cstdio>
    #include

  • [luoguP1227] [JSOI2008]完美的对称(sort)传送门

    排序!


    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #define N 20001

    int n;

    struct node
    a[N], b[N];

    inline int read()


    inline bool cmp

  • [luoguP1097] 统计数字(水)传送门

    这么水的题,也只有提高组第一题了吧

    代码

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #define N 200001

    int n, cnt = 1;
    int a[N];

    inline

  • [luoguP2672] 推销员(贪心 + 树状数组 + 优先队列)传送门

    贪心。。。蒟蒻证明不会。。。
    每一次找最大的即可,找出一次最大的,数列会分为左右两边,左边用stl优先队列维护,右边用树状数组维护。。
    (线段树超时了。。。。)

    代码

  • [luoguP1056] 排座椅(sort + 模拟)传送门

    nc题,一直sort就过了

    代码

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #define N 2001
    #define min(x, y) ((x) < (y) ? (x) : (y))

    int n, m

  • [POJ1456]Supermarket(贪心 + 优先队列 || 并查集)传送门

    1.贪心 + 优先队列
    按照时间排序从前往后
    很简单不多说
    ——代码


    1 #include <queue>
    2 #include <cstdio>
    3 #include <iostream>
    4 #include <algorithm>

  • [luoguP2680] 运输计划(lca + 二分 + 差分)传送门

    暴力做法 50 ~ 60
    枚举删边,求最大路径长度的最小值。
    其中最大路径长度运用到了lca

    我们发现,求lca的过程已经不能优化了,那么看看枚举删边的过程能不能优化。
    先把

  • [luoguP2854] [USACO06DEC]牛的过山车Cow Roller Coaster(DP + sort)传送门

    先按照起点 sort 一遍。
    这样每一个点的只由前面的点决定。
    f[i][j] 表示终点为 i,花费 j 的最优解
    状态转移就是一个01背包。

    ——代码


    1 #include <cstdio>

  • [luoguP2949] [USACO09OPEN]工作调度Work Scheduling(贪心 + 优先队列)传送门

    这个题类似于建筑抢修。
    先按照时间排序。
    如果当前时间小于任务截止时间就选,
    否则,看看当前任务价值是否比已选的任务的最小价值大,
    如果是,就替换。
    可以用优先队列

  • [luoguP2983] [USACO10FEB]购买巧克力Chocolate Buying(贪心)传送门

    按价格排序后贪心

    ——代码


    1 #include <cstdio>
    2 #include <iostream>
    3 #include <algorithm>
    4
    5 int n;
    6 long long m, ans;
    7 struct node
    8 p

  • [BZOJ3932] [CQOI2015]任务查询系统(主席树 || 树状数组 套 主席树 + 差分 + 离散化)传送门

    看到这个题有个很暴力的想法,
    可以每一个时间点都建一颗主席树,主席树上叶子节点 i 表示优先级为 i 的任务有多少个。
    当 x 到 y 有个优先级为 k 的任务时,循环 x 到

  • [luoguP1631] 序列合并(堆 || 优先队列)传送门

    首先,把A和B两个序列分别从小到大排序,变成两个有序队列。这样,从A和B中各任取一个数相加得到N2个和,可以把这些和看成形成了n个有序表/队列:
    A[1]+B[1] <= A[1]+B[2] <

  • [luoguP1970] 花匠(DP)传送门

    n2过不了惨啊
    70分做法
    f[i][0] 表示第 i 个作为高的,的最优解
    f[i][0] 表示第 i 个作为低的,的最优解
    (且第 i 个一定选)
    那么
    f[i+1][1]=max(f[j][0])+1,i>=j>=1,h[j

  • [POJ3463] Sightseeing(次短路 Heap + Dijkstra)传送门

    用dijkstra比较好,spfa可能有的重复
    dis[x][2]:dis[x][0]表示起点到x的最短路、dis[x][1]表示起点到x的次短路;
    tot[x][2]:tot[x][0]表示起点到x的最短路条数、tot[x

  • [BZOJ1179] [Apio2009]Atm(tarjan缩点 + spfa)传送门

    题意

    N个点M条边的有向图
    每个点有点权
    从某一个结点出发
    问能获得的最大点权和
    一个点的点权最多被计算一次
    N<=500000 M<=500000

    思路
    先tarjan缩点,然后就形成

  • [luoguP2617] Dynamic Ranking(树状数组 套 主席树 + 离散化)传送门

    BZOJ上是权限题,洛谷赞啊。
    求区间 K 大数很简单。
    但是如果修改某个数的话,那么就得把这个数及后面所建的主席树都更新一遍 nlogn,显然不行。
    所以可以在外面套一个

  • [BZOJ1029] [JSOI2007]建筑抢修(贪心 + 优先队列)传送门

    把数据存在结构体中,至于怎么贪心?
    肯定会有些想法,正确错误先不必说,先来试一试。
    1.按照 t2 为第一关键字从小到大排,按照 t1 为第二关键字从小到大排
      这个显然错

  • 【模板】prim的heap优化简单的代码。。
    时间复杂度为O((n + m)logn)
    大部分情况下还是跑不过kruskal的,慎用。


    1 #include <cstdio>
    2 #include <queue>
    3 #include <cstring>
    4 #define hea

  • 飞行员配对方案问题(匈牙利算法+sort)洛谷传送门
    匈牙利算法+sort
    没什么好说的。
    ——代码


    1 #include <cstdio>
    2 #include <cstring>
    3 #include <algorithm>
    4
    5 using namespace std;
    6
    7 int

  • 【模板】Dijkstra的heap优化为了将最小费用最大流的spfa优化,决定将spfa换成heap优化的Dijkstra。(dijkstra不能处理负边权)
    所以还得现学。。。
    白点表示已经确定最短路径的点。
    蓝点表示还未确定最短路

  • 【模板】最小费用最大流洛谷模板题
    没什么好说的,用spfa来找增广路。


    1 #include <cstdio>
    2 #include <cstring>
    3 #include <queue>
    4
    5 using namespace std;
    6
    7 const int


  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素