zoukankan      html  css  js  c++  java
  • 学校2016双基竞赛 4/10

    1、华东交通大学2016年ACM“双基”程序设计竞赛  4/10    

    03 总结找规律的题,二叉树的先序遍历,从根节点向下一直到叶子节点,判断路径上的左右子树(向左,序号增1,向右,序号增加(左子树的节点个数)) 
     
    04 题意:((a-b)*c+d*e)/f=k,给定K的值,一共有多少种不同整数的组合(a,b,c,d,e,f)使公式成立(-50≤a,b,c,d,e,f≤50) 总结重点是将公式转为(a-b)*c=k*f-d*e,将复杂度从O(n^6)化为O(n^3)。 一开始用map,结果超时,看来map存取花时间多。
     
    05 题意:给出a,b,c,求(a^b)*c%mod,( mod=1e9+7,b<=10^100000 )。 总结好题欧拉定理,大数取模,快速幂。
     
    07 题意:给出多场球赛的开始、结束时间,要看完所有比赛,但一台电脑同一时间只能看一场比赛,求要多少电脑。    总结一开始用贪心,但超时。 这题只要在开始时间+1,结束时间-1,然后计算最大的前缀和就可以了。
     
    08 题意:给出n个数ans=min(a,b)*abs(pos_a-pos_b),输出ans的最大值。 总结要善于找规律。题目的范围都是1e6,所以ans的值主要是以abs(pos_a-pos_b)为主。  做法:O(n)处理,注意开LL,取数列的左右界l,r,得到初始答案ans,每次取min(a[l],a[r])的一侧向中心遍历,当找到更大的数时,能更新则更新答案,当l>r结束,输出ans。
     
    06、09压轴题,不会。先贴出学长的题解吧
             6.这个题如果不是强制在线那么只需要维护一个字典树就行了。强制在线的话就维护一个树上的可持久化字典树就行了。
             9.数据出得水,验题的时候没人写,其实暴力就可过。
    标称做法是:后缀数组处理出sa数组和height数组,再对height建立RMQ来O(1)求出lcp(l,r);在每次查询的时候找到当前k串在sa数组中的位置以及在height数组中与其lcp长度为len(k)所能覆盖范围,
    二分就可以得到向左向右延伸范围L,R,在这个范围里面我们只要1~n里面出现过的次数,就是相当于在一个任意区间内求出里面包含了多少个不同的数,这个用主席树解决。。或者可以后缀自动机之类的也可做。
  • 相关阅读:
    使用pycharm开发代码上传到GitLab和GitHub
    私有仓库GitLab快速入门篇
    修改Linux Operating System的时间与时区
    版本控制工具Git工具快速入门-Linux篇
    Hadoop生态圈-Oozie实战之调度shell脚本
    Hadoop生态圈-Oozie实战之逻辑调度执行多个Job
    JavaScript基础知识-相等运算符
    Hadoop生态圈-Oozie部署实战
    Tomcat定义虚拟主机案例
    Tomcat的配置文件详解
  • 原文地址:https://www.cnblogs.com/sbfhy/p/6095759.html
Copyright © 2011-2022 走看看