c-英语作文(牛客新生赛)
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
在写英语作文的时候,两个相同单词靠的太近肯定不好。现在 ZHR 给了你一段nnn个单词的英文,问你有多少对相同单词中间间隔的单词数小于等于kkk 。
输入描述:
第一行两个整数,为nnn 和 kkk 。
第二行nnn个由仅小写字母组成的单词。每个单词长度小于等于101010 。
1≤k≤n≤1051\le k \le n \le 10^51≤k≤n≤105。
输出描述:
一行一个正整数,表示有多少对单词中间间隔的单词数小于等于kkk 。
示例1
输入
复制11 2 i love you you love mi mixue ice cream and tea
11 2 i love you you love mi mixue ice cream and tea
输出
复制2
2
说明
只有 you 和 love 两个单词间隔的单词数小于等于222
示例2
输入
复制10 2 a a a a a a a a a a
10 2 a a a a a a a a a a
输出
复制24
24
思路:用map<string,vector<int> >,一个存他的单词,一个存他的下标,把他的下标存进vector里。在加入一个数的下标i前先判断他的vector数组里有没有数,如果有,说明前面有与他相同的单词,就找到他最左能到的下标i-k+1这个数在vector数组中的下标,然后用他最右边的数的下标减去他最左能到的下标,就是能与他配对的个数。
注意:最后结果用longlong存,如果用int只能通过百分之九十的实例。
#include<iostream>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;int main(){int n,k;long long con=0;scanf("%d%d",&n,&k);map<string,vector<int> > a;for(int i=1;i<=n;i++){string s;cin>>s;if(a[s].size()!=0){int q=lower_bound(a[s].begin(),a[s].end(),i-k-1)-a[s].begin();con+=a[s].size()-q;}a[s].push_back(i);} printf("%lld",con);return 0;
}
c-英语作文(牛客新生赛)相关推荐
- 牛客网赛码网 输入输出格式
目录 牛客网&赛码网输入输出 牛客网 单行输入 多行输入,每一行是一个测试样例 多个测试用例,每个测试用例有多行 赛码网 单个输入,单个输出 单行多个输入,单行多个输出,空格分割 多个测试案例 ...
- 牛客网赛码网 输入输出格式 pythonC++
牛客网&赛码网 输入输出格式 python&C++ Note: 你的程序需要stdin(标准输入)读取输入,然后stdout(标准输出)来打印结果,举个例子,你可以使用c语言的scan ...
- 牛客巅峰赛12th C.一起来看流星雨(旋转卡壳三分)
牛客巅峰赛12th C.一起来看流星雨(旋转卡壳&三分) 题意:给定二维平面nnn个点,每个点有个速度向量,求最开始距离最远的两个点在运动过程中的最小距离. 思路:求距离最远的两个点就凸包gr ...
- 牛客网赛码网输入输出总结(python版)
1. 单行输入: n, m = map(int, sys.stdin.readline().strip().split()) 对该行中所有元素取整型后赋给等式左边若干参数 2. 多行输入: 先获取第一 ...
- 牛客网 赛码网 js输入输出
牛客网 详细地址 let readline = require('readline') const r1 = readline.createInterface({input: process.stdi ...
- 牛客小白赛190615场
夜色已经很晚了,所以我长话短说 1.表单 链接:https://ac.nowcoder.com/acm/contest/917/C 来源:牛客网 输入描述: 第一行两个整数n,Q 后n行每行一个字符串 ...
- oj记录 牛客 高校赛 C派蒙的奇妙冒险------石之海
题目描述 链接:https://ac.nowcoder.com/acm/contest/33869/C 来源:牛客网 题意 思路 其实只需要判断有没有素数即可,因为最少的染色策略是让所有的素数的颜色相 ...
- 牛客网 赛码在线编程中数据读取问题
一. 数据读取的方式(python3) 1. input()读取输入数据 while True:try:inputs = input()except:break 2. 网站的数据输入是是一个含有多 ...
- 牛客小白赛7 B自杀游戏 (博弈论,SG函数)
链接:https://www.nowcoder.com/acm/contest/190/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...
最新文章
- CTFshow php特性 web127
- intellij idea 2018 license 可用无废话
- 非常实用的word文本括号匹配是否正确的code,可按照此思路扩展到python处理大批量文本文件的检错中,非常实用!!!
- SpringBoot之AOP切面的使用
- node2vec 图向量
- 【ASP.NET】QQ登录,新浪微博登录。
- fcm基本原理_fcm聚类算法原理及应用
- ss-panel安装笔记
- Google知识集锦
- 一个农村博士的独白:全家为什么只有我读到了博士?
- 雨林木风最新万能GHOST系统制作教程
- ubuntu 查看mysql数据库_ubuntu mysql查看数据库
- html 老人机可以播放吗,宏强数字能量:通过手机号码看老年人身体健康
- 计算机科学家格言,科学家说的名人名言20句
- Unity 2D平面显示3D模型(RenderTextrue)
- 老年消费市场最新观察:变化/趋势/入局/未来,以人为核心,构建信任感
- 杰理之在anc模式下手机断开蓝牙耳机会有噗噗声问题【篇】
- 利用 Dynamo 制作简易的变截面钢箱梁
- UML建模工具更新情况(2020年8-11月)(三)
- 公司注册后未注销需要交罚款吗?