- 2024-09-14P2294 [HNOI2005] 狡猾的商人 两种做法
贪心#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=1e3+100;intn,m;structNODE{ intl,r,val; booloperator<(constNODE&h)const { if(l!=h.l) returnl>h.l; returnr>h.r; }};priority_queue
- 2024-07-23P2294 [HNOI2005] 狡猾的商人
原题链接题解先看成前缀和,这样就是维护\(pre[r],pre[l-1]\)两点之间的权值如果是false,代表存在矛盾,且矛盾出现在回路我们可以把这个回路之前的元素看成一个集合,如果新加入的边使得原先两点间的权值不等便失效而对于一个集合里的元素,由于相加具有矢量特性,所以我们维护集合内
- 2024-07-12[HNOI2005] 狡猾的商人's 题解
题目描述给你一个\(n\)元一次方程,判断是否有解,方程给出的格式为\(a-b=c\)思路这道题看上去是一道题目看上去就是判断给出条件是否有矛盾,所以就自然而然的可以使用带权并查集但是因为我太懒了并且这道题目要求使用差分约束系统进行求解,于是就需要将题目转化一下因为差分约束