Codeforces Round #402 D String Game(二分)
【题目类型】二分答案
&题解:
只要你想到二分答案就不是难题了,但我当时确实是想不到.
【时间复杂度】\(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(二分)相关推荐
- Educational Codeforces Round 96 E. String Reversa 线段树模拟序列交换
传送门 文章目录 题意: 思路: 题意: 思路: 与上一篇题解大同小异,无非就是不需要枚举排列了. // Problem: E. String Reversal // Contest: Codefor ...
- Codeforces Round #361 (Div. 2) C 二分
链接:戳这里 C. Mike and Chocolate Thieves time limit per test2 seconds memory limit per test256 megabytes ...
- codeforces round 309 div1 Nudist Beach 二分+搜索
题目描述:给出一个有n(1<=n<=1e5)个点m(1<=m<=1e5)条边的无向图,其中有k个点为堡垒,现在要求占领除堡垒外的一些点作为我方据点,未被占领的点视为敌方据点,使 ...
- Codeforces Round #509 D - Glider(枚举二分前缀和)
题意: 给出滑翔机的高度h 以及有n段上升气流区间,滑翔机在非上升气流区间会以每前进一个单位 高度就下降一个单位的 速度坠落 ,而在有上升气流的区间,滑翔机将持续前进,并不会下落,问在一维坐标上的哪个 ...
- Codeforces Round #402 (Div.2)
这次的CF也挂了--都怪自己太着急-- 4:00看到题了,火速水掉了前四道傻逼题,然后开始看E和F-- E给看错题了,以为所有问号的取值可以不同,然后一脸懵逼--感觉F是可以贪心dfs水掉的,然而写了 ...
- Educational Codeforces Round 111 (Rated for Div. 2) E. Stringforces 二分 + 状压dp
传送门 文章目录 题意: 思路: 题意: 给你一个串,只包含前kkk个字母和???,定义fif_ifi表示第iii个字母在串中出现的最长连续长度,你现在需要将???替换为前kkk个字母,使得mini ...
- Codeforces Round #593 (Div. 2) D. Alice and the Doll 暴力 + 二分
传送门 文章目录 题意: 思路: 题意: 思路: 还以为这个题有什么高深的算法,结果就是个暴力. 由于n∗mn*mn∗m达到了1e101e101e10的级别,所以直接暴力肯定是不行的,考虑有很多空格, ...
- Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing 二分 + check
传送门 文章目录 题意: 思路: 题意: 思路: 直接算不好算,考虑二分这个中位数midmidmid. 考虑如何checkcheckcheck,这个分情况来就好了: (1)mid>a[i].r( ...
- Codeforces Round #725 (Div. 3) G. Gift Set 二分
传送门 文章目录 题意: 思路: 题意: 有两种物品分别有x,yx,yx,y个,每次可以从一个拿出aaa个,另一个拿出bbb个分成一组,问最多能分成多少组. 思路: 这个题有一个显然的单调性,所以二分 ...
最新文章
- LeetCode中等题之简易银行系统
- Spring MVC静态资源处理
- tableau可视化数据分析60讲(三)-tableau文件、数据类型及常用数据术语
- sun服务器dt消息不能被启动,Sun ONE Application Server 错误
- $.countdown is not a function
- jexboss工具 -- JBOSS未授权访问漏洞利用
- 在deepin 15.5中安装vs code并配置c/c++环境
- 笔记本电脑如何保养_电脑保养只是吹一吹?别再被骗了,电脑没做这些就等于没保养...
- CF10D LCIS
- java response文件流下载,后缀名称设置
- 非模态对话框的创建于销毁
- Linux 下安装杀毒软件 clamav
- arcgis中python计算面积的表达式_解析ArcGis的字段计算器(一)——数值型数据计算,从“面积计算”开始...
- 我的k8s随笔:Kubernetes 1.17.0 部署讲解
- AADL Inspector 故障树安全分析模块
- 369、Java中级24 -【Spring】 2020.08.26
- 《计算机网络 自顶向下方法》答案(第八章)(重制版)
- 安装VS2010的过程遇到VC10.0 Runtime组件安装失败怎么解决
- python计算平方根算法_每日一程-16.python-巴比伦平方根算法
- 数字图像处理与Python实现-颜色空间转换-RGB颜色空间与HSL颜色转换
热门文章
- 计算机科学美国大学专业,美国大学Computer Science 计算机科学专业排名(转)...
- STM32H743+CubeMX-ADC+DMA采样四路AD
- WebQML笔记-qml获取canvas中元素是否被按下
- Qt文档阅读笔记-Multiple Inheritance Example 实例解析及Automatic Connections解析
- Qt工作笔记-使用QFileSystemWatcher监控文件是否改变
- flexigrid参数API
- java获取keyvault_教程:在 Java Spring Boot 应用中使用 Azure 应用程序配置 Key Vault 引用 | Microsoft Docs...
- vim xxd命令查看二进制文件内容
- 瑶琳c语言,来桐庐瑶琳仙境,开启一场18°C的奇妙之旅
- AE学习笔记——第二章:AE图层中的图层用法及基本操作