精华内容
下载资源
问答
  • OJ 题目中 时间限制与内存限制 复杂度的估计

    在这里插入图片描述
    运行时限为1s,这很常见,对于该时限,我们设计的算法复杂度不能超过百万级别,即不要超过一千万。假如算法时间复杂度为 O ( n 2 ) O(n^2) O(n2),则n应该满足 n ≤ 3000 n≤3000 n3000

    空间限制是125.00MB,即你程序中申请的内存不能超过125MB,简单计算一下就能知道你申请了多少内存,比如int a[100],大致需要 100 × 4 × 8 b i t 100×4×8 bit 100×4×8bit

    现如今的机试题一般不会对空间有太多限制,所以多数情况我们应该有“空间换时间”的思想

    展开全文
  • OJ

    2020-05-13 10:36:48
    作者: Turbo时间限制: 1S章节: 基本练习(字符串) 问题描述 : 给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个...

    46 字串统计

    作者: Turbo时间限制: 1S章节: 基本练习(字符串)

    问题描述 :

    给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。

    输入说明 :

    第一行一个数字L。
      第二行是字符串S。
      L大于0,且不超过S的长度。

    n<=60
      S中所有字符都是小写英文字母。

    输出说明 :

    一行,题目要求的字符串。

    输入样例1:
      4
      bbaabbaaaaa

    输出样例1:
      bbaa

    输入样例2:
      2
      bbaabbaaaaa

    输出样例2:
      aa

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int l, maxn, cnt,i,k,j,t,len;
        char s[60], *s1, *s2, *ans;
        scanf("%d", &l);
        scanf("%s",s);
       	len =strlen(s);
        maxn = cnt = 0;
     
        for(i = l; i <= len; i++)//最低子串长度 
    	{
            for(j = 0; j + i <= len; j++)
    		{
                cnt = 0;
                s1= &s[j];//记录子串起始位置 
                for(k = 0; k+i <= len; k++)//这个循环用于查找子串重复次数 
    			{
                    s2 = &s[k];
                    if(!strncmp(s1,s2,i))
                        cnt++;
                }
                if(cnt > maxn)
                {
                	t=i;
                    ans = s1;
                    maxn = cnt;
                }
    			else if(cnt==maxn && i>t)
    			{
    				t=i;
                    ans = s1;
                    maxn = cnt;
    			}
     
            }
        }
     
        for(k=0;k<t;k++)
        {
        	printf("%c",*(ans+k));
    	}
    	
        return 0;
    }
    
    展开全文
  • ytuOj3290Taro's Shopping

    2018-09-28 13:43:34
    时间限制: 1 Sec 内存限制: 128 MB 提交: 118 解决: 46 [提交][状态][讨论版][命题人:acm4302] 题目描述 Mammy决定给Taro带来他的第一次购物体验。Mammy告诉他从购物目录中列出的那些中选择他想要的任何两件物品,...

    问题 J: Taro’s Shopping

    时间限制: 1 Sec 内存限制: 128 MB
    提交: 118 解决: 46
    [提交][状态][讨论版][命题人:acm4302]
    题目描述
    Mammy决定给Taro带来他的第一次购物体验。Mammy告诉他从购物目录中列出的那些中选择他想要的任何两件物品,但是Taro无法决定哪两件,因为所有物品看起来都很吸引人。因此,他计划购买价值最高的两件物品,不超过Mammy允许的金额。由于获得两个相同的物品很无聊,他想要两个不同的物品。
    你被要求帮助Taro选择这两个物品。给出了所有物品的价目表。在列表中的两个物品对中,找到最高价格总和不超过允许金额的对,并打印总和。买两件,不是一件,也不是三件,也不是更多。请注意,列表中的两个或多个物品的定价可能相同。
    输入
    输入由多个数据集组成,每个数据集采用以下格式。
    n m
    a1 a2 … an
    数据由两行组成。在第一行中,给出了物品数n和允许的最大支付额m.n 是2≤n≤1000的整数.m是满足2≤m≤2,000,000的整数。在第二行中,给出了n个物品的价格。ai(1≤i≤n)是第i个物品的价格。该值是大于或等于1且小于或等于1,000,000的整数。
    输入的结尾由包含两个零的行指示。所有数据集的n的总和不超过50,000。

    输出
    对于每个数据集,找到最高价格总和不超过允许量m的两件物品,并在一行中输出总和。如果每对项目的价格总和都超过m,则输出NONE。
    样例输入
    3 45
    10 20 30
    6 10
    1 2 5 8 9 11
    7 100
    11 34 83 47 59 29 70
    4 100
    80 70 60 50
    4 20
    10 5 10 16
    0 0
    样例输出
    40
    10
    99
    NONE
    20
    [提交][状态]

    代码可能有点冗杂,欢迎在下面留言,我会解释解释,欢迎各位大佬批评指正

    #include<iostream>
    #include<algorithm>
    #include<stdlib.h>
    using namespace std;
    int main()
    {
        int n,m,i;
        while(cin>>n>>m&&m&&n)
        {
            int value[n];
            for(i=0;i<n;i++)
                cin>>value[i];
            sort(value,value+n);
            int j,sum,cont,temp,ans=0;
            if(value[0]+value[1]>m)
                cout<<"NONE"<<endl;
            else
            {
            for(i=n-1;i>=0;i--)
            {
                cont=0,sum=0,temp=m;
                    if(value[i]<temp)
                    {
                        sum+=value[i];
                        temp-=value[i];
                        cont++;
                        for(j=i-1;j>=0;j--)
                        {
                            if(value[j]<=temp)
                            {
                                sum+=value[j];
                                cont++;
                            }
                            if(cont==2)
                                break;
                        }
                        if(cont==1)
                            continue;
                        else
                            if(sum>ans)
                            ans=sum;
                    }
            }
            cout<<ans<<endl;
            }
        }
        return 0;
    }
    
    展开全文
  • 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 21 测试通过 : 9  比赛描述 一个单位时间任务是恰好需要一个单位时间完成的任务。给定一个单位时间任务的有限集S。关于S ...

    任务时间表问题

    时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
    总提交 : 21            测试通过 : 9 

    比赛描述

    一个单位时间任务是恰好需要一个单位时间完成的任务。给定一个单位时间任务的有限集S。关于S 的一个时间表用于描述S 中单位时间任务的执行次序。时间表中第1 个任务从时间0 开始执行直至时间1 结束,第2 个任务从时间1 开始执行至时间2 结束,…,第n个任务从时间n-1 开始执行直至时间n结束。

    具有截止时间和误时惩罚的单位时间任务时间表问题可描述如下。

    (1) n 个单位时间任务的集合S={1,2,…,n};

    (2) 任务i的截止时间di ,1≤i≤n,1≤di ≤n,即要求任务i 在时间di 之前结束;

    (3) 任务i 的误时惩罚wi ,1≤i≤n,即任务i 未在时间di 之前结束将招致wi 的惩罚;

    若按时完成则无惩罚。

    任务时间表问题要求确定S 的一个时间表(最优时间表)使得总误时惩罚达到最小。

    给定n 个单位时间任务,各任务的截止时间di ,各任务的误时惩罚wi,1≤i≤n,编程计算最优时间表。



    输入

    第一行是正整数n,表示任务数。接下来的2行中,每行有n个正整数,分别表示各任务的截止时间和误时惩罚。

    输出

    将计算出的最小总误时惩罚输出。

    样例输入

    7
    4 2 4 3 1 4 6
    70 60 50 40 30 20 10

    样例输出

    50



    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    struct tsk{
    	int dl,pn;
    };
    
    bool operator<(const tsk t1, const tsk t2){
    	return t1.pn<t2.pn;
    }
    
    int main(){
    //	freopen("test.txt","r",stdin);
    	int n,i,j,punish=0;
    	scanf("%d",&n);
    	tsk *t = new tsk[n];
    	bool *done = new bool[n];
    	for(i=0;i<n;i++){
    		scanf("%d",&t[i].dl);
    	}
    	for(i=0;i<n;i++){
    		scanf("%d",&t[i].pn);
    		done[i] = 0;
    	}
    	sort(t,t+n);
    	for(i=n;i>0;i--){
    		for(j=n-1;j>=0; j--){
    			if(!done[j] && t[j].dl>=i){
    				done[j] = 1;
    				break;
    			}
    		}
    	}
    	for(punish=i=0;i<n;i++){
    		if(!done[i]){
    			punish += t[i].pn;
    		}
    	}
    	printf("%d\n",punish);
    }






    展开全文
  • 航电oj:Hat’s Fibonacci ** #题目描述 #要你求出所给数的对应值 #看到note 就知道大概不能直接算了 是大数运算 #知识点 大数运算 #代码 第一版 因为没有压缩空间 导致超存 但是减少空间又会超时 或 直接错误 ...
  • Jarvis OJ level1

    2018-07-06 12:09:50
    liu@liu-F117-F:~/桌面/oj/level1$ checksec level1 [*] '/home/liu/\xe6\xa1\x8c\xe9\x9d\xa2/oj/level1/level1' Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: ...
  • 南邮 OJ 1238 最优时间表问题

    千次阅读 2015-08-05 13:57:26
    时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 26 测试通过 : 10  比赛描述 一台精密仪器的工作时间为n 个时间单位。与仪器工作时间同步进行若干仪器维修程序。...
  • 作者: Turbo时间限制: 1S章节: 基本练习 问题描述 给定一个以秒为单位的时间t,要求用“::”的格式来表示这个时间。表示时间,表示分钟,而表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0...
  • 时间限制(普通/Java) : 2000 MS/ 6000 MS 运行内存限制 : 65536 KByte 总提交 : 95 测试通过 : 35  比赛描述 Children’s Day is coming . In this day , children will get a lot of cand
  • QUST'S OJ problem1342 完数

    2016-08-18 21:47:16
    时间限制:10 Sec 内存限制: 128 MB 题目描述 一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其...
  • 时间限制1 秒 内存限制:128 兆 特殊判题:否 题目描述: Goldbach's Conjecture: For any even number n greater than or equal to 4, there exists at least one pair of prime numbers p1
  • printf("%s\n",out[i]); return 0; } OJ给的反应 Time Limit Exceeded Extended Results: r+++++++++ [b]哪儿耗用时间多了? 如果想用类似 数大小 的排序,那么与前缀无关的字符怎么弄? 还有 我的运行 ...
  • 时间限制(普通/Java) : 3000 MS/ 9000 MS 运行内存限制 : 65536 KByte 总提交 : 76 测试通过 : 11  比赛描述 KSS是nupt集训队里公认的最具有金牌实力的选手,熟练掌握多种金牌算法,但是由于队友...
  • 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 156 测试通过 : 40  比赛描述 距离期末考试还有六天的时间了,昨天Lithium在冒雨去自习的路上被室友挤出伞外淋成了落汤鸡...
  • #include<stdio.h> int main(){ int n; scanf("%d",&n); while(n--){ int a,b,num1,num2,t,j,k; scanf("%d%d",&num1,&num2); ...
  • 时间限制:1 Sec 内存限制: 128 MB 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的...
  • A. Study sister's dragon 第十届北京邮电...时间限制 1000 ms 内存限制 65536 KB 题目描述 Study sister plays the game coc everyday. One day, she asked Study brother to donate a dragon into her
  • 时间限制1 秒 内存限制:128 兆 特殊判题:否 提交:1962 解决:1207 题目描述: Goldbach's Conjecture: For any even number n greater than or equal to 4, there exists at leas
  • OJ术语

    2020-05-27 19:45:18
    Accepted (AC) : OK! Your program is correct!... Your output format is not exactly the same as the judge's output, although your answer to the problem is correct. Check your output for space
  • 题意:类似经典的Nim博弈,不同的是这个题限制了可使用的操作,给出了操作集合。于是我们根据操作集合先做出SG数组就行了。 WA了一遍,有一个坑点就是给出的操作不一定是升序的,需要先排下序。。。 感觉自己是个...
  • 南邮 OJ 1631 有趣的0OR1

    2015-08-06 10:22:05
    时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 26 测试通过 : 14  比赛描述 解决了一道题目是一件有趣的事!最近,qingyezhu遇到了一道难题,自己想了好几天都没有...
  • HDU oj 1247 Hat’s Words 点击打开链接 题目大意: 给出一些单词,找出其中某些可以用另外两个单词拼接而成的单词 题目分析: 如果在没学字典树之前,我们的朴素方法是依次遍历,比如第二个输入“ahat”,要查询这...
  • OJ开发笔记(1

    2015-12-27 13:11:00
    最近想挖坑搞个跑在linux上的OJ,查了很多资料,也读了很多大神的代码,自己有些感悟。于是把评测内核的部分功能写了出来,这里做个笔记备忘啦。  学校用的OJ是几年前的hustoj,只支持C/C++,Java和Pascal跑起来...
  • 时间限制:1 Sec 内存限制:128 MB 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低...
  • 题目来源:http://www.tsinsen.com/A1133最近北京大学因为高考原因OJ登不... 装箱问题时间限制:1.0s 内存限制:256.0MB 试题来源NOIP2001 普及组问题描述 有一个箱子容量为V(正整数,0),同时有n个物品(0),...
  • 可能的解决方案1:安装docker(运行judge_client目录下的docker.sh)并启用OJ_USE_DOCKER=1 或2:卸载阿里云盾。** 基于 Ubuntu 18.04 安装 即将脱离维护期,不推荐 wget http://dl.hustoj.com/install-ubuntu18.04.sh ...
  • 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 126 测试通过 : 64  比赛描述  万万没想到,啦啦啦啦啦。  《万万没想到》作为时下最火的网络剧,相信大家都很...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,842
精华内容 2,736
关键字:

oj时间限制1s