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}组成的凸包上

O是变化的

对于{Ai}先建立凸包

每个O,二分包住的部分删掉。

O(nlogn+mlogn)

原文地址:https://www.cnblogs.com/Miracevin/p/10327637.html

时间: 2024-07-30 17:29:51

2019PKU\THU WC题解的相关文章

PKUWC2018游记

PKUWC2018游记 Day -inf 从去年的12月底开始停课,到现在也有整整一个月的时间了. 前两周考的是OI赛制,后来就变成了IOI赛制. 整体上考的很炸,虐场的次数远少于被虐的次数. 关于去哪个WC的问题,谢总一天神神秘秘地找到我问我想去THU还是PKU.我说无所谓啊.然后谢总就跟我说,我给你一个PKUWC的名额啊. 所以yyb和ppl就被钦定去了THU WC,他们两个真是太强辣! Day -3 晚上搞个一次模拟面试. (中间省略一段不可描述的过程...) 然后就被谢总要求写一个稿子.

ZROI WC Round5 题解

ZROI WC Round5 题解 Problem A 题意 给定一个长度为 \(n\) 的序列,操作是交换两个相邻的数,要求将序列变成先单调不降再单调不升,求最小操作数,注意可以完全单调不降或者完全单调不升 想法 发现最小的数一定在最左侧或者最右侧 有一个暴力的做法是按照从小到大的顺序,每次看向哪边比较近就交换到哪一侧,由于不管交换到哪一个剩下的序列都是一样的,所以这个做法是正确的 下面就是优化这个算法,不难发现一个数如果移动到最左侧,那么它左侧的比它小的数肯定都移动到左侧,所以可以用树状数组

【待填坑】bzoj上WC的题解

之前在bzoj上做了几道WC的题目,现在整理一下 bzoj2115 去膜拜莫队的<高斯消元解xor方程组> bzoj2597 LCT维护MST bzoj1758 分数规划+树分治+单调队列 bzoj2595 斯坦纳树,一类用spfa转移的dp,具体可以膜拜<spfa算法的优化及应用>(我是不会插头的蒟蒻) bzoj2597 补集思想之后就变成了显然的平方流 bzoj3052 树上带修改莫队算法(如果一无所知的话,可以按2038 1086 3757 3052的顺序做) bzoj145

Codeforces Round #FF (Div. 2) 题解

比赛链接:http://codeforces.com/contest/447 A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output DZY has a hash table with p buckets, numbered from 0 to p?-?1. He wants to insert n 

【BZOJ4103】[Thu Summer Camp 2015]异或运算 可持久化Trie树

[BZOJ4103][Thu Summer Camp 2015]异或运算 Description 给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值Aij=xi xor  yj,每次询问给定矩形区域i∈[u,d],j∈[l,r],找出第k大的Aij. Input 第一行包含两个正整数n,m,分别表示两个数列的长度 第二行包含n个非负整数xi 第三行包含m个非负整数yj 第四行包含一个正整数p,表示询问次数 随后p行,每行

BZOJ2253: [2010 Beijing wc]纸箱堆叠

题解: 其实就是求三维偏序最长链.类似于三维逆序对,我们可以用树状数组套平衡树来实现. DP方程 :f[i]=max(f[j]+1) a[j]<a[i] 我们按一维排序,另一位建立树状数组,把第三维插入到每个树状数组的节点里. 除了权值之外每个节点还要保持一个mx,表示该子树内最大的f[i]. 这样就可以nlg^n了 UPD:试了下不带旋转的treap果然会被卡 orz 代码: 1 #include<cstdio> 2 3 #include<cstdlib> 4 5 #inc

sort,uniq,wc指令简单用法

sort用于排序,可以根据不同的数据类型来进行排序,例如想要查看最后一个登陆的用户信息,可以把last和sort结合起来使用,按照登陆时间排序. 使用sort排序: sort常用参数: -f :忽略大小写的差异 -b:忽略最前面的空格符部分 -M:以月份的名字排序 -n:使用纯数字排序(默认为以文字类型排序) -r:反向排序 -u:去除重复行,重复的数据只显示一次 -t:分隔符,默认为tab为分隔符 -k:以哪个区间来排序 [[email protected] test]$ last | sor

【BZOJ4896】[Thu Summer Camp2016]补退选 Trie树

[BZOJ4896][Thu Summer Camp2016]补退选 Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每 次选课一共分为三个阶段:预选,正选,补退选:其中"补退选"阶段最忙碌.在补退选阶段,学生即可以选课,也 可以退课.对于X老师来说,在补退选阶段可能发生以下两种事件: 1:一个姓名为S的学生选了他的课(姓名S将出现在X的已选课学生名单中) 2:一个姓名为S的学生退了他的课(姓名S将从X的已

BZOJ2252 [2010Beijing wc]矩阵距离

2252: [2010Beijing wc]矩阵距离 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 624  Solved: 304[Submit][Status][Discuss] Description 假设我们有矩阵,其元素值非零即1 a11…… a1m ……………. an1…….anm ?定义aij与akl之间的距离为D(aij,akl)=abs(i-k)+abs(j-L) ?? Input 输入文件的第一行为两个整数,分别代表n和m.