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)相关推荐

  1. AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...

  2. AtCoder Beginner Contest 197 题解(A ~ F)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...

  3. AtCoder Beginner Contest 198 (A ~ F)题解

    目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...

  4. AtCoder Beginner Contest 215 G - Colorful Candies 2

    AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...

  5. 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 ...

  6. AtCoder Beginner Contest 215 E - Chain Contestant

    AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...

  7. AtCoder Beginner Contest 204 F Hanjo 2

    AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...

  8. AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)

    AtCoder Regular Contest 061 E - Snuke's Subway Trip problem 洛谷翻译 my idea 最近一直在做网络流,所以一读这题后,我就想到了最小费用 ...

  9. Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解

    Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...

  10. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解

    文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...

最新文章

  1. pthread_cleanup_push与pthread_cleanup_pop的目的、作用
  2. 我开发中总结的小技巧
  3. 2019年, video captioning论文汇总
  4. mybatis-day1入门案例
  5. 终端如何粘贴快捷键_你有什么喜欢的 Linux 终端技巧?
  6. html和css可以用在ssh里面么,在网站中使用SSH
  7. SQLServer引擎优化顾问
  8. C语言刷抖音源码,iOS多种刷新样式、音乐播放器、仿抖音视频、旅游App等源码...
  9. CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩
  10. DataBseDesign工作笔记001---基于RBAC用户权限管理数据库设计_用图的形式说明_精确到页面的元素
  11. 软件过程与项目管理第二周作业
  12. 软考(计算机软件水平考试)程序员介绍
  13. Windows7旗舰版SP1_64位2018.10(纯净版)
  14. Wlan学习—无线网络安全
  15. 小熊派鸿蒙开发板,小熊派-鸿蒙#183;季开发板入门(一)
  16. 服务器电话销售话术,电话销售必看:让客户无法拒绝的13个经典话术
  17. web端常见导航设计
  18. 【python学习笔记】25:scipy中值滤波
  19. LabWindows界面的程序控制
  20. 阿龙的学习笔记---《程序员自我修养-链接、装载与库》读书笔记(三)

热门文章

  1. 计算机表格用计算公式百分百,计算机表格怎么算所占比例 - 卡饭网
  2. 还有没换国旗头像的么 头像领取方法 不要再@微信官方啦
  3. 数据分析—指标体系和报表
  4. 泰坦尼克号预测python_泰坦尼克号生存预测(python)
  5. mysql线上问题排查思路及常用命令
  6. YTU OJ 2476 Problem B C++习题 继承与组合
  7. 连云港师范专科学校计算机老师,喜报:我校学生在2021年中国大学生计算机设计比赛江苏省赛中获一等奖...
  8. 基于词频的文件相似度
  9. 按键精灵获取14位纯数字当前时间,时间格式yyyyMMddHHmmss
  10. Leetcode——495. Teemo Attacking