题目

Chenjb is the task author of the 71-st Zhejiang Provincial Collegiate Programming Contest. He created an NP-Hard problem on a graph with n vertices, the intended solution of which is DFS with branching and pruning. Chenjb is an experienced task author, he knows that the constraints can't be too tight, so he will set the time limit t to be 3x, where x is the running time of the intended solution on the slowest test case.

Chenjb heard that the contest would be unfortunately held on Potato OJ, whose hardware is not so good. To protect Potato OJ from being overloaded and the contest being a failure, Chenjb plans to cut down the input size of his task. He has tested the running time of the intended solution and the brute-force solution for various values of n. Note that for simplicity, we assume the running time of the solutions on a test case only depends on the value of n.

Please help Chenjb find the smallest value of n such that 1≤nm, and the brute-force solution won't pass the problem. Note that if the time limit is t, we assume that a solution will pass if and only if its running time on each test case is smaller than or equal to t.

Input:

The input contains multiple cases. The first line of the input contains a single integer T (1≤T≤50), the number of cases.

For each case, the first line of the input contains a single integer m (1≤m≤50), denoting the upper bound of n.

The second line contains m integers a1,a2,…,a**m (1≤a**i≤100,a**ia**i+1), the i-th of which denotes the running time of the intended solution when n=i.

The third line contains m integers b1,b2,…,b**m (1≤b**i≤100,b**ib**i+1), the i-th of which denotes the running time of the brute-force solution when n=i.

Output:

For each case, print a single line containing a single integer denoting the minimum possible value of n. If there is no solution, print −1 instead.

Sample Input:

2
4
1 2 7 20
2 5 30 40
3
2 3 3
5 7 8

Sample Output:

3
-1

思路

该题目大意是在说Chenjb老师在为土豆OJ设计问题通过门槛,由于OJ硬件配置太低,没有办法运行太多用例。现需要裁剪用例个数,要求对每个问题求出过滤掉暴力算法时所需要的最少用例数量。

这个问题乍一看摸不着头脑,实际上却很简单。。。针对一道题目,从左到右遍历用例,找到第一个时间限制(3*理想用例耗时)小于暴力算法耗时的用例为止,已遍历用例的个数就是所需要的值。以示例中的第一道题目为例,从左到右遍历用例,遍历至第3个用例时,发现时间限制(3*7=21)小于暴力算法耗时(30),那么这道用例就能够把暴力算法过滤掉,因此最终结果为3。

代码

python代码:

T=input()
T=int(T)
for i in range(T):
m=input()
intend=input().split()
brute=input().split()
intend=[int(i) for i in intend]
brute=[int(i) for i in brute]
n=-1
for i in range(len(intend)):
if intend[i]*3 < brute[i]:
n=i+1
break
print(n)

[zoj] 4178. Killing the Brute-force的更多相关文章

  1. 小白日记46:kali渗透测试之Web渗透-SqlMap自动注入(四)-sqlmap参数详解- Enumeration,Brute force,UDF injection,File system,OS,Windows Registry,General,Miscellaneous

    sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [ ...

  2. nginx 1.3.9/1.4.0 x86 Brute Force Remote Exploit

    测试方法: 本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! #nginx 1.3.9/1.4.0 x86 brute force remote exploit # copyri ...

  3. SRM 582 Div II Level Three: ColorTheCells, Brute Force 算法

    题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12581 Burte Force 算法,求解了所有了情况,注意  ...

  4. Test SRM Level Three: LargestCircle, Brute Force

    题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=3005&rd=5858 思路: 如果直接用Brute F ...

  5. 安全性测试入门:DVWA系列研究(一):Brute Force暴力破解攻击和防御

    写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体 ...

  6. HDU 6215 Brute Force Sorting(模拟链表 思维)

    Brute Force Sorting Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Othe ...

  7. hdu6215 Brute Force Sorting

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6215 题目: Brute Force Sorting Time Limit: 1000/100 ...

  8. HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting

    Brute Force Sorting Time Limit: 1 Sec  Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...

  9. 「暑期训练」「Brute Force」 Restoring Painting (CFR353D2B)

    题意 给定一定条件,问符合的矩阵有几种. 分析 见了鬼了,这破题谁加的brute force的标签,素质极差.因为范围是1e5,那你平方(枚举算法)的复杂度必然爆. 然后你就会思考其中奥妙无穷的数学规 ...

随机推荐

  1. 【Java】学习路径61-“伪”枚举类型

    public class RolyType { public static final int TEACHER = 0; public static final int STUDENT = 1; pu ...

  2. Qt 场景创建

    1 创建  Q t Widget Application 2 创建窗口 3 创建后的目录  创建完成后运行一下 4 导入资源  将res文件拷贝到 项目工程目录下 添加资源 选择一模版.Qt-Reso ...

  3. C语言可以在执行语句中间定义变量吗?

    C语言可以在执行语句中间定义变量吗? 例如:for(int i=0; i<5; i++){                                                     ...

  4. .Net 7内容汇总(2)--原始字符串

    在C# 11里,添加了一个叫原始字符串的东西. 这个东西算是我相当喜欢以及期待的功能. 我们先来看看这玩意咋用. 首先,我们先来看看之前如果我们需要定义一个带引号的字符串我们需要怎么做. var a ...

  5. 【学习笔记】注意力机制(Attention)

    前言 这一章看啥视频都不好使,啃书就完事儿了,当然了我也没有感觉自己学的特别扎实,不过好歹是有一定的了解了 注意力机制 由于之前的卷积之类的神经网络,选取卷积中最大的那个数,实际上这种行为是没有目的的 ...

  6. 使用kubeoperator安装的k8s 版本1.20.14 将节点上的容器运行时从 Docker Engine 改为 containerd

    官方文档:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/migrating-from-dockershim/change-runt ...

  7. Beats:Beats 入门教程 (二)

  8. Portainer实用教程

    Portainer使用 Nginx 容器实现端口转发 在 WordPress 部署完成后,需要在浏览器内输入 IP:端口或域名:端口 的形式访问网站,但我们一般访问应用的时候都是希望不加端口就能访问域 ...

  9. 使用 fail2ban 和 FirewallD 黑名单保护你的系统

    如果你运行的服务器有面向公众的 SSH 访问,你可能遇到过恶意登录尝试.本文介绍了如何使用两个实用程序来防止入侵者进入我们的系统. 为了防止反复的 ssh 登录尝试,我们来看看 fail2ban.而且 ...

  10. 组件化开发2-安装cocoaPods

    第一步:安装ruby 不能一上来就换ruby源.虽然mac自带了ruby,但是版本一般都偏低,如果不进行更新会导致版本依赖问题. 这里使用rvm来管理ruby,它允许共存多个ruby.RVM:Ruby ...