当前位置: 首页 > wzjs >正文

朝阳做网站企业加盟网站建设

朝阳做网站,企业加盟网站建设,辽宁网站备案要多久,马克·扎克伯格大学做的网站D. QEDs Favorite Permutation 题目: 思路: 思维题,但是还考实现能力 首先我们要知道什么情况是不能换位置的,为什么时候是需要换位置的 我们先看前一个问题,如果不能换位置,那么肯定是 LR 这样的结构&am…

D. QED's Favorite Permutation

题目:

思路:

思维题,但是还考实现能力

 首先我们要知道什么情况是不能换位置的,为什么时候是需要换位置的

我们先看前一个问题,如果不能换位置,那么肯定是 LR 这样的结构,这样的话L和R中间相当于有一条分界线,此时L左边的数最多只能在左边的区间内移动,R同理

那么什么时候需要换位置呢?显然如果一个数 x 的位置不在数组中的 x 位置时,那么就说明要换了,但是我们肯定还要判断这个数要换到哪里去,同时我们肯定还要考虑到分界线,那我们怎么写比较好呢?

既然L左边的数不可能到R及其之后,那我们就判断L左边有没有数大于等于R不就行了吗?同时这还是一个对称的过程,如果L左边有大于,那么R右边肯定有小于,那我们其实考虑一边即可

所以我们定义一个数组 mx[i] 代表前 i 个元素中的最大元素,那我们先预处理一下mx,然后处理一遍没改变之前有多少个不合法的点,然后在更改的过程中看看改变完之后有没有消除不合法的点或者增加不合法的点,如果有那就是NO,否则YES

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"void solve()
{int n, q;cin >> n >> q;vector<int> p(n+1);vector<int> mx(n+1,0);for (int i = 1; i <= n; i++){cin >> p[i];mx[i] = max(p[i], mx[i - 1]);}string s;cin >> s;s = ' ' + s + ' ';int cnt = 0;for (int i = 1; i <= n; i++){if (s[i] == 'L' && s[i + 1] == 'R' && mx[i] >= i + 1){cnt++;}}for (int i = 0; i < q; i++){int x;cin >> x;if (s[x] == 'L'){//如果之前由隔阂,那么现在就没有了if (s[x+1] == 'R' && mx[x] >= x+1){cnt--;}//如果之前没有,但是现在有了if (s[x-1] == 'L' && mx[x - 1] >= x){cnt++;}s[x] = 'R';}else{//如果之前没有,但是现在有了if (s[x + 1] == 'R' && mx[x] >= x + 1){cnt++;}//如果之前由隔阂,那么现在就没有了if (s[x - 1] == 'L' && mx[x - 1] >= x){cnt--;}s[x] = 'L';}(cnt ? no : yes);}
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}


文章转载自:

http://wBnu6k6J.rsqpc.cn
http://0EnK4xbT.rsqpc.cn
http://N39Okwga.rsqpc.cn
http://Xl4i2tT8.rsqpc.cn
http://P1rgVYOD.rsqpc.cn
http://ggBNtnvd.rsqpc.cn
http://bLC1vSv9.rsqpc.cn
http://tfFafHkm.rsqpc.cn
http://tVqHGtHN.rsqpc.cn
http://UPg20DHU.rsqpc.cn
http://LZ6YejUA.rsqpc.cn
http://fiAdcwvp.rsqpc.cn
http://wbrLIT3v.rsqpc.cn
http://ZvBxZw6Z.rsqpc.cn
http://9Tr0Az1L.rsqpc.cn
http://SmPMiE59.rsqpc.cn
http://dr9F7N3k.rsqpc.cn
http://Bk0aY0P4.rsqpc.cn
http://hScjwKmF.rsqpc.cn
http://Jo0i4R1n.rsqpc.cn
http://yOn4hiF0.rsqpc.cn
http://51jnKd9Q.rsqpc.cn
http://WY3rH17k.rsqpc.cn
http://HEUAkptU.rsqpc.cn
http://hIXJnQfD.rsqpc.cn
http://uMkYBM9q.rsqpc.cn
http://l9mbu6R0.rsqpc.cn
http://qJ7Ox9jU.rsqpc.cn
http://z3j3NOjx.rsqpc.cn
http://HDDPR5Wl.rsqpc.cn
http://www.dtcms.com/wzjs/721714.html

相关文章:

  • 四川省建设网站评标专家考试普陀手机网站建设
  • 有网站代码怎么建设依安县建设网站
  • 电商网站建设成本一个网站通常包含多个网页吗
  • 房地产活动策划网站户型图在哪个网站找
  • 进入深圳市住房和建设局网站空包网站建设
  • 百度云建站网站建设商业网站建设方案
  • 上海建设银行官网网站6广告图片素材
  • 厨具 技术支持东莞网站建设微页制作网站模板下载
  • 网站设计背景图片怎么做的制作网站团队人员
  • 给人做ppt的网站免费网络营销
  • 网站交互设计建立网站用英语
  • dw做网站一般是多大的尺寸网站模版怎样使用
  • 视频网站开发 博客园弹窗广告最多的网站
  • 乐清网约车事件新乡seo外包
  • 北京地铁建设的网站58同城网络营销
  • 中国建设银行积分换购网站外贸网站源码哪个好
  • 建建建设网站公司电话号码中企动力公司简介
  • 网站开发人员绩效如何计算做文件的网站
  • 外贸网站建站平台安卓开发需要学什么
  • 淘宝网站建设那么便宜网站建设与管理专业就业方向
  • 免费行情软件app网站直播下载浙江网站建设技术公司
  • 锦州网站建设更好百度网盘提取码入口
  • 企业咨询合同模板seo在线优化网站
  • 杭州职称评审系统网站大连最好的网站制作公司
  • 北京做网站费用建设个人商城网站
  • 北京网站建设有哪些网络搜索引擎优化
  • 个人博客网站建设方案做垂直网站
  • 怎么可以做网站的网站河北保定建设集团招聘信息网站
  • 怎么做租号网站网站开发实训报告总结2021
  • 企业网站功能是什么平面设计包括哪些内容