秀姿势(sugata)
秀 姿 势 ( s u g a t a ) 秀姿势(sugata) 秀姿势(sugata)
题目链接: j z o j 3464 jzoj\ 3464 jzoj 3464
题目
“蓝猫淘气三千问,看蓝猫,我有姿势我自豪!”话说能考上 H Y S B Z HYSBZ HYSBZ的孩纸们肯定都是很有姿势的孩纸们,但是大家普遍偏科,都只有一门科目考得好。已知 H Y S B Z HYSBZ HYSBZ的入学考试科目数量小于等于 1 0 9 10^9 109,而有 n n n个学生参加了入学考试。现在 H Y S B Z HYSBZ HYSBZ要刷人了,招生办每一次刷人会把一个科目考得好的人全部刷掉,但是最多不能刷超过 K K K次。(刷就是不录取)而 H Y S B Z HYSBZ HYSBZ的校长看录取名单时,最喜欢看的就是连续都是同一个科目考得好的人。他定义完美学生序列为连续且考得好的科目都为同一门的学生序列。现在招生办主任想让你帮他设计一种录取方案,使得最长的完美学生连续子序列尽量长。
输入
共 N + 1 N+1 N+1行,第一行 2 2 2个正整数 n n n, K K K。 n n n表示入学考试人数, K K K表示刷人次数上限。
接下来 N N N行,每行仅一个正整数 A i A_i Ai,为 i i i号学生所考得好的科目。
输出
仅 1 1 1个正整数,为最长的最长完美学生连续子序列。
样例输入
9 1273773757
样例输出
4
样例解释
总共有 9 9 9个学生,最多只能刷一次学生。
若不刷,最长完美学生连续子序列长度为 2 2 2
若刷掉考第 3 3 3门考得好的学生,则学生序列变成 2 7 7 7 7 5 7 2\ 7\ 7\ 7\ 7\ 5\ 7 2 7 7 7 7 5 7,最长完美学生连续子序列长度为 4 4 4.
数据范围
对于 10 % 10\% 10%的数据: n < = 10 n\!<=\!10 n<=10
对于 30 % 30\% 30%的数据: n < = 1000 n\!<=\!1000 n<=1000
对于 100 % 100\% 100%的数据: 1 < = n < = 100000 1\!<=\!n\!<=\!100000 1<=n<=100000
思路
这 学 校 招 学 生 的 方 式 怎 么 这 样 , 真 就 看 谁 脸 白 排 的 位 置 好 啊 ( d o g e ) {\color{white}这学校招学生的方式怎么这样,真就看谁脸白排的位置好啊(doge)} 这学校招学生的方式怎么这样,真就看谁脸白排的位置好啊(doge)
这道题是一道模拟题吧。
我们就不停的维护一个连续的且数的种类不超过 K + 1 K + 1 K+1的序列,那么我们把它这个序列中数量少的 K K K个踢掉,就只剩一个数量最长的完美学生连续子序列了。
那我们就不停的维护,然后中途不停的找最长完美学生子序列,找到最大的那个,就是答案了。
代码
#include<queue>
#include<cstdio>
#include<algorithm>using namespace std;int n, k, a[100001], num[1000007], in[1000007], kind, ans;
queue<int>q;int get_hash(int x) {//求hash值int tmp = x % 1000007;while (in[tmp] && in[tmp] != x)tmp = (tmp + 1) % 1000007;return tmp;
}int main() {scanf("%d %d", &n, &k);//读入for (int i = 1; i <= n; i++)scanf("%d", &a[i]);//读入for (int i = 1; i <= n; i++) {int ha = get_hash(a[i]);//得出这个数的hash值q.push(a[i]);//加入的队列if (!in[ha]) {//队列中没有kind++;//种数增加in[ha] = a[i];//记录while (kind > k + 1)//超过了要求{int now = q.front();//提出对首的数q.pop();num[get_hash(now)]--;if (!num[get_hash(now)]) {//这一个数在序列中没有了in[get_hash(now)] = 0;kind--;}}}num[ha]++;//记录ans = max(ans, num[ha]);//是否有超过最大值}printf("%d", ans);//输出
}
秀姿势(sugata)相关推荐
- 2018.07.19【2018提高组】模拟C组
前言: 早上完全起不来了,9点被回来的舍友叫醒,orz JZOJ 3461 小麦亩产一千八 题目 假设第0个格子有1粒麦子,第1个格子有p粒麦子,之后每一个格子放入前两个格子的小麦数之和的小麦,若第a ...
- 源码0306-手势解锁
现搭建页面 // VCView.h // 06-手势解锁#import <UIKit/UIKit.h>@interface VCView : UIView@end// VCView.m / ...
- 驭势科技引入国家队战略注资,完成超10亿元人民币融资
2021年1月25日,驭势科技(UISEE)宣布完成累计金额超10亿元人民币的新一轮融资,并获得国开制造业转型升级基金的战略注资.这是国开制造业转型升级基金在自动驾驶领域的首笔投资. 2019年11月 ...
- 首发 | 驭势科技推出“东风网络”:如何找到速度-精度的最优解?| 技术头条...
点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 作者 | 驭势科技 给定目标硬件,如何确定最优的速度-精度折衷边界?换言之:给定推断延时的限制,模型能达 ...
- 坐视——做事——做势
晚上跟老大,还有泰稳以及其他几位,见到了骆老师--骆古道.骆老师人如其名,自88年去德国,到现在已近20年,虽然已过不惑之年,仍然奋战在编程第一线,这次回国,是为了商量有关JRuby的图书写作出版一事 ...
- 中国发展研究基金会联合百度发布智能经济白皮书:新基建是助燃剂,其势已成...
允中 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 到底该怎么看待新基建?它将催生怎样的经济形态?会带来怎样的机遇? 谈论的很多,但有体系化的输出者很少. 以至于有这样一种观点出现:新基建只 ...
- 微软聘请游说公司为收购雅虎作势
微软聘请游说公司为收购雅虎作势 [url]http://www.sina.com.cn[/url] 2008年04月18日 05:23 新浪科技 新浪科技讯 北京时间4月18日消息,据国外媒体报道, ...
- 今日运势 酷q_一言及每日运势API开源
一言及每日运势API开源 虽然酷Q没法使用,但貌似还有其他的机器人框架可以用,作者的机器人在上个月就停止服务了,后台服务也关了. 昨天有个网友突然加作者,说API怎么没法调用了? 说实话挺开心的,于是 ...
- 通达信指标转python_通达信转势买入指标公式
DRAWBAND(0,RGB(166, 66,0),-1.67,RGB(166,66,0)); VAR1:=EMA(AMOUNT/VOL/7,2); VAR2:=EMA((3*HIGH+LOW+OPE ...
最新文章
- 子元素超出了父元素的高度_T恤定制融入中国元素,美出新高度
- 使WEBBROWSER 可编辑
- Android开发之自定义Toast(吐司)
- Win7安装OnlyOffice(不使用Docker)
- python网络编程-一些常用有用的函数
- linux 彻底定制指南,8.3. Linux-2.6.11.12 《Linux 彻底定制指南》[翻译:金步国]...
- pytorch 安卓_兼容PyTorch、TF,史上最灵活Python机器学习框架发布 | 一周AI最火论文...
- 1087 有多少不同的值 (20分)
- SpringBoot入门 2
- go语言io reader_如何从io.Reader 中读数据
- Nmap简单使用教程
- 如何解决SQL2008r2 登录不上的问题
- 动态域名解析服务(花生壳)
- 华为u8500 刷到2.2再刷回2.1后WIFI无法启动的解决办法 无法启动无线局域网
- gogo系统更新无服务器,gogo云服务器
- 学习与坚持是我的人生信仰
- VS2008假死点击无反应解决办法
- LeaRun低代码OA系统构建平台
- 悟空出行携手融创文化梦之城、哈弗品牌,融合战略发布会圆满落幕
- 记一次联通路由器劫持的分析过程