Luogu P3627 抢掠计划】的更多相关文章

题目传送门 \(Tarjan\)缩点+SPFA最长路 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct zzz{ int f,t,nex; }e[500010]; int head[500010],tot; void add(int x,int y){ e[++tot].f=x; e[tot].t=y; e…
题目链接在此 有环当然一定尽量走环,这是搞缩点的人都知道的常识. 建了新图之后搞点权SPFA跑最长路.枚举每个酒吧选择最大值. 发现我的博客写的越来越水了 #include<cstdio> #include<cctype> #include<cstring> inline long long read(){ ,f=; char ch=getchar(); while(!isdigit(ch)){ ; ch=getchar(); } while(isdigit(ch)){…
题库:洛谷 题号:3627 题目:抢掠计划 link:https://www.luogu.org/problem/P3627 思路 : 这道题是一道Tarjan + 最长路的题.首先,我们用Tarjan把每个强连通分量缩成一个点,并记录那个强连通分量的点权和(因为当那个人走进一个强连通分量后那个强连通分量中的所有money都会被他拿走(绕一圈不就完了?)),然后我们化点权为边权,再以起点所在的强连通分量跑最长路,最后就能计算出从起点所在的强连通分量到任意一个终点所在的强连通分量的最长距离了(最大…
咕了四个小时整整一晚上 P3627 [APIO2009] 抢掠计划(https://www.luogu.org/problemnew/show/P3627) 不难看出答案即为该有向图的最长链长度(允许重复 我会dp! 但是图中可能有环,不满足dp的无后效性假设 我会tarjan! (您太强了) 在同一个强连通分量里的点一定可以互相到达,tarjan缩点之后,将每一个强联通分量看作一个点,价值就是其中所有银行的价值总和 缩点完成之后我们重新构造一个新的图,原来连接两个点的边改成连向两个点所在的强连…
P3627 [APIO2009]抢掠计划 Tarjan缩点+最短(最长)路 显然的缩点...... 在缩点时,顺便维护每个强连通分量的总权值 缩完点按照惯例建个新图 然后跑一遍spfa最长路,枚举每个有酒吧的点即可 (但是我为什么会搞dp呢.......) dp:81pts (这么显然的最长路,为什么会搞dp呢.........) 怕不是被dp题毒害了(大雾) #include<iostream> #include<cstdio> #include<cstring> #…
抢掠计划 题目链接 比较水的缩点模板题,Tarjan缩点,重新建图,记录联通块的钱数.是否有酒吧 DAG上记忆化搜索即可 #include<iostream> #include<cstring> #include<cstdio> using namespace std; #define N 500010 inline int read(){ ; char c=getchar(); ') c=getchar(); )+(x<<)+c-'; c=getchar(…
APIO2009 抢掠计划 Tarjan spfa/DAG-DP 题面 一道\(Tarjan\)缩点水题.因为可以反复经过节点,所以把一个联通快中的所有路口看做一个整体,缩点后直接跑\(spfa\)或者dp就好了. 在DAG上跑dp,复杂度\(O(n)\),而\(spfa\)为\(O(kn)\),所以还是优先选择dp(当然后面有\(spfa​\)的代码) 拓扑时搞DP,\(f[i]​\)表示在DAG上\(i​\)节点时,当前最大钱数,转移\(f[v]=max(f[v], f[u]+w[v])​\…
[APIO2009]抢掠计划 题目描述 Siruseri 城中的道路都是单向的.不同的道路由路口连接.按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM 取款机.令人奇怪的是,Siruseri 的酒吧也都设在路口,虽然并不是每个路口都设有酒吧. Banditji 计划实施 Siruseri 有史以来最惊天动地的 ATM 抢劫.他将从市中心 出发,沿着单向道路行驶,抢劫所有他途径的 ATM 机,最终他将在一个酒吧庆 祝他的胜利. 使用高超的黑客技术,他获知了每个 ATM 机…
题目链接:https://www.luogu.org/problemnew/show/P3627 把点权转化到边权上去. #include <stack> #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int maxn = 500000 +…
题目地址:https://www.luogu.com.cn/problem/P3627 第一次寒假训练的结测题,思路本身不难,但对于我这个码力蒟蒻来说实现难度不小-考试时肛了将近两个半小时才刚肛出来.我也是吐了 题面 Siruseri 城中的道路都是单向的.不同的道路由路口连接.按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM 取款机.令人奇怪的是,Siruseri 的酒吧也都设在路口,虽然并不是每个路口都设有酒吧. Banditji 计划实施 Siruseri 有史以…