hdu 5672 尺取还是挺好用的
先简单介绍下尺取法
http://blog.chinaunix.net/uid-24922718-id-4848418.html
尺取法就是在卡给定条件的时候 不断的改变下标 起点 终点
#include<cstdio>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
int t,k,j,vis[];
char a[];
cin>>t;
while(t--)
{
scanf("%s",&a);
scanf("%d",&k);
int l=,temp,num=,i=;
long long int ans=;
memset(vis,,sizeof(vis));
int len=strlen(a);
while(l<=i&&l<len)
{
while(i<len&&num<k)
{
temp=a[i++]-'a';
if(vis[temp]==) num++;
vis[temp]++;
}
if(num<k) break;
ans+=(len-i+);
temp=a[l]-'a';
vis[temp]--;
if(vis[temp]==) num--;
l++;
}
printf("%I64d\n",ans);
}
return;
}
最后就这道题目来说说吧 两个点吧
1.这里的要求是不同的字母数 可以用标记数组实现(注意在挪起点的时候 要对标记数组进行处理)
2.题目要求的是所有subquence的个数那么 在爬出最简单的时候 后面的一些就是需要增加的
hdu 5672 尺取还是挺好用的的更多相关文章
- HDU 5289 尺取
Assignment Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- HDU 6205 尺取
容易看出来,扩增一倍,找最长的区间就行了 /** @Date : 2017-09-11 12:43:11 * @FileName: 1012.cpp * @Platform: Windows * @A ...
- HDU 5672 String 【尺取】
<题目链接> 题目大意:给定一个只由26个小写字母组成的字符串,现在问你至少包含k个不同字母的连续子序列总数有多少. 解题分析:经仔细研究,我们发现,每次尺取到符合要求的最小区间,然后将区 ...
- 【尺取】HDU String
http://acm.hdu.edu.cn/showproblem.php?pid=5672 [题意] 给定一个小写英语字母组成的字符串,求这个字符串一共包含多少个至少有m个不同字母的连续子序列 [思 ...
- 【单调队列+尺取】HDU 3530 Subsequence
acm.hdu.edu.cn/showproblem.php?pid=3530 [题意] 给定一个长度为n的序列,问这个序列满足最大值和最小值的差在[m,k]的范围内的最长子区间是多长? [思路] 对 ...
- 【尺取】HDU Problem Killer
acm.hdu.edu.cn/showproblem.php?pid=5328 [题意] 给定一个长度为n的正整数序列,选出一个连续子序列,这个子序列是等差数列或者等比数列,问这样的连续子序列最长是多 ...
- hdu 4123 Bob’s Race 树的直径+rmq+尺取
Bob’s Race Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Probl ...
- hdu 6231 -- K-th Number(二分+尺取)
题目链接 Problem Description Alice are given an array A[1..N] with N numbers. Now Alice want to build an ...
- HDU 5178 pairs【二分】||【尺取】
<题目链接> 题目大意: 给定一个整数序列,求出绝对值小于等于k的有序对个数. 解题分析: $O(nlong(n))$的二分很好写,这里就不解释了.本题尺取$O(n)$也能做,并且效率很不 ...
随机推荐
- JavaScript中获取html元素常用手法和区分
对于许多前端开发项目来说,获取元素进行操作是必不可少的,例如tab标签,全屏切换,自动滚播等效果都需要通过获取节点元素来实现.下面我来总结下JavaScript最常用的4个Document对象中获取元 ...
- 工具类_JavaPOI_Office文件内容读取
文件内容读取工具类,亲测可用 maven依赖: <dependency> <groupId>org.apache.poi</groupId> <artifac ...
- REST和SOAP的区别
转自:https://www.cnblogs.com/MissQing/p/7240146.html REST似乎在一夜间兴起了,这可能引起一些争议,反对者可以说REST是WEB诞生之始甚而是HTTP ...
- TynSerial文件序列(还原)
TynSerial文件序列(还原) 1)下载文件 procedure TForm1.DownFile(filename: string); // 下载文件 var url: SockString; i ...
- 关于linux下的系统存储管理
https://blog.csdn.net/aaaaaab_/article/details/80159871 //查看当前系统磁盘使用空间 df -h //查看当前目录文件占用空间大小 du -sh ...
- Spring Cloud Eureka集群部署到Linux环境
还是三板斧:先改配置文件,支持集群,然后出包,上传到linux环境(3个节点),最后启动jar包跑起来. 1.在原eureka服务端代码(参见Greenwich.SR2版本的Spring Cloud ...
- 利用IDEA上传文件到coding仓库 使用git上传文件github
1.注册帐号 coding官网: https://coding.net/ github官网:https://github.com (以上根据自己需求注册,在下就不帖图了写步骤了) 2.下载 Git g ...
- web框架之MVC/MTV
MVC框架 MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式 Model(模型)表示应用程序核心(比如数据库记录列表) Vi ...
- C#如何控制panel加载的字窗体中控件的位置随着显示器分辨率大小而改变
System.Windows.Forms.Screen screen=Screen.PrimaryScreen; System.Drawing.Rectangle rct=screen ...
- MySQL导入utf8编码的CSV文件
首先,作为测试,我们在这里创建一个名为testdb的数据库,和一个名为test_table的表: create database if not exists testdb default charse ...