news 2026/3/28 5:36:16

codeforces Round 1070(Div. 2)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
codeforces Round 1070(Div. 2)

D https://codeforces.com/contest/2176/problem/D

哎哎,经典的赛后过题。分享D的另一种不同的思路。
Hint1 首先可以观察到除了单独一条边成斐波那契数列的情况,其它更长的数列情况中,除了作为开头的两个点,其它的点都是严格单调递增的。
根据这个这个观察我们可以把图上原来{u,v}(ta[u]<ta[v])的边删除。这样就变成有向无环图了。
再运用dfs回溯+dp(可以参考代码理解),最后再加上单独一条边成斐波那契数列的情况就可以了。

附上代码

/* by 01022.hk - online tools website : 01022.hk/zh/regexdso.html */ int n,m;cin>>n>>m; int ans=m; vvi g(n+1),g1(n+1); vi din(n+1); vi ta(n+1); for (int i=1;i<=n;i++) cin>>ta[i]; for (int i=1;i<=m;i++) { int u,v;cin>>u>>v; g[u].push_back(v); } for (int i=1;i<=n;i++) { vi tc; for (auto v:g[i]) { if(ta[v]>ta[i]) { tc.push_back(v); } } g1[i]=g[i]; g[i]=tc; } for (int i=1;i<=n;i++) { auto tv=g[i]; for (auto v:tv) { din[v]++; } } vi dp(n+1); vi vis(n+1); vector<map<int,int>> cnt(n+1); auto dfs=[&](auto self,int u)->void { vis[u]=1; // cout<<u<<endl; for (auto v:g[u]) { din[v]--; if(vis[v]==0) self(self,v); cnt[u][ta[v]-ta[u]]=(cnt[u][ta[v]-ta[u]]+cnt[v][ta[u]]+1)%mod; } }; for (int i=1;i<=n;i++) { if(!din[i]&&vis[i]==0) { // cout<<i<<endl; dfs(dfs,i); } } for (int i=1;i<=n;i++) { for (auto v:g1[i]) { ans=(ans+cnt[v][ta[i]])%mod; } // cout<<i<<" "<<ans<<endl; } cout<<ans<<endl;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 9:01:35

Windows 11离线安装.NET Framework 3.5终极指南

Windows 11离线安装.NET Framework 3.5终极指南 【免费下载链接】已解决Win11离线安装.NETFramework3.5完全指南 【已解决】Win11离线安装.NET Framework 3.5完全指南 项目地址: https://gitcode.com/Resource-Bundle-Collection/d5cb0 摘要 本指南将帮助您在Windows 1…

作者头像 李华
网站建设 2026/3/27 10:05:30

GitHub - 远程仓库推送的方式

目录 GitHub远程仓库推送 - HTTPS方式 创建本地仓库 拉取远程仓库 - HTTPS方式 创建Token 推送远程仓库 GitHub远程仓库推送 - SSH方式 使用SSH密钥 配置Github公钥 拉取远程仓库 - SSH方式 推送远程仓库 由于GitHub是国外的&#xff0c;使用GitHub加载慢&#xff0c;…

作者头像 李华
网站建设 2026/3/26 18:26:24

TikTok直播录制终极指南:一键保存所有精彩时刻

在短视频盛行的时代&#xff0c;TikTok直播已成为内容创作者与粉丝互动的重要桥梁。然而&#xff0c;直播的即时性让许多珍贵时刻转瞬即逝。现在&#xff0c;有了这款强大的TikTok直播录制工具&#xff0c;你可以轻松保存每一场心仪的直播&#xff0c;再也不必担心错过任何精彩…

作者头像 李华
网站建设 2026/3/25 3:52:33

如何通过视觉优化设置解决安全测试中的眼睛疲劳问题?

如何通过视觉优化设置解决安全测试中的眼睛疲劳问题&#xff1f; 【免费下载链接】hetty An HTTP toolkit for security research. 项目地址: https://gitcode.com/GitHub_Trending/he/hetty 夜深人静时&#xff0c;你正在对某个系统进行HTTP安全测试&#xff0c;连续几…

作者头像 李华
网站建设 2026/3/25 9:52:35

cpu异常中断(2)

一、寄存器映射 内核里面的cpu主要通过D-Bus,I-Bus,S-Bus与外设沟通&#xff0c;其中S-Bus是主要用来访问外设的 当我们访问一个外设地址时&#xff0c;数据会从cpu然后通过S-Bus再到AHB总线矩阵&#xff0c;经过某些处理到达APB(挂载着外设) 但APB_BUS也不知道这个地址是什么…

作者头像 李华
网站建设 2026/3/28 5:24:45

5个Kronos高效使用技巧:从入门到精通的完整指南

5个Kronos高效使用技巧&#xff1a;从入门到精通的完整指南 【免费下载链接】Kronos Kronos: A Foundation Model for the Language of Financial Markets 项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos Kronos作为金融市场的语言基础模型&#xff0c…

作者头像 李华