【JZOJ 5048】【GDOI2017模拟一试4.11】IQ测试

题目大意:

判断一个序列是否是另外一个序列删除若干个数字之后得到的。

正文:

我们可以定义两个指针,分别指向长序列和短序列。

拿样例来举例:

如果指针指的数相同,两个指针都往右跳:

如果不同,则指向长序列的指针往右跳:

以此类推。

超时,得分 \(\texttt{30}\) 分。

考虑将长序列每一个出现过的数的位置存起来,然后用二分找合适的位置。可以用 \(vector\) 来存,再用一个变量 \(last\) 记录短序列每一个数字在长序列出现的位置,二分时就可以找大于上一个数的 \(last\) 的最小的数。

代码:

bool flag = 1;
l = 0;
scanf ("%d", &n);
for (int i = 1; i <= n; i++)
{
    scanf ("%d", &x);
    if(f[x].empty())
        flag = 0;
    if(!flag)
        continue;
    it = upper_bound(f[x].begin(), f[x].end(), l);
    if(it == f[x].end()) flag = 0;
    l = *it;
}
if(flag) puts("TAK");
else puts("NIE");

原文地址:https://www.cnblogs.com/GJY-JURUO/p/12367887.html

时间: 2024-10-27 10:26:06

【JZOJ 5048】【GDOI2017模拟一试4.11】IQ测试的相关文章

checkbox全选/全不选/反选(jQuery v1.11.3测试通过)

主要功能: 方式一:使用三个按钮(全选.全不选 .反选)控制checkbox的选择.(实际可能全选/全不选共用按钮,这里没做) 方式二:使用一个主控checkbox用于控制其他checkbox的选择状态,同时受控checkbox是否全选也反馈给主控checkbox(这里有两种方式实现).   以下代码及实现效果在jQuery v1.11.3测试通过!2015/07/18! 测试效果:   代码: <!-- ---------------------------------------------

在线HTTP POST/GET模拟请求api接口http请求测试工具https://post.jsonin.com/

在线HTTP POST/GET模拟请求api接口http请求测试工具 在线POST/GET接口测试工具https://post.jsonin.com/ Json在线解析及格式化校验工具 https://jsonin.com/ 原文地址:https://www.cnblogs.com/daxiangxm/p/postjson.html

金朝阳——软件測试试题11道题目分享

測试人员相对于开发者来说.对知识的广度要求更高. 1:以下所描写叙述的属于安全漏洞方面的有哪些?() A.SQL注入问题 B.跨站脚本(XSS) C.不安全的加密存储,比方CSDN站点的用户password是明文password D.站点訪问缓慢 2:关于Loadrunner下列说法正确的是() A.web_reg_save_param最经常使用來做关联的函数 B. 函数lr_save_string("我是一名软件測试project师","tester")的含义是&

自己主动化測试程序之中的一个自己定义键盘的模拟測试程序(C语言)

一.測试程序编写说明 我们做的终端设备上运行的是QT应用程序.使用自己定义的键盘接口.经过測试人员长时间的人机交互測试,来确认系统的功能是否满足需求. 如今须要编写一个自己主动化的測试程序,能够依照预设的脚本运行,比方某个按键须要连续运行10000次.或是通过连续几个按键动作运行特定的业务流程10W次.通过这种自己主动測试,能够减轻測试人员的负担,还能够查看触发N次按键后,画面运行N次后的系统的稳定性,如内存使用率,cup使用率等等. 设备有4*4的键盘,包含0-9,C(Call).A.U(up

[jzoj 6084] [GDOI2019模拟2019.3.25] 礼物 [luogu 4916] 魔力环 解题报告(莫比乌斯反演+生成函数)

题目链接: https://jzoj.net/senior/#main/show/6084 https://www.luogu.org/problemnew/show/P4916 题目: 题解: 我们设$f(x)$表示最小循环节长度为x的合法序列数,那么有$ans=\sum_{d|gcd(n,m)}\frac{1}{d}f(d)$ 这是因为最小循环节为d的序列对应的环会被计算d次,比如 0101,最小循环节长度为 2(循环节为 01),其对应的环会被统计 2 次(序列 0101 与 1010)

【GDOI2017模拟12.9】最近公共祖先

题目 分析 首先,将这些节点按dfs序建一棵线段树. 因为按dfs序,所以在同一子树上的节点会放在线段树相邻的位置. 发现,对于一个位置x,它的权值只会对以x为根的子树造成影响. 当修改x时,用w[x]更新子树x的最大值, 接着从x向上跳,用w[fa[x]]更新子树fa[x]-子树x最大值, 因为当用w[fa[x]]来更新过子树fa[x]-子树x时,再用它更新就会没有意义,所以打个标记,不再更新.这样就最多只会更新n次. #include <cmath> #include <iostre

[Luogu]5048 [Ynoi2019模拟赛]Yuno loves sqrt technology III[分块]

题意 长为 \(n\) 的序列,询问区间众数,强制在线. \(n\leq 5\times 10^5\). 分析 考虑分块,暴力统计出整块到整块之间的众数次数. 然后答案还可能出现在两边的两个独立的块中,开 \(vector\) 记录每种数字出现的位置集合,然后暴力判断两边两个块中的元素出现的次数.发现并不需要知道具体在 \([l,r]\) 内出现了多少次,而只需要知道 \([l,r]\) 中是否有 \(ans+1\)个该种颜色. 总时间复杂度为 \(O(n\sqrt n)\). 代码 #incl

C语言编程规范--------11 代码测试、维护

(1)单元测试要求至少达到语句覆盖. (2)单元测试开始要跟踪每一条语句,并观察数据流及变量的变化. (3)清理.整理或优化后的代码要经过审查及测试. (4)代码版本升级要经过严格测试. (5)使用工具软件对代码版本进行维护. (6)正式版本上软件的任何修改都应有详细的文档记录. (7)发现错误立即修改,并且要记录下来. (8)关键的代码在汇编级跟踪. (9)仔细设计并分析测试用例,使测试用例覆盖尽可能多的情况,以提高测试用例的效率. (10)尽可能模拟出程序的各种出错情况,对出错处理代码进行充

关于22.5KHz模拟脉冲信号(60V)占空比测试,占空比精度0.1%

两种方法: 1.采集信号完整波形,进行计算: 是否选择一个250KS/s采样率的模拟量采集卡就可以显示要求的波形了呢? NO! 我们还未考虑测量精度0.1%! 因为模拟量信号是连续的,信号的周期是1/(22.5K)=44.4us,占空比精度要求0.1%,信号的分辨率至少为44.4us/1000=44.4ns, 采样率要比1/44.4ns=22.5MS/s要大才可测量到满足精度要求的波形! 2.将模拟信号转换成数字信号,使用脉冲计数来计算其占空比: 将60V模拟脉冲信号转成数字量脉冲信号,使用脉冲