https://codeforces.com/contest/1509/problem/B


思路:

对于一个M,要保证左边的L大于等于M的数量。剩下右边的再从右边往左边扫,保证右边的L大于等于M的数量。

自然能构造出一种和合法解。

#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+1000;
typedef long long LL;
inline LL read(){LL x=0,f=1;char ch=getchar();   while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
return x*f;}
char str[maxn];
int main(void){cin.tie(0);std::ios::sync_with_stdio(false);LL t;cin>>t;while(t--){LL n;cin>>n;cin>>(str+1);map<char,LL>map1;for(LL i=1;i<=n;i++){if(str[i]=='M') map1['M']++;else map1['L']++;}if(2*map1['M']!=map1['L']){cout<<"NO"<<"\n";continue;}LL sum1=0;LL m=0;bool flag=1;for(LL i=1;i<=n;i++){if(str[i]=='T'){sum1++;}else{m++;if(sum1<m){flag=0;break;}}}sum1=0;m=0;for(LL i=n;i>=1;i--){if(str[i]=='T'){sum1++;}else{m++;if(sum1<m){flag=0;break;}}}if(flag){cout<<"YES"<<"\n";}else{cout<<"NO"<<"\n";}}return 0;
}

B. TMT Document(思维)相关推荐

  1. B.TMT Document (思维分析)

    题目大意: / t组数据,每组给你一个长为n的字符串, 字符串由T和M组成,问你是否存在TMT(不是严格的紧挨) 存在,如果由则输出YES 否者输出NO / 先分析我的代码(改4.0之后的代码): i ...

  2. B. TMT Document

    B. TMT Document Example input 5 3 TMT 3 MTT 6 TMTMTT 6 TMTTTT 6 TTMMTT output YES NO YES NO YES 题目大意 ...

  3. Codeforces1509 B. TMT Document(思维)

    题意: 解法: 因为我们只需要考虑是否合法,不需要考虑具体如何分配, 那么就不要想太复杂,只需要判断什么情况下不合法即可.不合法的情况: 对于任意的[1,i],一定满足cnt[T]<cnt[M] ...

  4. B. TMT Document—— Codeforces Round #715 (Div. 2)

    题意:一组中,给一个字符串只有T,M,看是否可以只分为子串TMT 5 3 TMT 3 MTT 6 TMTMTT 6 TMTTTT 6 TTMMTT 一直找不到规律,后来看一下灰名朋友的代码,很亲入门新 ...

  5. Codeforces Round #715 (Div. 2) B. TMT Document——思路分析,清晰易懂

    题目链接 文章目录 题目大意: 思路 AC代码 题目大意: 能否把只含T和M的字符串分成,若干个TMT的子序列,原字符串长度是3的倍数 思路 我们看TMT这个串,M前面要有一个T,M后面也要有一个T, ...

  6. Codeforces: TMT Document

    题目 学生会有一个共享的文档文件.每天,一些学生会成员都会在其中写下TMT(Towa Maji Tenshi的缩写)序列. 然而,有一天,成员们不知何故同时将序列输入到文档中,造成了混乱.因此,豆岛菅 ...

  7. codeforces 1509 B. TMT Document

    贪心 求出在整个字符串中判断是否满足 (当前T的数量 < 0或者 (T的总数 / 2) < 当前T的数量) 如果不满足上述状态则输出"NO" 其他就是"YES ...

  8. Codeforces1509.B. TMT Document

    根据题意,对于每个数组中的M,如果它左侧的T大于等于且右侧的T大于等于,并且,T的数量应该是M数量的两倍 #include<iostream> #include<cmath> ...

  9. Codeforces Round #715 (Div. 2)

    Codeforces Round #715 (Div. 2) 题号 题目 知识点 A Average Height B TMT Document C The Sports Festival 区间dp ...

最新文章

  1. 心得丨老生常谈:普通程序员到底如何入门深度学习?
  2. PYTHON1.day01
  3. Mac 添加ll命令
  4. 解决导航守卫router.beforeResolve使用不了this.$store
  5. Java开发:什么是序列化?
  6. java list set map的区别_Java集合类List/Set/Map的区别和联系
  7. 使用Zipkin和Sleuth进行SpringBoot微服务跟踪
  8. 学C/C++不能不知道的硬知识
  9. jQuery1.9.1源码分析--Events模块
  10. 首张数字人民币机票订单诞生 上海-深圳
  11. [Python] 进制转换
  12. 阶段3 1.Mybatis_12.Mybatis注解开发_6 mybatis注解开发一对一的查询配置
  13. bgp属性分析--ORIGIN
  14. 对于arm嵌入式系统的一点认识
  15. 数学分析:有理数的稠密性证明
  16. 外地人一年内直接落户上海
  17. java中处理换行符
  18. 征途2经典版服务器双线哪个稳定,征途,别毁了自己和曾经的经典
  19. 转发 2013年度电影100佳
  20. 记一次解决Intel 9462无线网卡的笔记本安装Ubuntu16.04后无法连接WIFI问题的艰难历程

热门文章

  1. python对于字典d d.get(x、y)_python--字典
  2. Redis第二讲【Redis基本命令和五大数据结构】
  3. 基于cocos2dx的横版动作游戏制作(一)
  4. 推荐电影名字列表04.18
  5. 基于android的汽车租赁出租车打车洗车app
  6. java web租车系统_JavaWeb在线租车服务系统项目源码(福利)
  7. 使用Google百度等搜索引擎的常用搜索技巧
  8. 洛谷-P2550-彩票摇奖
  9. SAP所有模块用户出口(User Exits)
  10. 指尖江湖李忘生鸿蒙初开,指尖江湖掌门天团年轻时外装来袭!其中,纯阳掌教李忘生的该系列外装名为?剑网3指尖江湖11.9答案_游侠手游...