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校赛的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. SCNU省选校赛第二场B题题解

    今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...

  3. 2014上半年acm总结(1)(入门+校赛)

    大一下学期才开始了acm,不得不说有一点迟,但是acm确实使我的生活充实了很多,,不至于像以前一样经常没事干=  = 上学期的颓废使我的c语言学的渣的一笔..靠考前突击才基本掌握了语法 寒假突然醒悟, ...

  4. 2017CUIT校赛-线上赛

    2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...

  5. HZNU第十二届校赛赛后补题

    愉快的校赛翻皮水! 题解 A 温暖的签到,注意用gets #include <map> #include <set> #include <ctime> #inclu ...

  6. 校赛F

    问题描述 例如对于数列[1 2 3 4 5 6],排序后变为[6 1 5 2 4 3].换句话说,对于一个有序递增的序列a1, a2, a3, ……, an,排序后为an, a1, an-1, a2, ...

  7. 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 ...

  8. 【魔改】hdu6325 多校赛3G xy排序凸包+llvector模板

    凸包算法前的预处理,可以极角排序,也可以按X,Y轴排序, 极角排序需要找到角落里的一个点,Xy轴排序要跑两遍凸包 而本题的要求只要一个上半凸包,并且有X轴从小到大以及字典序限制,完全符合xy排序,直接 ...

  9. 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】

    链接:https://www.nowcoder.com/acm/contest/147/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

随机推荐

  1. bootstrap框架栅格系统使用

    使用的前端框架  bootstrap框架 Bootstrap是一个响应式的框架 我们在使用的时候主要使用的是它的网格系统, 1.bootstrap布局 布局容器:.container(用于固定宽度并支 ...

  2. JData 整合ArtTemplate的前端框架

    因为项目需要和自己的兴趣,几个月前结合模板解析神速的ArtTemplate,自己写了个框架取名JData,多多指教啊---因为一直没时间写文档,为了能够更方便地使用和避免我把代码忘了,今天抽空把文档写 ...

  3. 黑马程序员----java基础:String与StringBuffer及基本数据类型包装类

    ------- android培训.java培训.期待与您交流! ---------- java中一些基础类比如String.StringBuffer和基本数据类型包装类都是非常常见且使用非常频繁的类 ...

  4. Win7系统32位和64位的区别

    Win7系统32位和64位的区别已经是一个老话题了,可是还是有很多朋友不明白.这两者到底有什么区别呢?下面本文与大家通俗的介绍下Win7系统32位和64位的区别,其他一些深入的理论讲述,大家可以看看文 ...

  5. SweetAlert如何实现点击Confirm之后自动关闭

    swal({ title: "Are you sure?", text: "You will not be able to recover this imaginary ...

  6. python爬虫学习:分布式抓取

    前面的文章都是基于在单机操作,正常情况下,一台机器无论配置多么高,线程开得再多,也总会有一个上限,或者说成本过于巨大.因此,本文将提及分布式的爬虫,让爬虫的效率提高得更快. 构建分布式爬虫首先需要有多 ...

  7. Adobe Dreamweaver CC 2014 代码颜色目录 dw

    他的颜色代码配置文件,不在安装目录下,这让我好找啊~ C:\Users\Administrator\AppData\Roaming\Adobe\Dreamweaver CC 2014\zh_CN\Co ...

  8. CAD参数绘制mcdbsolid对象(com接口)

    C#中实现代码说明: private void DrawSolid() { //绘McDbSolid对象 axMxDrawX1.AddLinetype("MLineType1", ...

  9. CAD使用GetxDataLong读数据(com接口)

    主要用到函数说明: MxDrawEntity::GetxDataLong2 读取一个Long扩展数据,详细说明如下: 参数 说明 [in] LONG lItem 该值所在位置 [out, retval ...

  10. D2. Toy Train

    D2. Toy Train time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...