www.lydsy.com/JudgeOnline/problem.php?id=1179 (题目链接) 题意:给出一张有向图,每个节点有点权。标记一些点,找出一条路径,可以重复经过一条边,使得总点权和最大。重复经过一个点不能重复算点权。 Solution 今日考试题,Dijkstra不幸Gi烂。 ...
tarjan缩点 之后跑一边spfa即可 1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 const int N=500010,novis=-1,over=1,nowvis=0; 5 int head1[N],head2 ...
分类:
其他好文 时间:
2016-09-15 18:00:36
阅读次数:
231
tarjan缩点就是DAG上求最长路把。。。然而我并不会求。。。只会写spfa了。。。 1179: [Apio2009]Atm Description Input 第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示 ...
新博的第一发! 因为这几天切了几道强连通分量,所以从这里begin 【题目描述】 Siruseri 城中的道路都是单向的。不同的道路由路口连接。按照法律的规定,在每个路口都设立了一个Siruseri 银行的ATM 取款机。令人奇怪的是,Siruseri的酒吧也都设在路口,虽然并不是每个路口都设有酒吧 ...
tatjan缩强连通分量,单源最长路。 #include #include #include using namespace std; const int maxn = 500000 + 10; const int maxm = 1000000 + 10; int G[maxn],V[maxm],N... ...
Input第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行,每行一个整数,按顺序表示每个路口处的ATM机中的钱数。接下来一行包含两个整数S、P,S表示市中心的编号,也就是出发的路口。P表示酒吧数目。接下来的一行中有P个整数,表示P个有酒吧的路口的编号
Output输出...
Input第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行,每行一个整数,按顺序表示每个路口处的ATM机中的钱数。接下来一行包含两个整数S、P,S表示市中心的编号,也就是出发的路口。P表示酒吧数目。接下来的一行中有P个整数,表示P个有酒吧的路口的编号
Output输出...
[BZOJ1179][Apio2009]Atm 试题描述 输入 第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行,每行一个整数,按顺序表示每个路口处的ATM机中的钱数。 ...
1179: [Apio2009]AtmTime Limit:15 SecMemory Limit:162 MBSubmit:2069Solved:826[Submit][Status][Discuss]DescriptionInput第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来...
题解再次来自lsj(懒得敲):对于一个强连通分量, 一定是整个走或者不走, 所以tarjan缩点然后跑dijkstra. 1 #include 2 #define clr(a,x) memset(a,x,sizeof(a)) 3 #define rep(i,l,r) for(int i=l;i...
分类:
其他好文 时间:
2015-07-28 00:45:58
阅读次数:
93