博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Manthan 2011 A. Partial Teacher 拓扑排序or直接数组处理
阅读量:4114 次
发布时间:2019-05-25

本文共 690 字,大约阅读时间需要 2 分钟。

:现告诉你n个从左到右依次排列的数字之间的大小关系,要求你求出这些数值(尽可能小);
#include 
#include
#include
#include
#include
#include
using namespace std; char s[100005]; int ans[100005]; int main() { int n; while(~scanf("%d",&n)) { scanf("%s",s+1); for(int i=1;i<=n;i++) { int l=i-1,r=i,dl=1,dr=1; while(s[l]!='L'&&l>=1) if(s[l]=='R') { l--;dl++;} else if(s[l]=='=') l--; while(s[r]!='R'&&r<=n-1) if(s[r]=='L') { r++;dr++;} else if(s[r]=='=') r++; ans[i]=max(dl,dr); } for(int i=1;i<=n;i++) printf("%d ",ans[i]); printf("\n"); } return 0; }
分析:
直接把每个顶点当作峰顶,向两边推移,取最大的就可以了,当然也可以
缩点(缩进之间=的点)
然后
拓扑排序就可以了

转载地址:http://qxgsi.baihongyu.com/

你可能感兴趣的文章
C# 设置线程的默认CultureInfo
查看>>
计算机视觉与图像处理、模式识别、机器学习学科之间的关系
查看>>
C# 隐式接口与显式接口实现
查看>>
MD5与字符串编码
查看>>
C# 函数式编程
查看>>
C# Dispose, Finalization, and Resource Management
查看>>
C# Using GC Efficiently
查看>>
C# "资源管理器已停止工作"的编程解决方案
查看>>
设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
查看>>
Git 教程索引
查看>>
依赖注入
查看>>
使用 NUnit Mocking .NET 对象
查看>>
C# 编写计算器
查看>>
Dapper MySql DateTime 异常
查看>>
MySql 执行事务无效无法回滚问题
查看>>
Quartz 入门导引
查看>>
Asp.NET FormsAuthentication
查看>>
C# log4Net使用方法
查看>>
Redis数据编码方式详解
查看>>
理解字节序
查看>>