堆
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
2018.10.27【LOJ6035】「雅礼集训 2017 Day4」洗衣服(贪心)(堆)(排序不等式)
传送门解析:首先考虑没有BBB机器怎么做?显然直接堆维护一下每一个机器完成下一个任务的时间节点,然后处理LLL次就完了。我们对BBB机器也这样做一次,两次的结果按照一大一小的顺序拼回来,取最大值就行了(根据神奇的排序不等式)。证明有时间再说吧(估计要鸽),这里记录一下结论。代码:#include<bits/stdc++.h>using namespace std;...原创 2018-10-27 23:15:01 · 293 阅读 · 0 评论 -
【模板】K短路的稳定复杂度求法
描述给出一个有向图,你需要求出SSS到TTT的所有路径中权值第kkk小的路径的权值。这里的第kkk小是指,将所有本质不同的路径的权值排序后(不去重),从小到大排名为kkk。数据保证KKK短路一定存在。数据卡A∗A*A∗以及乱搞+A∗A*A∗。输入第一行两个整数n,mn,mn,m表示点数和边数。然后mmm行三个整数ui,vi,wiu_i,v_i,w_iui,vi,wi表示m条边。...原创 2019-01-24 20:02:33 · 895 阅读 · 0 评论 -
2019.01.24【SDOI2010】【洛谷P2483】魔法猪学院(K短路)(可持久化左偏树)
传送门解析:一发AC,然后按照惯例开O2交了一发,就是为了冲榜。WOC怎么这么多人比我快。。。然后一看代码,WOC怎么还有A∗A*A∗跑得比我快的。。。结果他们都是面向数据编程。。。加了这个特判:if(fabs(E-10000000)<1e-6){ printf("2002000\n"); return 0; }把最大的那个点给糊弄过去了。。。然后我加了个特判交了...原创 2019-01-24 20:41:53 · 351 阅读 · 0 评论 -
2019.01.24【POJ2449】Remmarguts' Date(K短路)
OpenJudge传送门BB:我彻底放弃POJ了,它今天被卡成这样了。。。各位以后还是去OpenJudge上做题吧,题号题目都和POJ完全一样的。这道题就是K短路板题啊,可以看一下我的K短路讲解:https://blog.csdn.net/zxyoi_dreamer/article/details/86632445嗯。我没用A*,直接用的可持久化左偏树。代码:#include&...原创 2019-01-24 21:02:51 · 164 阅读 · 0 评论 -
【BZOJ1367】[Baltic2004]sequence(可并堆)
传送门题解:令t[i]=t[i]−it[i]=t[i]-it[i]=t[i]−i,那么zzz就允许不严格递增,是个保序回归L∞L_\inftyL∞,可并堆维护一下中位数就行了。代码:#include<bits/stdc++.h>#define ll long long#define re register#define gc get_char#define cs ...原创 2019-09-04 20:01:48 · 125 阅读 · 0 评论 -
【APIO2016】烟火表演(可并堆)(折线DP)
传送门题解:设fi(x)f_i(x)fi(x)表示在iii的子树中,所有叶子到iii距离为xxx的时候,子树内部修改的最小代价。显然是个分段一次函数,大力讨论记录下端点就行了。注意到可能会出现需要平移端点的情况,但是我们发现这种情况永远都是发生在右边的,直接弹掉即可。代码:#include<bits/stdc++.h>#define ll long long#de...原创 2019-09-09 19:51:35 · 243 阅读 · 0 评论 -
【CodeChef-BWGAME】Black-white Board Game(可并堆)(高斯消元)
传送门题解:首先读题,很显然答案就是行列式的值。由于矩阵是每行有一段连续的一,显然消元之后每行也是一段连续的一。我们直接用可并堆枚举左端点,维护一下右端点的位置,然后消元的时候相当于直接取右端点最靠前的,然后把剩下的并过去即可。模拟即可代码:#include<bits/stdc++.h>#define ll long long#define re register...原创 2019-09-09 20:54:12 · 212 阅读 · 0 评论