• 2018 Multi-University Training Contest 1 1002 /hdu6299 贪心 1007 /hdu6304 找规律


    1002 /hdu6299 Balanced Sequence

    题意:
    给出 n 个括号串,要把这 n 个串任意排序连接成一个串,求最后连接成的串中,最长匹配子序列。
    题解:
    所有 n 个串中,本身能匹配的就先匹配掉,最后剩下三种串, "(((" 、 ")))((((" 、 ")))))" 。给这三种串按以下优先级排序:
    1、"((((" ;
    2、"))))((((" 中 ')' < '(' 的 , 按 ')' 从小到大排序 ;
    3、"))))((((" 中 ')' >= '(' 的 , 按 '(' 从大到小排序 ;
    4、")))))" ;


    ###[1007 /hdu6304 Chiaki Sequence Revisited](acm.hdu.edu.cn/showproblem.php?pid=6304) 题意: 给出序列生成函数,if(n<=2) a[n] = 1; else a[n] = a[n-a[n-1]] + a[n-1-a[n-2]]; T组数据,每次求前 n 项和。 1≤T≤1e5,1≤n≤1e18 。 题解: 找规律,打表前面几个数,1, 1, 2, 2, 3, 4, 4, 4, 5, 6, 6, 7, 8, 8, 8, 8, 9, 10, 10, 11, 12, 12, 12, 13, 14, 14, 15, 16, 16, 16, 16, 16, 17, 18, 18, 19, 20, 20, 20, 21, 22, 22, 23, 24, 24, 24, 24, 25, 26, 26, 27, 28, 28, 28, 29, 30, 30, 31, 32, 32, 32, 32, 32, 32, 33, 34, 34, 35, 36, 36, 36, 37, 38, 38, 39, 40, 40, 40, 40, 41, 42, 42, 43, 44, 44, 44, 45, 46, 46, 47, 48, 48, 48, 48, 48, 49, 50, 50, 51, 52, 52, 52, 53, 54, 54, 55, 56, 56, 56, 56, 57, 58, 58, 59, 60, 60, 60, 61, 62, 62

    发现,
    出现1次的:3,5,7,9...... 公差为2的等差数列
    出现2次的:2 ,6,10,14....... 公差为4的等差数列
    出现3次的:4,12,20,28...... 公差为8的等差数列
    出现4次的:8 ,24,40,56..... 公差为16的等差数列
    ......
    每个数出现次数就是 lowbit() 。

    所以二分出第 n 个是哪个数,再等差数列求和即可。

  • 相关阅读:
    表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)
    理解HTTP session原理及应用
    “不同浏览器对于同一域名的并发获取(加载)资源数是有限的”
    URL编码与解码
    URL和URI的区别与联系
    spring 源代码地址
    java_ant详解
    Struts2 Convention插件的使用
    Struts2的@ResultPath
    Java Annotation原理分析(一)
  • 原文地址:https://www.cnblogs.com/sbfhy/p/9455988.html
Copyright © 2020-2023  润新知