BNU2017校赛
A(模拟)
题意:求一个特殊图的最大流
分析:画画图发现就是for循环扫一遍
B(LCA)
题意:有n个点组成的树,有q个询问,每个询问(A,B,C),学生从B点走最短路径走到C点,再从C点走到根节点1,问老师从A点出发,能否拦截到学生。
分析:
设u=LCA(A,lCA(B,C))
那么如果A->u的距离小于从B出发走到u的距离,那么就能拦截
如果距离大于,那么不能拦截
如果距离等于,要判断此点是否在根节点,如果在根节点,那么要判断老师和学生是走一条链上来的还是两条链上来,如果是走一条链上来就能拦截住,否则不能拦截住;具体判断方法就是求下LCA(A,C)
C(模拟)
=w=
D(竞赛图性质)
题意:所有由n个点的竞赛图中,问最长链分别为1、2、3....n的有多少种
分析:
暴力构造竞赛图,暴力求最长链
然后会得到一个神奇的结论,竞赛图中必存在哈密顿路,最长链就是点数
E(三分/数学)
题意:给你一个三角形,以每个顶点为圆心画圆,要求这三个圆互不相交(但不能内含),而且圆的半径可以为0,求这三个圆的面积和的最大值
分析:
先肯定猜三分,然后输出方案会发现必有一个是0……
然后就只要考虑两个圆相切的情况
F(计算几何)
待填坑
G(状压dp)
待填坑
H(splay+bit)
题意:n个人有各自的编号,也有各自的排名(排名1~n),排名>0.6*n的人得到安慰奖
有两种操作:
op1:给定x,y,把编号为x的人的排名提升到第y名,原本排名>=y的顺次降低一个排名
op2:给定x,y,问编号在x~y范围的人中有多少人得到安慰奖
分析:
如果某个人得到安慰奖,那就用1表示,否则用0表示,那么x~y内得到安慰奖的人数就可以用区间和来表示
注意到一次操作1,顶多改变2个人的01值,所以这完全可以用树状数组来维护
至于排名,则可以用splay来维护
所以splay+bit就可以了
这题由于数据比较小,分块其实跑得更快
分块按照排名分块,每次提排名操作必然会导致块的大小的不平衡,所以有个好方法就是每隔根号n次操作,重新构一次块
I(网络流)
待填坑
J(kmp)
题意:给定一个字符串S(|S|<=2000),考虑它的任意一个前缀pre[i],任意一个后缀suf[j],找到pre[i]的一个最长后缀B正好是suf[j]的前缀,那么pre[i]=A+B,suf[j]=B+C,定义这样的f(i,j)=|A|*|B|^2*|C|,求所有f(i,j)的异或和
分析:
枚举每一个后缀,再枚举前缀,快速求得|B|就能解决问题
然后我们发现,这样的一位一位去枚举前缀的过程,实际上可以用这个后缀和原串S做kmp来代替
所以就是提前预处理出所有后缀的next[],然后枚举后缀和原串做kmp,就可以得到每对(i,j)的值了,把他们异或就行了
K(模拟)
QvQ
BNU2017校赛的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- SCNU省选校赛第二场B题题解
今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...
- 2014上半年acm总结(1)(入门+校赛)
大一下学期才开始了acm,不得不说有一点迟,但是acm确实使我的生活充实了很多,,不至于像以前一样经常没事干= = 上学期的颓废使我的c语言学的渣的一笔..靠考前突击才基本掌握了语法 寒假突然醒悟, ...
- 2017CUIT校赛-线上赛
2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...
- HZNU第十二届校赛赛后补题
愉快的校赛翻皮水! 题解 A 温暖的签到,注意用gets #include <map> #include <set> #include <ctime> #inclu ...
- 校赛F
问题描述 例如对于数列[1 2 3 4 5 6],排序后变为[6 1 5 2 4 3].换句话说,对于一个有序递增的序列a1, a2, a3, ……, an,排序后为an, a1, an-1, a2, ...
- PKU2018校赛 H题 Safe Upper Bound
http://poj.openjudge.cn/practice/C18H 题目 算平均数用到公式\[\bar{x}=\frac{x_1+x_2+x_3+\cdots+x_n}{n}\] 但如果用in ...
- 【魔改】hdu6325 多校赛3G xy排序凸包+llvector模板
凸包算法前的预处理,可以极角排序,也可以按X,Y轴排序, 极角排序需要找到角落里的一个点,Xy轴排序要跑两遍凸包 而本题的要求只要一个上半凸包,并且有X轴从小到大以及字典序限制,完全符合xy排序,直接 ...
- 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】
链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
随机推荐
- poj2886 Who Gets the Most Candies?
思路: 先打反素数表,即可确定因子最多的那个数.然后模拟踢人的过程确定对应的人名.模拟的过程使用线段树优化加速. 实现: #include <cstdio> #include <cs ...
- Pycharm+Django+Python+MySQL开发 后台管理数据库
Django框架十分简单易用,适合搭建个人博客网站.网上有很多教程,大多是关于命令行操作Django,这里分享一些用最新工具进行Django开发过程,主要是PyCharm太强大,不用有点可惜. 第一次 ...
- Java序列化技术性能分析(JDK原生与Protostuff)
熟悉Java的朋友应该知道Java有一个叫序列化的技术,即把一个Object转换为可保存,可传输的流数据.相应的,同时存在反序列化,即将流数据转换为Object类,而在转换的过程中,该Object保持 ...
- Linq详细介绍
声明----文档转载自:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 在说LINQ之前必须先说说几个重要的C#语言特性 一 ...
- this常用的用法
1.函数作为对象的方法时,this指的是该对象: var obj ={ name:"bob", age:25, getName:function(){ console.log(th ...
- java 文件另存为
FileUtils.copyFile(new File(), new File());
- 【My First Blog】评近期国产烂片-《何以笙箫默》
昨晚,我脑抽去看了[何以笙箫默],看完后我的感觉就是被这部片子恶心到了,现在想起来我还是想说:何以笙箫默是烂片烂片烂片!重要的是说三遍.以前,我问电视剧版<何以笙箫默>何以这么LOW,看了 ...
- webstorm 设置ES6语法支持以及添加vuejs开发配置
参考文章:https://blog.csdn.net/diligentkong/article/details/75040651
- 【原】常用shell命令
#ss -ln 监听常用端口 #netstat -an |grep 80 80端口被占用情况 #linux 下使用 tc 模拟网络延迟和丢包
- Java 调用存储过程 返回结果集
这里使用Oracle数据库的thin连接. 下面是存储过程SQL 1 createorreplaceprocedure proc3(stid in student.stuid%type, stname ...