学校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里面出现过的次数,就是相当于在一个任意区间内求出里面包含了多少个不同的数,这个用主席树解决。。或者可以后缀自动机之类的也可做。

时间: 2024-10-01 22:02:53

学校2016双基竞赛 4/10的相关文章

HDU 5867 Water problem (2016 多校训练#10 1011)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5867 题意:给一个不超过一千的数字N,求出1-N所有单词加起来的字母个数和(f(1)=len(one)=3,f(2)=f(1)+len(two)=6...). 分析:一看名字就知道是到水题了...直接打表.(保险起见,我还手打了20内的表). 代码: #include<cstdio> #include<cmath> #include<cstring> #incl

算法竞赛入门10.2计数与概率基础例题代码

10.6 Irrelevant Elements UVA1635 思路:基础组合计数 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> const int N = 1e5+5; using namespace std; long long C[N][20]; int prime[20][2]; inline int judge(int x,int m,int k) {

C++第十四天笔记2016年03月10日(周四) A.M

1. 线性结构:链表和数组 数组:可以访问任意位置的元素.添加删除操作相对麻烦. 链表:添加删除效率相对较高.只能从第一个元素开始访问. 访问较多:数组.添加删除较多:链表. 数组:元素类型 数组名[元素个数]; 2.  如何创建链表: 链表:链表中的每一个元素称为节点. 节点:数据域(存储数据)和指针域(存储下一节点的地址编号). 3.  双向链表:数据域和指针域(包含两个,其中一个指向下一个节点,另外一个指向上一个节点) 4.  头结点:链表中的第一个节点 空链表:链表中无任何节点. 1 #

2016年5月10日curl,chkconfig

1. Linux系统服务管理 工具ntsysv 类似图形界面管理工具,如果没有该命令使用 yum install -y ntsysv 安装 常用服务:crond, iptables, network, sshd, syslog, irqbalance, sendmail, microcode_ctl  chkconfig --list   chkconfig --add/del servicename  chkconfig --level [345] servicename on/off 2.

2016 Multi-University Training Contest 10 || hdu 5860 Death Sequence(递推+单线约瑟夫问题)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5860 题目大意:给你n个人排成一列编号,每次杀第一个人第i×k+1个人一直杀到没的杀.然后剩下的人重新编号从1-剩余的人数.按照上面的方式杀.问第几次杀的是谁. 分析 一轮过后和原来问题比只是人的编号发生变化,故可以转化为子问题求解,不妨设这n个人的编号是0~n-1,对于第i个人,如果i%k=0,那么这个人一定是第一轮出列的第i/k+1个人:如果i%k!=0,那么这个人下一轮的编号就是i

2016年11月10日--CSS动画

jquery动画:http://www.w3school.com.cn/jquery/jquery_animate.aspCSS3动画教程1:http://www.w3school.com.cn/css3/css3_animation.aspCSS3动画教程2:http://www.runoob.com/css3/css3-animations.html . CSS3的动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 属性 描述 CSS @keyframes 规定动画. 3

HDU 5858 Hard problem (2016 多校训练#10 1002)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5858 题意:给出下图和正方形边长,求阴影部分面积. 分析:数学题,总之就是割来割去推公式,比赛时是队友打的,拿他代码直接贴了. 具体分析可以看这里. http://www.zybang.com/question/1301cb472211299680f8d4796e7dc797.html 代码: #include<cstdio> #include<cmath> #includ

2016年4月10号渗透学习总结

今天主要学习了,mysql和mssql的提权. 想要通过数据库提权最重要的条件就是要知道数据库root的账号和密码. mysql提权: 获取mysql数据库账号密码的方法: 查看网站配置文件(conn config data sql common inc等)2.查看数据库安装路径下的文件 安装目录/data/mysql/user.myd myi3.通过暴力破解得到(对于高版本数据库用处不大) 暴力破解需要用到的两个不错的工具是:hscan hydra   hydra有linux的版本,在wind

2016年3月10日Android实习日记

待解决问题: *1:内部ScrollView与外部手势事件滑动冲突问题. *2:Linearlayout+View+LinearLayout横向排列,这其中两个LinearLayout内部各有3个竖向排列的TextView,这3个TextView的居中问题. 今天解决的问题: 1. 2. 3. 4. 5. 6.