文章目录

  • 杜老师
    • 人物相关性分析
      • 更好的办法
    • 子串分值
    • 子串分值和
    • 修改数组----数据结构题

B站录播
https://www.bilibili.com/video/BV1az4y1178E
codeblocks 20.03

杜老师


人物相关性分析


难点:字符串规模太大
我自己的第一思路,从左到右KMP ALICE与BOB 搜到了就接着对后K个字符组成子串KMP (总是抓住左边往右边对,不会重)------匹配太多次(可以先形成数组,然后用我的方法)
老师的思路1,记录下位置,得到两个数组----枚举两个数组-------O(mn),

更好的办法

类似的题:枚举很多量的时候
类似的优化思路:尝试能不能只枚举一个量,另一个量不需要枚举就能过(哈希,滑动,二分…)

枚举的优化;
对A1有哪几次BOB是距离A1不超过K—滑动窗口:尺取,不断往右滑动,比如:目前窗口里有B1,2,3
而判断A2后,发现B1不满足,那他就更不可能满足A3~n,直接去掉就可以

-100000与100000是为了让边界条件好处理,不用特判

子串分值



我当时应该是用回溯求子串,用桶排求f值—超时

先行后列的思路转换成先列后行
eg:包含第一个字符A的子串中:只有1号和2号子串中只包含一个A------>包含第一个字符的子串中,有几个只包含一个A

对中间那个红色的A而言

而且这样不需要枚举子串,子串数可以直接乘出来

求上一个,下一个相同的字符位置,直接两个循环就出来,更省

子串分值和


f为不同字符的个数
思路和上面类似
仍然对每一个位置看对分值贡献

修改数组----数据结构题



set内部是平衡树

先插入两个起保护作用的区间
找到左端点严格小于ai 的
看右端点是否大于ai----yes:ai变成右端点+1
分情况讨论:
ai正好连上两个区间
ai和左相连
ai和右相连
ai是单独区间

还可以用并查集,代表元是最大数
https://blog.csdn.net/qq_43619680/article/details/109046823
https://www.acwing.com/solution/content/9045/

int main()
{cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=1200005;i++) fa[i]=i;for(int i=1;i<=n;i++){int x=fnd(a[i]);a[i]=x;fa[a[i]]=x+1;}for(int i=1;i<=n;i++)cout<<a[i]<<' ';return 0;
}

将出现过的数并入并查集,(并且树根是出现过的最大的数+1),并且由fa[a[i]]=x+1;,导致每个小树都是沿着向右+1生长的(连续性),碰上了就会合并
而每查一个数,如果出现过,就会查到树根(当前区间最大值+1),没出现过就建立新树


2021蓝桥直播课-软件类-本科组相关推荐

  1. 2018第九届蓝桥杯大赛软件类B组C/C++省赛题解

    2018第九届蓝桥杯大赛软件类B组C/C++省赛目录 试题 A:第几天(结果填空) 试题 B:明码(结果填空) 试题 C:乘积尾0(结果填空) 试题 D:测试次数(结果填空) 试题 E:快速排序(结果 ...

  2. 第十一届蓝桥杯大赛软件类B组省赛题目(2020蓝桥杯)

  3. 2019第十届蓝桥杯大赛软件类省赛C++ C组真题题解

    ============================== 2019-2021蓝桥杯C++ C组真题题解: 2019第十届蓝桥杯大赛软件类省赛C++ C组真题题解 2020第十一届蓝桥杯大赛软件类省 ...

  4. 2019第十届蓝桥杯大赛软件类省赛C++ B组真题题解

    ========================================== 2019-2021蓝桥杯C++ B组真题题解: 2019第十届蓝桥杯大赛软件类省赛C++ B组真题题解 2020第 ...

  5. 第十一届蓝桥杯大赛软件类决赛(C/C++ 大学A组)

    蓝桥杯 2020年国赛真题 C/C++ 大学A组 试题 A: 合数个数 试题 B: 含 2 天数 试题 C: 本质上升序列 试题 D: 咫尺天涯 试题 E: 玩具蛇 试题 F: 皮亚诺曲线距离 试题 ...

  6. 2020第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组

    2020第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组 试题 A: 门牌制作(难度:★) 思路: 代码: 试题 B: 寻找 2020(难度:★★) 思路: 代码: 试题 C: 蛇形填数(难 ...

  7. 第十二届蓝桥杯大赛软件类省赛第一场 Java 大学 B 组题目蓝桥杯JavaB组大赛软件类省赛第十二届第一场

    第十二届蓝桥杯大赛软件类省赛第一场 Java 大学 B 组题目 在线看题 题目PDF下载链接 百度云 链接:https://pan.baidu.com/s/1LSZvUV5dFwNtSbOshORU1 ...

  8. 第八届蓝桥杯(软件类)C++省赛A组真题题解

    文章目录 题目链接 A组真题 题目结构 第一题 迷宫 第二题 跳蚱蜢 第三题 魔方状态 第四题 方格分割 第五题 字母组串 第六题 最大公共子串 第七题 正则问题 第八题 包子凑数 第九题 分巧克力 ...

  9. 第七届蓝桥杯(软件类)C++决赛A组题解

    文章目录 题目链接 A组真题 题目结构 第一题 随意组合 第二题 拼棋盘 第三题 打靶 第四题 路径之谜 第五题 碱基 第六题 圆圈舞(待补) 题目链接 A组真题 题目结构 题目 类型 第一题 随意组 ...

最新文章

  1. docker-compose的安装与简单使用
  2. GPU上稀疏矩阵的基本线性代数
  3. vba 日期加一年_VBA究竟值不值得审计学?
  4. 使用Spring MVC进行资源版本控制
  5. tcp 三次握手,四次挥手
  6. 官宣:OpenMMLab 重磅升级—百花齐放春满园
  7. 让你的产品更懂世界:如何提升场景文本识别中的语言模型
  8. 虚拟服务器dhcp,虚拟服务器上配置dhcp服务器
  9. centos redis php扩展,手动在centos下安装redis及php扩展
  10. c++ 多字节 转换为 unicode
  11. exe4j打包后 提示 couldn't load main class
  12. 软件项目管理1:开发计划和版本计划举例
  13. enovia使用富文本小结
  14. 基于Python+深度学习+神经网络实现高度可用的生活垃圾分类机器人程序
  15. matlab安装遇到的问题
  16. 《脑机接口导论》学习笔记 3.记录大脑的信号和刺激大脑
  17. 占星家眼中的十二星座--处女座
  18. 迅捷CAD编辑器修改文本的步骤
  19. 树莓派3B+安装Ubuntu mate遇到彩虹屏
  20. [转]Magento刷新索引的几种方法

热门文章

  1. Jmeter----连接mysql数据库及常见问题处理
  2. 题解报告:hdu 4907 Task schedule
  3. javascript对于DOM加强
  4. [IE技巧] 如何禁止用户关闭IE浏览器
  5. dataset中的数据批量导入oracle数据库,c#如何将dataset中的数据批量导入oracle数据库...
  6. java是如何写入文件的
  7. 左外连接的sql语句_Django数据库连接和使用原生sql语句
  8. 三星r750美版刷Android,这是才是全面派 三星space monitor详解
  9. linux 内核 ntfs,Linux大脑 内核 内核编译(NTFS)
  10. 2010 模板下载 罗斯文_俄罗斯签证办理攻略