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 ...
随机推荐
- MYSQL 查询方法 统计查询 链接查询 子查询
mysql表格查询方法: 查询: 1.简单查询 select * from Info --查所有数据select Code,Name from Info --查指定列的数据select Code as ...
- MSSQL数据库事务处理
在日常应用中通常需要多人执行多表的操作,比如售票系统的售票功能,这时候就涉及到数据读取的一致性问题,好在MSSQL数据库也提供了事务处理功能,这里就简单的记下 语法: Begin Tran //事务处 ...
- 【PostgreSQL-9.6.3】启动,登录,退出,关闭
当我们费尽千辛万苦安装完数据库后,一定会迫不及待的想使用它.骚年,不要着急,且看我为您解析PostgreSQL的启动,登录,退出,关闭过程. 一 启动数据库服务器 1. 没有设置环境变量的情况下 po ...
- servlet 生命周期 与 初始化
一. 生命周期 Servlet 通过调用 init () 方法进行初始化. Servlet 调用 service() 方法来处理客户端的请求. Servlet 通过调用 destroy() 方法终止( ...
- C#反射的使用
1.先定义个类,编译成dll,用于调用 nameSpace Test{ public class Class1 { private string _name; private int _age; pu ...
- java_tcp_简单示例
package netProgram; import java.io.DataOutputStream; import java.io.IOException; import java.net.Ser ...
- php简单实用的调试工具类
<?php /* * 调试类 */ class Common_Debug { //打开错误报告 public static function showError($debug = true) { ...
- vuec常用插件
1. 实现下拉刷新和下拉加载效果 iscroll-probe.js 2.手势密码插件 patternLock.js 3.实现复制 clipboard.min.js
- js 页面图片等元素在普通元素中滚动动态加载技术
/*! * 2012-01-13 v1.1 偏移值计算修改 position → offset * 2012-09-25 v1.2 增加滚动容器参数, 回调参数 * 2015-11-17 v1.3 只 ...
- react-native 手势操作和 react-naviagation 组件的手势返回功能的冲突解决
上篇我们说到过在react-native触摸及手势事件 那么我在项目中遇到的问题是在react-navigation中的子页面,希望保留在ios中的效果:从左侧往右侧滑动为退出该页面. 但是希望我在滑 ...