zoukankan      html  css  js  c++  java
  • 【题解】2015年12月 测试试题

      

      给[学弟们]出了一次测试题,题目比较水,大概在普及难度QAQ。

      题目都是以前我做过的,只是简单修改了一下题面,主要目的还是考一下书上知识的运用。

      然而 。。。不出意料的是。。。

    运筹帷幄

    (road.cpp)

          

    【题目描述】

           刘邦军行至迷糊林,见其中瘴气围绕,又有青狼猛虎之兽,难于前行。

           已知迷糊林是一个共有n个结点的图,点与点之间共有m条道路相连接,每条路有参数t,c,分别表示行走于该路的时间以及兵士损失量。你已知道,刘邦除了脸皮厚什么都不会而且兵力少得可怜,所以需要在刘邦不死(士兵会先死)的情况下尽快走出迷糊林。

           刘邦踞鞍而问曰:“子房,如之奈何?”。

    【文件格式】
    输入文件:

           第一行两个整数n,m,表示节点数以及边数。

           以下m行每行4个整数u,v,c,t,表示u点以及v点之间有一条参数为c,t的边,c为兵士损失量,t为耗费时间。

           第m+2行有两个整数s,t,表示起点与终点。

           第m+3行有一个整数k,表示刘邦军的兵力。

    输出文件:

           一个整数表示能走出迷糊林的最短时间,如果不能走出请输出-1。

    【样例数据】

    Input(road.in)
    4 5
    1 2 2 3
    1 3 3 5
    1 4 7 10
    2 4 4 6
    3 4 2 6
    1 4
    5

    Output (road.out)

    11

    【数据约定】

           n<=5000 ,m<=40000 , c,d<=300 , k<=10^9

    [Hint]

    本题数据随机生成。

       【思路】  

        最短路优化搜索。

          链接:http://www.cnblogs.com/lidaxin/p/4911740.html

    信息交换

    (message.cpp)

    【题目描述】

           Byteland战火又起,农夫John派他的奶牛潜入敌国获取情报信息。

           Cow历尽千辛万苦终于将敌国的编码规则总结如下:

           1 编码是由大写字母组成的字符串。

    2 设定了密字。加密的过程就是把原信息的字母替换成对应密字。

           3 一个字母有且仅有一个对应密字,不同字母对应不同密字。

           如今,Cow终于获取了敌国发送的一条加密信息和对应的原信息。Cow如下破解密码:扫描原信息,对于原信息中的字母x,找到它在加密信息中的对应大写字母y,且认为y是x的密字。

           Cow的工作停止于以下情况:

           1 信息扫描完毕且没有差错

           2 扫描完毕但有字母没有在原信息中出现。

           3 扫描中出现矛盾或错误,即违反上述的规则。

           现在,John发来信息,要求Cow利用破译的密字翻译一条刚刚截获的敌国信息。

    【文件格式】

    输入文件:

           第一行为Cow知道的一条加密信息。

           第二行为加密信息的原信息。

           第三行为John要求Cow翻译的加密信息。

    输出文件:

           一行,如果出现2 3 所示的停止情况则输出“Failed”,否则翻译John传送的信息。

    【样例数据】

    #1

    Input

    QWERTYUIOPLKJHGFDSAZXCVBN

    ABCDEFGHIJKLMNOPQRSTUVWXY

    DSLIEWO

    Output

    Failed

    #2

    Input

    QWERTYUIOPLKJHGFDSAZXCVBNM

    ABCDEFGHIJKLMNOPQRSTUVWXYZ

    IQHPOQKGHU

    Output

    HANJIALONG

      

      【思路】

        简单模拟

          NOIP2009 T1

    树上奶牛

    (tree.cpp)

    【题目描述】

           农夫John的奶牛不是住在地上而是住在树上的QWQ。

           奶牛之间需要串门,不过在串门之前他们会向John询问距离的大小。可是John的产业有点大奶牛的个数有点多,这让农夫John感到头疼,你能帮助他吗?

           Ps:这里提到的树为OI界的[树],即无向无环图。而且因为一棵树的承载量是有限的,所以所有的奶牛可能会分布在不同的树上,即OI界的[森林]。

    【文件格式】

    输入文件:

           第一行两个整数n m,分别表示n个结点m条边。

           以下m行,每行三个整数u,v,w,分别表示u,v之间有一条距离为w的树边。

           第m+2行一个整数q,表示询问的个数。

           以下q行,每行两个整数u,v,表示奶牛要询问u,v之间的距离。

    输出文件:

           输出q行,每行对应一个询问输出答案。如果u,v不处于同一棵树上,请回答-1。

    【样例数据】

    Input(tree.in

    5 3

    1 3 5393

    3 4 2845

    4 2 3757

    3

    1 4

    1 2

    1 5

    Output (tree.out)

    8238

    11995

    -1

    【数据约束】

    对于30%的数据,n<=1000 , m<=1000 , q<=10000。

    对于100%的数据,n<=10000,m<=40000,q<=100000。

    [Hint] 对于所有数据皆随机生成。

       【思路】

        LCA问题。

        ps:话说在出题之前我并没有看过 bzoj 1602  =-=

         

    全排列

    (long.cpp)

    【题目描述】

           给定两个1..n的全排列,求两个全排列的最长公共子串。

    【文件格式】

           输入文件第一行一个整数为n,第二 三行分别有n个数表示两个全排列。

           只输出一个整数表示LCP大小。

    【样例数据】

    Input (long.in)

           5

    1 3 2 4 5

    2 5 1 2 3

    Output (long.out)

           2

    【数据描述】

           对于30%的数据: n<=3000

           对于100%的数据:n<=100000

      【思路】

       LCS转LIS+LIS的O(nlogn)算法

         链接:http://www.cnblogs.com/lidaxin/p/4897055.html

      测试数据和代码戳这儿:http://pan.baidu.com/s/1nuf2I2d

  • 相关阅读:
    2020.05.27
    static{}静态代码块与{}普通代码块之间的区别
    Spring 注解@Autowired注解
    java:List的深拷贝
    IDEA中MAVEN无法自动加载的问题
    java Comparator接口
    JAVA ArrayList<E>
    JAVA BigInteger
    JAVA输入输出
    JAVA String,StringBuilder的一些API
  • 原文地址:https://www.cnblogs.com/lidaxin/p/5103284.html
Copyright © 2011-2022 走看看