当前位置: 首页 > news >正文

10.26 NOTE

P4742 [Wind Festival] Running In The Sky

题目传送门

思路

没啥营养,和所驼门王那一题一样,Tarjan 缩点,而后 DAG 上 DP。甚至还更简单一点。唯一需要注意的是要仔细考虑一下状态转移方程,这点很重要,不然会出大问题。

Code

#include<bits/stdc++.h>
#define Iseri namespace
#define Nina std
#define Kawaragi int
#define Momoka main
#define ls(p) (p<<1)
#define rs(p) (p<<1|1)
#define ll long long
#define ull unsigned long long
#define endl "\n"
#define pii pair<ll,ll>
const int maxn=200005;
const int inf=0x3f3f3f3f;using Iseri Nina;inline ll read(){ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x*f;
}//===========================================================ll n,m,def[maxn],dfn[maxn],low[maxn],f[maxn],g[maxn],w[maxn],x,y,inst[maxn],t,cnt,rd[maxn];
ll mx[maxn],sg[maxn],ans=1;
vector<ll>v[maxn],e[maxn];
stack<ll>s;inline void tarjan(ll u){dfn[u]=low[u]=++t;s.push(u);inst[u]=1;for(auto i:e[u]){if(!dfn[i]){tarjan(i);low[u]=min(low[u],low[i]);}else{if(inst[i])low[u]=min(low[u],dfn[i]);}}if(dfn[u]==low[u]){cnt++;while(s.top()!=u){ll tmp=s.top();s.pop();def[tmp]=cnt;sg[cnt]+=w[tmp];mx[cnt]=max(mx[cnt],w[tmp]);inst[tmp]=0;}s.pop();inst[u]=0;def[u]=cnt;sg[cnt]+=w[u];mx[cnt]=max(mx[cnt],w[u]);}return;
}Kawaragi Momoka(){n=read(),m=read();for(ll i=1;i<=n;i++)w[i]=read();for(ll i=1;i<=m;i++){x=read(),y=read();e[x].push_back(y);}for(ll i=1;i<=n;i++)if(!dfn[i])tarjan(i);for(ll i=1;i<=n;i++){for(auto j:e[i]){if(def[i]!=def[j])v[def[i]].push_back(def[j]),rd[def[j]]++;}}queue<ll>q;for(ll i=1;i<=cnt;i++){f[i]=sg[i],g[i]=mx[i];if(rd[i]==0)q.push(i);}while(!q.empty()){ll u=q.front();q.pop();for(auto i:v[u]){if(f[u]+sg[i]>f[i]){f[i]=f[u]+sg[i];g[i]=max(g[u],mx[i]);}else if(f[u]+sg[i]==f[i])g[i]=max(g[i],g[u]);if(--rd[i]==0)q.push(i);}}for(ll i=2;i<=cnt;i++){if(f[i]>=f[ans]||(f[i]==f[ans]&&g[i]>g[ans]))ans=i;}printf("%lld %lld",f[ans],g[ans]);return 0;
}
http://www.jsqmd.com/news/39775/

相关文章:

  • 10.22 NOTE
  • 题解:CF2106D Flower Boy
  • 使用 Maven 内置的版本号(Version)统一控制功能
  • 使用 Maven 内置的版本号(Version)统一控制功能
  • 2025年智能仓储服务商综合实力TOP5榜单:引领物流效率革命,覆盖山东、河北、江浙沪等国内线路,服务中亚五国、俄罗斯、阿富汗等国际路线
  • 2025年共享仓库服务最新TOP5推荐:山东、河北、江浙沪等国内区域,中亚、阿富汗、俄罗斯等国际地区,高效仓储解决方案引领者
  • 在ec2上部署CosyVoice2模型
  • 2025年配送中心最新综合实力TOP5榜单:引领国内国际物流新标杆
  • 每日反思(2025_11_13)
  • 2025年运输服务企业最新TOP5评测:国内、跨境物流解决方案引领者
  • 前后端全栈技术栈深度剖析:从Vue到Node.js的完整学习路径
  • 11月113日日记
  • 2025国内供应链服务企业最新TOP5评测:稳定、成本可控、合作灵活
  • 2025物流企业最新TOP5:覆盖范围广、团队更专业,成就时效与诚信
  • 疲劳数据分析与设计曲线 25
  • 11-13午夜盘思
  • 【AI翻译】分布式系统中的心跳机制
  • “ArcGIS Pro制图-模型构建器-ArcPy开发-AI-无人机实操”系列培训班预告
  • 送女生礼物推荐:如何才能送到心坎里?
  • 代码随想录Day9_字符串2
  • 2025年西北地区新媒体运营公司最新TOP5评测:AI赋能陕西甘肃品牌增长新引擎
  • 20251113日报
  • 控制领域常用希腊字母表
  • Windows 修改hosts不生效
  • 早就下好了IEDA,也算是差生文具多了
  • Pyinstaller - Python桌面应用打包的首选工具 - 详解
  • DNS record types: AAAA vs AA All In One
  • 关于Langchain更新解决Memory的引用
  • win7 打开 icmp-ping 回显
  • 旋转矩阵在导航与机器人中的应用