題意:求最短路,多了乙個約束條件,可以將一條邊的花費變為0或者兩條相連的邊的花費都變為0。
廢話:很早在oj上看到的題,當時不會做,現在終於可以把這道題乾掉了(結果自己瘋狂wa,居然是多組輸入!!!!!)
解題思路:
**:
///#include///#include///#include#include#include#include#include#define mt(a, b) memset(a,b,sizeof(a)
#define lowbit(x) (x&(-x))
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double pai = acos(-1.0);
const double e = 2.718281828459;
const ll mod = 998244353;
const ll inf = 0x3f3f3f3f3f3f;
const int maxn = 1e3 + 5;
int dis[maxn][3];
/// dis[i][0] 表示還沒使用過免費邊
/// dis[i][1] 表示還可以接著上一次使用一條免費邊
/// dis[i][2] 表示免費邊已經使用過了
int head[maxn], sign;
struct node
} load[maxn * maxn];
void add_edge(int s, int e, int c) ;
head[s] = sign;
}void init()
int main()
}priority_queueq;
dis[1][0] = dis[1][1] = dis[1][2] = 0;
q.push(node);
while (!q.empty())
for (int u = head[w.e], i; ~u; u = load[u].state) );
}if (dis[i][1] > w.c) );
}} else if (w.state == 1) );
}} else );}}
}}
}return 0;
}
Power OJ 1053合併果子
description 在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等...
除法分塊 power oj 2886
i lrx k i i lr x k i xk i x r l 1 i lr k i x ki displaystyle sum displaystyle sum rfloor x r l 1 displaystyle sum rfloor i l r x k i i l r x k i k ix ...
PowerOJ 2543 賽場布置
對於每個點,它可以選擇男或者女,如果要加上 然後,我們對於點座標 當然,還需要考慮 然後就是全選減去最少割去的即可。include include include include include include include include include include include incl...