摘要:
Treap+启发式合并。依旧没什么需要用到脑子的。#include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i pr[u]) Right(u); } else { if (!r[... 阅读全文
摘要:
图论中的2-SAT。模板题。#include #include #include #include #include #include using namespace std;#define rep(i, l, r) for(int i=l; in)#define travel2(x) for(ed... 阅读全文
摘要:
拓扑排序难题。对于相同排名的玩家,我们将他们组成一个集合。这可以用并查集实现。然后将并查集看成一个点,将所有大于小于的关系转换成集合中的关系,这个过程就可以判断方案是否冲突了。然后拓扑排序求排名,顺便也就可以判断结果是否唯一了。#include #include #include #include ... 阅读全文
摘要:
这题是基于一道经典的费用流模型。将每天拆成两个点i和j,新增源和汇并建立六种边:1.从源出发到每个i点,flow为+∞,cost为每条新餐巾的价值,表示这一天所使用的餐巾中来自购买的餐巾2.从源出发到每个j点,flow为每天所需的餐巾数,cost为0,表示这一天最多可使用的餐巾3.从每个i点出发至汇... 阅读全文