2019PKU\THU WC题解
PKU:
机试:
d1t1:
考虑拓扑序的合法性,每个点的入边必须先加入。f[S]表示先出来的是S集合的点,对应边的方案数。加入x的时候,把入边方向确定,出边自然后面会确定的
2^n*n
d1t2:
虚树,点数=边数+1,NTT,
先咕咕咕
d1t3:
地主斗。。。
炸弹,火箭先处理
剩下牌的特征值(每个方式最大的),以及对应的牌数
hash表存一下
然后再找B的
特征值要状压,还要边加入边计算特征值。
d2t1:
a[i]=0的部分分:
分成n段
每个点在每个段的方案数有相同之处
f[i][j]表示前i个,第i个取再前j段的前缀和
转移的时候
枚举最左边选择j的l
l到i的部分就是盒子放球的问题
据说是APIO赛艇弱化版0?
满分:
区间dp
dp[i][l][r],前i高位,确定了[l],[r]方案数
还要什么数位dp记录0/1
咕咕咕咕
d2t2:
两个环有公共边,
一定在一个SCC里
反之,可能八字图情况,在SCC里,却没有公共边
先求出SCC
再在SCC中求出点双连通分量个数,和就是ans
SCC中不是V-DCC的环坑定没有公共边
SCC中的V-DCC一定还是SCC
而且没有上面的情况了
所以就是一个联通块
d2t3
每个圆被完全覆盖就可以删掉
n^2*m部分分
两种方法:
①圆的面积并
②对于i,找到最左最右的圆和i的交的角度

记录红色角的最大值
左边同理
如果角相互有覆盖,A0就被覆盖了
发现所有剩下的点
都在{A0,A1,,,An,O}组成的凸包上
而且是严格的,也即不会存在一个点在凸包的边上
简单证明:
对于共线的三个点,中间的一定可以删除
对于和A,O共线并且在A,O中间的点一定可以删除
对于凸包内部的点一定可以删除
凸包上的点一定删不掉
O是变化的
对于{Ai}先建立凸包
每个O
1.判断O是不是在凸包内部或者边上
方法可以是:求x往下的射线和凸包交点的个数,把凸包劈成上下两个部分,分别二分出经过该射线的凸包的边,看有没有交即可。
如果在内部,直接输出凸包点的个数即可。
2.如果O在凸包外部
二分包住的部分删掉。
方法可以是:
劈成上下两个部分
对O分四种情况讨论

