题意:

解法:

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

code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxm=2e6+5;
char s[maxm];
int n;
void solve(){cin>>n>>(s+1);map<char,int>mp;for(int i=1;i<=n;i++){mp[s[i]]++;if(mp['T']<mp['M']){cout<<"NO"<<endl;return ;}}mp.clear();for(int i=n;i>=1;i--){mp[s[i]]++;if(mp['T']<mp['M']){cout<<"NO"<<endl;return ;}}if(mp['T']!=mp['M']*2){cout<<"NO"<<endl;}else{cout<<"YES"<<endl;}
}
signed main(){ios::sync_with_stdio(0);int T;cin>>T;while(T--){solve();}return 0;
}

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

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

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

  2. B. TMT Document(思维)

    https://codeforces.com/contest/1509/problem/B 思路: 对于一个M,要保证左边的L大于等于M的数量.剩下右边的再从右边往左边扫,保证右边的L大于等于M的数量 ...

  3. Codeforces1509.B. TMT Document

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

  4. 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 题目大意 ...

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

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

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

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

  7. Codeforces: TMT Document

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

  8. codeforces 1509 B. TMT Document

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

  9. Codeforces Round #715 (Div. 2)

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

最新文章

  1. 3D Cube计算引擎加速运算
  2. 基于 Opencv 实现眼睛控制鼠标
  3. linux基础(8)-颜色显示
  4. 企业部署Windows 8 Store 风格应用
  5. 可以获取python整数类型帮助的是什么-python数据类型一(重点是字符串的各种操作)...
  6. C99 calloc、malloc和realloc区别
  7. VC中ADO连接SQLSERVER的几种标准方式?
  8. ruby hash方法_Ruby中带有示例的Hash.invert方法
  9. 用node.js读写文件
  10. EF使用CodeFirst方式生成数据库技巧经验
  11. 使用PwDump导出本地Windows SAM散列并解密(解密windows账户密码)
  12. 2019 6.30学习笔记
  13. java jquery ajax_[Java教程]jquery ajax 使用
  14. FineReport10.0功能说明
  15. Java EE 6权威指南:第4版.基础篇
  16. 局域网 如何连接主机_局域网远程操控电脑方法
  17. 人的思维谬误与心理学效应
  18. c语言判定条件 i什么意思,c语言 if(!x)中条件!x是什么意思
  19. Android Camera2 相机拍照流程详解
  20. java实现红包要多少钱_java实现微信红包分配算法(示例代码)

热门文章

  1. OSPF静默接口(Silent-Interface)有哪些特性?
  2. Android 黑科技之卸载系统应用(卸载流氓软件)
  3. CleanMyMac x2021中文版mac清理软件激活码下载
  4. 借着谈转正感想的时机,再聊聊外企和互联网公司的工作体验
  5. HOJ 2550 百步穿杨
  6. android button属性
  7. 关于百度oauth2.0登陆的诸多问题
  8. Squeeze-and-Excitation Networks(SENet) 学习笔记
  9. 全国高校食堂排行榜TOP10?!
  10. 读书笔记002:《伤寒论》-十二经络