【题目类型】二分答案

&题解:

只要你想到二分答案就不是难题了,但我当时确实是想不到.

【时间复杂度】\(O(nlogn)\)

&代码:

#include <cstdio>
#include <cmath>
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
#define INF 0x3f3f3f3f
#define ll long long
const int maxn= 2e5 +9;
string s,e;
int a[maxn],n,m;
bool vis[maxn];
bool ok(int mid)
{memset(vis,0,sizeof(vis));for(int i=0;i<mid;i++){vis[a[i]-1]=1;}int j=0;for(int i=0;i<n;i++){if(!vis[i]&&e[j]==s[i]){j++;}}return j==m?true:false;
}
int main()
{ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
//  freopen("C:\\Users\\Zmy\\Desktop\\in.txt", "r", stdin);cin>>s>>e;n=s.size();m=e.size();for(int i=0;i<n;i++) cin>>a[i];//这里的l和r是闭区间,也就是[l,r] 代表着范围,当然 如果增加一个也可以int l=-1,r=n;while(l<=r){int mid=l+r>>1;//这要注意l和r的顺序,不能写反了if(ok(mid)) l=mid+1;else r=mid-1;}cout<<r<<endl;return 0;
}

转载于:https://www.cnblogs.com/s1124yy/p/6473459.html

Codeforces Round #402 D String Game(二分)相关推荐

  1. Educational Codeforces Round 96 E. String Reversa 线段树模拟序列交换

    传送门 文章目录 题意: 思路: 题意: 思路: 与上一篇题解大同小异,无非就是不需要枚举排列了. // Problem: E. String Reversal // Contest: Codefor ...

  2. Codeforces Round #361 (Div. 2) C 二分

    链接:戳这里 C. Mike and Chocolate Thieves time limit per test2 seconds memory limit per test256 megabytes ...

  3. codeforces round 309 div1 Nudist Beach 二分+搜索

    题目描述:给出一个有n(1<=n<=1e5)个点m(1<=m<=1e5)条边的无向图,其中有k个点为堡垒,现在要求占领除堡垒外的一些点作为我方据点,未被占领的点视为敌方据点,使 ...

  4. Codeforces Round #509 D - Glider(枚举二分前缀和)

    题意: 给出滑翔机的高度h 以及有n段上升气流区间,滑翔机在非上升气流区间会以每前进一个单位 高度就下降一个单位的 速度坠落 ,而在有上升气流的区间,滑翔机将持续前进,并不会下落,问在一维坐标上的哪个 ...

  5. Codeforces Round #402 (Div.2)

    这次的CF也挂了--都怪自己太着急-- 4:00看到题了,火速水掉了前四道傻逼题,然后开始看E和F-- E给看错题了,以为所有问号的取值可以不同,然后一脸懵逼--感觉F是可以贪心dfs水掉的,然而写了 ...

  6. Educational Codeforces Round 111 (Rated for Div. 2) E. Stringforces 二分 + 状压dp

    传送门 文章目录 题意: 思路: 题意: 给你一个串,只包含前kkk个字母和???,定义fif_ifi​表示第iii个字母在串中出现的最长连续长度,你现在需要将???替换为前kkk个字母,使得mini ...

  7. Codeforces Round #593 (Div. 2) D. Alice and the Doll 暴力 + 二分

    传送门 文章目录 题意: 思路: 题意: 思路: 还以为这个题有什么高深的算法,结果就是个暴力. 由于n∗mn*mn∗m达到了1e101e101e10的级别,所以直接暴力肯定是不行的,考虑有很多空格, ...

  8. Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing 二分 + check

    传送门 文章目录 题意: 思路: 题意: 思路: 直接算不好算,考虑二分这个中位数midmidmid. 考虑如何checkcheckcheck,这个分情况来就好了: (1)mid>a[i].r( ...

  9. Codeforces Round #725 (Div. 3) G. Gift Set 二分

    传送门 文章目录 题意: 思路: 题意: 有两种物品分别有x,yx,yx,y个,每次可以从一个拿出aaa个,另一个拿出bbb个分成一组,问最多能分成多少组. 思路: 这个题有一个显然的单调性,所以二分 ...

最新文章

  1. LeetCode中等题之简易银行系统
  2. Spring MVC静态资源处理
  3. tableau可视化数据分析60讲(三)-tableau文件、数据类型及常用数据术语
  4. sun服务器dt消息不能被启动,Sun ONE Application Server 错误
  5. $.countdown is not a function
  6. jexboss工具 -- JBOSS未授权访问漏洞利用
  7. 在deepin 15.5中安装vs code并配置c/c++环境
  8. 笔记本电脑如何保养_电脑保养只是吹一吹?别再被骗了,电脑没做这些就等于没保养...
  9. CF10D LCIS
  10. java response文件流下载,后缀名称设置
  11. 非模态对话框的创建于销毁
  12. Linux 下安装杀毒软件 clamav
  13. arcgis中python计算面积的表达式_解析ArcGis的字段计算器(一)——数值型数据计算,从“面积计算”开始...
  14. 我的k8s随笔:Kubernetes 1.17.0 部署讲解
  15. AADL Inspector 故障树安全分析模块
  16. 369、Java中级24 -【Spring】 2020.08.26
  17. 《计算机网络 自顶向下方法》答案(第八章)(重制版)
  18. 安装VS2010的过程遇到VC10.0 Runtime组件安装失败怎么解决
  19. python计算平方根算法_每日一程-16.python-巴比伦平方根算法
  20. 数字图像处理与Python实现-颜色空间转换-RGB颜色空间与HSL颜色转换

热门文章

  1. 计算机科学美国大学专业,美国大学Computer Science 计算机科学专业排名(转)...
  2. STM32H743+CubeMX-ADC+DMA采样四路AD
  3. WebQML笔记-qml获取canvas中元素是否被按下
  4. Qt文档阅读笔记-Multiple Inheritance Example 实例解析及Automatic Connections解析
  5. Qt工作笔记-使用QFileSystemWatcher监控文件是否改变
  6. flexigrid参数API
  7. java获取keyvault_教程:在 Java Spring Boot 应用中使用 Azure 应用程序配置 Key Vault 引用 | Microsoft Docs...
  8. vim xxd命令查看二进制文件内容
  9. 瑶琳c语言,来桐庐瑶琳仙境,开启一场18°C的奇妙之旅
  10. AE学习笔记——第二章:AE图层中的图层用法及基本操作