AtCoder Beginner Contest 061(CD)
AtCoder Beginner Contest 061(CD)
C - Big Array
思路:mapmapmap排序记数,注意开LLLLLL
D - Score Attack
此题题意严重不清晰,题目只要求d[n]d[n]d[n]是否可以无限增加,但是正解是点nnn必须在正环中才行。
因为考虑spfaspfaspfa判正环,或者暴力bellman−fordbellman-fordbellman−ford特判第nnn次和第2n2n2n次的d[n]d[n]d[n]是否相同来判正环。
spfaspfaspfa做法:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
#define mst(a,b) memset(a,b,sizeof a)
#define lx x<<1
#define rx x<<1|1
#define reg register
#define PII pair<int,int>
#define fi first
#define se second
#define pb push_back
#define il inline
int n,m;
int h[N],cnt,vis[N],in[N],jg[N];
ll d[N];
struct edge{int to,nt,w;
}e[N<<1];
void add(int u,int v,int w){e[++cnt]={v,h[u],w},h[u]=cnt;
}
ll spfa(int st){mst(vis,0),mst(in,0);for(int i=1;i<=n;i++) d[i]=-1e15;queue<int>q;q.push(st);vis[st]=1,d[st]=0;while(!q.empty()){int u=q.front();q.pop();vis[u]=0;for(int i=h[u];i;i=e[i].nt){int v=e[i].to,w=e[i].w;if(jg[v]) continue;if(d[v]<d[u]+w){d[v]=d[u]+w;if(!vis[v]){in[v]++;if(in[v]==n) jg[v]=1;q.push(v),vis[v]=1;}}}}return jg[n]==1?1e15:d[n];
}
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int u,v,w;scanf("%d%d%d",&u,&v,&w);add(u,v,w);}ll ans=spfa(1);if(ans==1e15) puts("inf");else printf("%lld\n",ans);return 0;
}
bellman−fordbellman-fordbellman−ford做法:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
#define mst(a,b) memset(a,b,sizeof a)
#define lx x<<1
#define rx x<<1|1
#define reg register
#define PII pair<int,int>
#define fi first
#define se second
#define pb push_back
#define il inline
int n,m;
PII a[N<<1];
int w[N<<1];
ll d[N];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){scanf("%d%d%d",&a[i].fi,&a[i].se,&w[i]);}for(int i=1;i<=n;i++) d[i]=-1e15;d[1]=0;ll d1=0,d2=0;for(int i=1;i<=2*n;i++){for(int j=1;j<=m;j++){d[a[j].se]=max(d[a[j].se],d[a[j].fi]+w[j]);}if(i==n) d1=d[n]; if(i==2*n) d2=d[n];}if(d1!=d2) puts("inf");else printf("%lld\n",d1);return 0;
}
AtCoder Beginner Contest 061(CD)相关推荐
- AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...
- AtCoder Beginner Contest 197 题解(A ~ F)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...
- AtCoder Beginner Contest 198 (A ~ F)题解
目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...
- AtCoder Beginner Contest 215 G - Colorful Candies 2
AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...
- AtCoder Beginner Contest 215 F - Dist Max 2
AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi,yi),定义两点(xi,yi),(xj,yj)(x ...
- AtCoder Beginner Contest 215 E - Chain Contestant
AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...
- AtCoder Beginner Contest 204 F Hanjo 2
AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...
- AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)
AtCoder Regular Contest 061 E - Snuke's Subway Trip problem 洛谷翻译 my idea 最近一直在做网络流,所以一读这题后,我就想到了最小费用 ...
- Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解
Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...
- Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解
文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...
最新文章
- pthread_cleanup_push与pthread_cleanup_pop的目的、作用
- 我开发中总结的小技巧
- 2019年, video captioning论文汇总
- mybatis-day1入门案例
- 终端如何粘贴快捷键_你有什么喜欢的 Linux 终端技巧?
- html和css可以用在ssh里面么,在网站中使用SSH
- SQLServer引擎优化顾问
- C语言刷抖音源码,iOS多种刷新样式、音乐播放器、仿抖音视频、旅游App等源码...
- CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩
- DataBseDesign工作笔记001---基于RBAC用户权限管理数据库设计_用图的形式说明_精确到页面的元素
- 软件过程与项目管理第二周作业
- 软考(计算机软件水平考试)程序员介绍
- Windows7旗舰版SP1_64位2018.10(纯净版)
- Wlan学习—无线网络安全
- 小熊派鸿蒙开发板,小熊派-鸿蒙#183;季开发板入门(一)
- 服务器电话销售话术,电话销售必看:让客户无法拒绝的13个经典话术
- web端常见导航设计
- 【python学习笔记】25:scipy中值滤波
- LabWindows界面的程序控制
- 阿龙的学习笔记---《程序员自我修养-链接、装载与库》读书笔记(三)
热门文章
- 计算机表格用计算公式百分百,计算机表格怎么算所占比例 - 卡饭网
- 还有没换国旗头像的么 头像领取方法 不要再@微信官方啦
- 数据分析—指标体系和报表
- 泰坦尼克号预测python_泰坦尼克号生存预测(python)
- mysql线上问题排查思路及常用命令
- YTU OJ 2476 Problem B C++习题 继承与组合
- 连云港师范专科学校计算机老师,喜报:我校学生在2021年中国大学生计算机设计比赛江苏省赛中获一等奖...
- 基于词频的文件相似度
- 按键精灵获取14位纯数字当前时间,时间格式yyyyMMddHHmmss
- Leetcode——495. Teemo Attacking