对于B,D位置,直接对上/下凸壳二分即可
对于A,C位置,对上下两个凸壳分分别二分找到第一个和下一个边的叉积为正的点,删掉中间的点即可
O(nlogn+mlogn)
数学:
10个填空题,150min
T1:
8个点的树,2个点度数3,2个点度数2,4个点度数1
求不同的树的个数(定义为,编号a和编号b之间的边存在情况都相同才相同)
prufer序列,暴力枚举生成树然后判断
或者考虑度数为3的点的连接情况,分类讨论+hash(hash不能随便写,所有的边排序之后,i是第i条边,大概用(x*131+y)*i*(i^(i*233)这种越复杂越好,多个hash也可以)
T2:
单位立方体ABCD-A'B'C'D',从A到C',只能走棱,或者面的对角线
路径不能自交(包括点,棱上)
求A到C'的最长路
3+4sqrt(2)
最多走7次
可以对顶点黑白染色
对角线走到同色点,棱走到异色点
A,C'不同色,所以走奇数次棱
由于1+6sqrt(2)不存在方案
所以3+4sqrt(2)最优
THU
d1t1:
原题:bzoj5016一个简单的询问
推式子,考虑每一个信封在所有情况中的贡献之和
就是sum1k*sum2k
可以把询问二维差分一下
莫队搞定
d1t2:
每个铁路的开通时间计算出来,
整体二分+bfs处理分治
考虑有没有铁路网,大力分情况讨论
d2t1:
主席树智障送分题
d2t2:
部分分:
n ^2询问任意两个点,看总距离是否为1,确定有无树边
次数小于1000000?
rand一个根,再n-1次询问,找到每个点的深度
深度相差1的才询问
乱搞,可以过。
d2t3:
就是找所有凸包的方案数,面积和,面积平方和
三者本质都相同
考虑求凸包的过程——先要找到左下角的点
枚举左下角的点x
其他x右上方的点按照和x的极角排序
f[i][j][k]表示,前i个点,凸包最后一个是j,倒数第二个是k,枚举下一个是否加入即可
O(n*n^3)
考虑枚举i之后,
g[j][k]表示,最后一个是j,倒数第二个是k的答案
固定j,把剩下的点按照对j的极角序排序
可以双指针,一个枚举t,一个枚举k
把g[j][k]转移到g[t][j]
复杂度O(n*n^2)
2019PKU\THU WC题解的更多相关文章
- PKUWC2018游记
PKUWC2018游记 Day -inf 从去年的12月底开始停课,到现在也有整整一个月的时间了. 前两周考的是OI赛制,后来就变成了IOI赛制. 整体上考的很炸,虐场的次数远少于被虐的次数. 关于去 ...
- NOIP 2018 兔纸旅游记
今年是第一次参加tg呢... Day0 早上出发去中旅坐大巴,走有 lz 特色的OI比赛道路. 车上谈笑风生,看 jw 的 GDOI 的小本本. 到动车站取票入站,看 lmh 和 zn 的爱恨情 ...
- Shell 统计文件的行数
目录 统计文件的行数 题目 题解-awk 题解-wc 题解sed 统计文件的行数 题目 写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数 示例: 假设 nowcoder.txt ...
- WC 2018 题解
WC 2018 题解 一些感受.jpg 题目难度相较前些年会相对简单一点?(FAKE.jpg 平均码量符合WC风格?(甚至更多一点 出题人良心! [WC2018] 通道 一个不知道对不对的$\log ...
- ZROI WC Round1 题解
ZROI WC Round1 题解 Problem A 题意 一个 \(n \times m\) 格子图,一个人从左上角出发,每次向右或者向下走一格,方法如下: 如果他在最下面一排,那么他会往右行走. ...
- ZROI WC Round5 题解
ZROI WC Round5 题解 Problem A 题意 给定一个长度为 \(n\) 的序列,操作是交换两个相邻的数,要求将序列变成先单调不降再单调不升,求最小操作数,注意可以完全单调不降或者完全 ...
- 【待填坑】bzoj上WC的题解
之前在bzoj上做了几道WC的题目,现在整理一下 bzoj2115 去膜拜莫队的<高斯消元解xor方程组> bzoj2597 LCT维护MST bzoj1758 分数规划+树分治+单调队列 ...
- BZOJ4104:[Thu Summer Camp 2015]解密运算——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4104 对于一个长度为N的字符串,我们在字符串的末尾添加一个特殊的字符".".之 ...
- $2019$各种$WC$没去记
\(2019\)各种\(WC\)没去记 太弱了去不了啊. 至少我联赛没退役是吧...(退役感++ 不过这个分数线还是有点让人自闭啊,划线人绝对有毒,有人关照一下空巢老人\(mona\)喵? 这里大概是 ...
随机推荐
- 2019 年软件开发人员必学的编程语言 Top 3
AI 前线导读:这篇文章将探讨编程语言世界的现在和未来,这些语言让新一代软件开发者成为这个数字世界的关键参与者,他们让这个世界变得更健壮.连接更加紧密和更有意义.开发者要想在 2019 年脱颖而出,这 ...
- Spring自定义标签解析与实现
在Spring Bean注册解析(一)和Spring Bean注册解析(二)中我们讲到,Spring在解析xml文件中的标签的时候会区分当前的标签是四种基本标签(import.alias ...
- 使用SSD目标检测c++接口编译问题解决记录
本来SSD做测试的Python接口用起来也是比较方便的,但是如果部署集成的话,肯定要用c++环境,于是动手鼓捣了一下. 编译用的cmake,写的CMakeList.txt,期间碰到一些小问题,简单记录 ...
- Vue 事件处理
原生的js事件处理 原生的js事件处理,可以分为:直接内联执行代码,或者绑定事件函数. 在内联的事件处理函数内部或者事件绑定的方法内部的作用域中的this都是指向当前的dom对象.如何在vue绑定的元 ...
- iOS 静态库生成(引用第三方SDK、开源库、资源包)
一.静态库创建 打开Xcode, 选择File ----> New ---> Project 选择iOS ----> Framework & Library ---> ...
- 关于inherit的笔记
1. inherit是动态的 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 超级迷宫之NABCD
模式之一:双人模式 N:基于双人之间的竞争与协作,朋友之间可以有一个竞争比赛,一决高下,男女朋友之间适合双人协作模式,共同完成游戏. A:双人竞争模式为双人同起点或不同起点来进行游戏,在竞争的紧张压力 ...
- c++工厂模式(Factory method)
下面以女娲造黑人,白人,黄种人的例子来介绍一下工厂模式. 1.工厂的接口,相当于造人工厂总部. class IHumanFactory { public: IHumanFactory(void) { ...
- DPDK helloworld 源码阅读
在 DPDK Programmer's Guides 中的 EAL 一篇中有一个图可以很清晰地看到一个DPDK的应用程序的大致执行思路: 初始化检查CPU支持.微架构配置等完成后,执行main()函数 ...
- Gradle入门(6):创建Web应用项目
如果要用 Java 和 Gradle 创建一个 Web 应用项目,我们首先需要创建一个 Java 项目,下面来看看该如何去做. 创建Java项目 我们可以使用Java插件创建一个Java项目,通过添加 ...