SJTU

作者: yingtaomj | 来源:发表于2017-03-11 11:35 被阅读21次

    很多题不告诉输入的数量和数据的规模

    2009

    题目链接:http://www.cskaoyan.com/forum.php?mod=viewthread&tid=12508&extra=page%3D2%26filter%3Ddigest%26digest%3D1

    1. 计算两天天数之差(模拟题)
    2. 算矩阵积分(没有题)
    3. 数组操作
    4. 大小字母出现次数

    这一年大概是这么多年最简单的一次了。

    2010

    题目链接:http://blog.csdn.net/acm_jl/article/details/51106974

    1. 后缀子串排序string array[100]
    len = str.length();
    arr[i] = str.substr(len-i-1,len);
    sort(arr,arr+len);//in algorithm
    cout<<a[i]<<endl;
    
    1. 不带括号的四则运算,把所有结果当做加数存在数组里,不能把全部输入当做字符串处理,必须边输入边处理。
      计算所有乘除法,把结果依次保存在数组里,最后把数组剩下的数全部相加。
    2. 依次计算把每一点作为左上角定点的矩形满足条件的最小矩形面积。循环,不用DFS。
      没有ac,永远不懂九度的OJ。。

    2010推免

    题目链接:http://www.cskaoyan.com/forum.php?mod=viewthread&tid=24306&extra=page%3D2%26filter%3Ddigest%26digest%3D1

    1. 大数相乘(调代码调到吐)
    2. ???
    3. 只会暴力,从i=1...100000遍历,感觉和清华http://ac.jobdu.com/problem.php?pid=1491有点像。
    4. 插入排序
      计算最长非递减子序列,剩下的就是要插入的数了。(感觉是对的?)
    5. 内存分配
      为什么上交特喜欢这种考TLE的题……qwq

    2012推免

    题目链接:http://www.cskaoyan.com/forum.php?mod=viewthread&tid=161708&extra=page%3D2%26filter%3Ddigest%26digest%3D1

    1. 不能用三个数的平方和表示的数的格式为:(4^n)(8m+7),遍历n和m,注意剪枝(我也不知道有没有TLE)
    2. 马遍历棋盘,没有搜到。

    2013

    题目链接:

    1. 字典序排序一些二值对,输入形式(k,v)
    int Comp(const void*p1,const void*p2)
    {
        struct Node*c=(Node*)p1;
        struct Node*d=(Node*)p2;
        if(c->x!=d->x)
            return c->x-d->x;
        else return d->y-c->y;
    }//结构体排序
    qsort(node,length,sizeof(node[0]),cmp)
    
    1. 计算阶乘结尾的0的个数,找规律,求出N的阶乘的所有因式(1,2,3,...,N)分解中5的指数

    2. 用高精度整数保存十进制整数的小数部分,记为n,对n执行:1.将n自乘以16,保存n的最高位到结果数组ret[]里面;2.将n的最高位置为0;3.若n不为0或者以上操作已经执行了32次,则返回1,否则算法结束,最后只需要按照相应的格式打印结果即可

    2014

    题目链接:http://www.cskaoyan.com/thread-240783-1-3.html

    1. next_permutation
    2. 能否通过调整字符串的顺序使相同字符串间隔大于指定k。
      首先扫描整个输入,记录每一个字符串的后面和它相同的有多少个。
      若满足所有字符个数-1>=(出现最多次字符的次数-1)*指定k+出现最多次字符的个数-1,则可以。
      寻找从指定位置开始是否有**,a.find(" ", place) != string::npos
    3. 读取不知道规模的矩阵,用getchar()。只是从上到下扫描,不知道怎么简化??

    2015考研

    题目链接:http://www.cskaoyan.com/thread-247894-1-3.html

    1. 计算素数的个数(应该没啥简便方法……?)
    2. 利用后缀树得到字符串里最长重复子串:将所有后缀序列sort排序,最长的公共前缀就是想要的答案。复杂度O(n)
    3. 椭圆周长。没有可用的公式,要自己推导。

    2015推免

    题目链接:http://www.cskaoyan.com/thread-594266-1-2.html

    1. 求和的组合方式,DFS,用cnt[i]记录每一个数用了多少次。递归关键点:
    for (i = pos;i<all; i++)//pos是寻找的起点
        {
            cnt[i]++;//cnt[i]记录第i个数用了几次
            DFS(tot + a[i], pos);
                    pos++;//在下一次DFS时,前进一位开始找
                          //比如之前是11111现在是122222
            cnt[i]--;
        }
    
    1. 字符串的处理,输出除去输入中的'A','I','E','O','U'(即元音),且出现过的字母、下划线不再重复出现,且单词之间至多只能有一个空格。
    2. 求一个数由2的幂次组合相加的种类数。和第一题不一样,是找规律的题。不用递归,用数组存储。

    2016

    题目链接: http://www.cskaoyan.com/thread-595986-1-1.html

    1. 求第一个字符串的所有子串中包含第二个子串的个数。看清题意!
      三重循环,先截取不同长度的子串,然后从左向右依次strcmp。如果找到则停止。
    2. 包含括号、可以检查输入是否合法的计算器。设数字和操作符这两个栈,加减一个优先级,乘除一个优先级。考虑读取小数的情况。操作符优先级高的进栈,否则先处理栈中的操作符,直到待处理的操作符优先级高才进栈。
    3. 任意阶魔方阵。遍历会超时。有规律。

    2017

    题目链接:http://www.cskaoyan.com/thread-642276-1-1.html

    1. 实现atoi函数,题目没有说,但是要考虑负数、0、数字字母组合 情况。
    2. 寻找一个序列的最长之字形的长度,如1 5 3 6 1的长度为5,1 3 5的长度为2。
    3. Sum of Fibonacci。用a[i]保存斐波那契数列,用递归计算方法数。
    if (a[i]>n) //优化点
            return;
    if (sum<n) 
        {
            dfs(i + 1, sum + a[i]); //选取a[i] 
            dfs( i + 1, sum);    //不选取a[i] 
        }
    

    相关文章

      网友评论

          本文标题:SJTU

          本文链接:https://www.haomeiwen.com/subject/sdjogttx.html