向我这样的小菜鸡竟然有幸能参加 pkuwc p k u w c 看来运气不错
围观长郡宣传片
听副院长讲计算机历史???
一脸茫然(发现自己除了知道最开始的几幅画是谁画的就啥都不知道了…)
然后考数学
T1:x<−2,|1−|x+1||=? T 1 : x < − 2 , | 1 − | x + 1 | | = ? 感觉挺简单的切了
T2:... T 2 : . . .
(然后我就不记得了,不过你有兴趣可以看看这个Blog//捂脸)
(不过上机考试您真当我不会用计算器?然后我们考场某大佬问监考老师:”电脑上的计算能不能用?我看我周围的都用了计算器”.在一旁的我只好微微一笑,关掉了我写的爆搜)
T30 T 30 :今天 2018,1,30 2018 , 1 , 30 号是星期二, 1898,5,4 1898 , 5 , 4 是星期几
话说这玩意不是初赛考过吗…
似乎有个公式….
诶,电脑上不是有日历吗?
兴高采烈点开日历发现只能翻到 1910 1910 年
咸鱼失去梦想
感觉pku是算好了的
(我才不会说我在Day2看到旁边的大佬玩计算器才发现win7计算器有算两个日期之间的天数的东西//捂脸)
然后这里有一个叫做蔡勒公式的玩意
话说解答题才是重点…
T31:A∩B=∅,A∪B=N∗,1∈A;A,B T 31 : A ∩ B = ∅ , A ∪ B = N ∗ , 1 ∈ A ; A , B 都满足 A,B A , B 集合中任意两个数的和不等于 2h+2,h=0,1,2.... 2 h + 2 , h = 0 , 1 , 2.... 证明这种划分是唯一的,并回答 2017,2018,2019 2017 , 2018 , 2019 属于哪个集合
T32: T 32 : 一个 100 100 边形 P P 满足每个顶点都是整点,每条边都平行坐标轴,且长度为奇数,证明 P P 的面积是奇数
T33: T 33 : 对任意三角形中,a,b,c是三边,设 D=a+b+c,S=ab+bc+ac D = a + b + c , S = a b + b c + a c 求证 3S≤D2≤4S 3 S ≤ D 2 ≤ 4 S
T4: T 4 : 对于 (a,b,c,d) ( a , b , c , d ) 四个数不全相等,定义一次操作将四元组变成 (a−b,b−c,c−d,d−a) ( a − b , b − c , c − d , d − a ) 证明经过有效次操作后,四元组中肯定会有某个数 >2018 > 2018
我只是贴个题(我只会 T31,T33 T 31 , T 33 以及 T34 T 34 的部分//逃走)
话说我是个正经的 OIer O I e r ,应该讨论一下 OI O I 考试
写在前面:妈呀, IOI I O I 赛制感觉紧张死了…
一棵有根二叉树,每个叶子有一个权值,每个非叶子节点有个概率 p(0<p<1) p ( 0 < p < 1 ) ,表示该节点选到儿子节点中最大值的概率
(该节点的权值变为你选的值);考虑根节点的权值有 m m 中情况,第 i i 小的权值为 Vi V i ,概率为 Di D i ,问 ∑mi=1i∗Vi∗D2i ∑ i = 1 m i ∗ V i ∗ D i 2
一句话就是这样:带随机权值的二叉树,根节点的权值与概率的平方求和
先将叶子的权值离散化,变成 1…m 1 … m
f[x][i] f [ x ] [ i ] 表示节点x权值是i的概率
可以将两个儿子的信息合并算出 f[x][i] f [ x ] [ i ]
假设权值 i∈lc i ∈ l c
f[x][i]=f[lc][i]∗sum[rc][i−1]∗px+f[lc][i]∗(1−sum[rc][i])∗(1−px) f [ x ] [ i ] = f [ l c ] [ i ] ∗ s u m [ r c ] [ i − 1 ] ∗ p x + f [ l c ] [ i ] ∗ ( 1 − s u m [ r c ] [ i ] ) ∗ ( 1 − p x )
然后对左右儿子每一个有 f f 值的 i i 算一遍
时间复杂度: O(nm) O ( n m )
考虑一种情况(其他的类似), lc l c 的权值比 rc r c 大
这种情况下x的权值为 i i 的概率是
px∑i−1j=1f[rc][j]∗f[lc][i] p x ∑ j = 1 i − 1 f [ r c ] [ j ] ∗ f [ l c ] [ i ]
可以对于每个节点 x x 开一棵可持久化线段树,线段树的下标 i i 记录 f[x][i] f [ x ] [ i ]
计算 f[x][i] f [ x ] [ i ] 时可以用线段树合并,通过合并 lc l c 和 rc r c 的线段树来计算
时间复杂度 O(nlogm) O ( n log m )
给你两个长度为 n n 的序列 a,b a , b ,表示强化牌和攻击牌,从中等概率的选取 m m 个数,然后这 m m 个数里又只能选k个数出来,假设选了 a a 中一个数,能让 b b 中剩下的的数,权值乘以 ai,(ai>1) a i , ( a i > 1 ) ,出题人会按照最优决策选出这 m m 个数中的 k k 个问期望的总答案* (2nm) ( 2 n m )
一句话就是这样:从 2n 2 n 张牌随机的抽取 m m 张后,最优的打出 k k 张牌,求期望得分
当 k=1 k = 1 时,最优决策是打出最大的攻击牌,这个可以特判
其他情况,假设手中有 A A 张强化牌, m−A m − A 张攻击牌,那么分类讨论
那么最优决策是选 k−1 k − 1 张最大的强化牌,然后出一张最大的攻击牌
那么最优决策的先出完 A A 张强化牌,然后剩下的从大到小出完攻击牌
两种情况都可 dp d p 出来
复杂度 O(n2) O ( n 2 )
具体来说是这样的
1:把强化牌的权值从大到小排序,设 fi,j f i , j 表示在前 i i 张强化牌里面选出 j j 张的乘积的所有情况的和
首先有 fi,j=fi−1,j f i , j = f i − 1 , j
然后考虑 ai a i 的贡献
如果 j<k,fi,j+=fi−1,j−1∗ai j < k , f i , j + = f i − 1 , j − 1 ∗ a i 因为当前还没有选完 k−1 k − 1 张牌,所以当前这张牌可以出现在前面任何一种组合里,所以要乘上 ai a i 的贡献
如果 j≥k,fi,j+=fi−1,j−1 j ≥ k , f i , j + = f i − 1 , j − 1 因为你已经有选了超过 k−1 k − 1 张强化牌,所以这张牌就算再被选也算不进贡献,所以要加上这一张不选的答案
2:把攻击牌的权值从小到大排序 gi,j g i , j 表示前 i i 张牌,选 m−j m − j 张前 k−j k − j 张最大的所有情况的和
gi,j=gi−1,j+1+bi∗(i−1m−j−1) g i , j = g i − 1 , j + 1 + b i ∗ ( i − 1 m − j − 1 ) 表示第 i i 张牌在前面选了的 m−j−1 m − j − 1 张牌里面作为最大值的情况有 (i−1m−j−1) ( i − 1 m − j − 1 ) 种
最后统计 ∑mi=1fn,i∗gn,i ∑ i = 1 m f n , i ∗ g n , i 就好了?
给你一副牌的 n(0≤n≤20) n ( 0 ≤ n ≤ 20 ) 张牌,斗地主,问使得农民出不了牌(地主就春天了)的方案数
大家可以看看出题人@九条可怜怎么说的
(我现在看到和扑克牌有关的题就怕\捂脸)
直觉:一定能打出春天的手牌种数是有限的
先搜出所有一定能春天的手牌(只有4~5w种)
每次询问时暴力枚举每种答案是否符合要求
搜索的时候分两种情况讨论
可以发现地主有 14 14 张手牌已经确定下来了
( A−K A − K 至少有一张,大小王中也至少有一张)
并且地主的牌是若干个一定比农民大的牌型+一波可以一次打出的牌组成的
剩下的只有 6 6 张牌,状态比较少,用一些搜索优化技巧可以在 2s 2 s 内搜出来
地主的手牌必须是若干个比农民大的炸弹+一波一次可以打出的牌
这个方案数不是很多,可以直接搜出来
思考人生 ing… i n g …
一个显然的求图的最大独立集的暴力就是生成全排列,假设一个排列是 p,S p , S 是当前最大独立集;如果 S∪ S ∪ { pi p i }是独立集就令 S=S∪ S = S ∪ { pi p i };求这 n! n ! 个独立集是最大独立集的概率
一句话:求图的最大点独立集随机算法的正确率
(话说这道题考场有 60 60 %的 dalao d a l a o 都切了)
令 f[S][T] f [ S ] [ T ] 表示当前独立集是 S S ,已经试过的点集是 T T 的概率
因为 S⊆T S ⊆ T 所以复杂度是 O(n∗3n) O ( n ∗ 3 n )
转移时,考虑剩下的点中,不与 S S 的点相邻的集合为 Z Z ;那么我们只关心这 |Z| | Z | 个点在排列里之间的顺序关系
可以枚举哪个点是 Z Z 中在排列位置上最靠前的,显然概率都是 1|Z| 1 | Z | ,然后
f[S]∗1|Z|→f[S∪{x}] f [ S ] ∗ 1 | Z | → f [ S ∪ { x } ]
时间复杂度 O(n∗2n) O ( n ∗ 2 n )
然后这道题还有很多玄妙的方法,话说 O(n2∗2n) O ( n 2 ∗ 2 n ) 也是可以 A A 的(讲题时旁边的 dalao d a l a o 说数据水了)
每一猎人都有一个权值 wi w i ,每个猎人死后都必须要开一枪,切被射中的人也会死;假设当前活下来的人是 [i1,i2,…,im] [ i 1 , i 2 , … , i m ] ,那么当前死的猎人就有 wik∑mj=1wij w i k ∑ j = 1 m w i j 的概率的向 ik i k 开枪;第一枪由你来打,目标选择方式和猎人一样(即有 wi∑nj=1wj w i ∑ j = 1 n w j 的概率的向第 i i 个猎人开枪),由于开枪的连锁反应,所以最终所有人都会死,问第 1 1 个猎人最后一个死的概率.
一句话: n n 个猎人按概率被射杀,求1号猎人最晚死亡的概率
构造 n n 个猎人的排列 p p ,表示其死亡时间的倒叙
题目相当于,对于所有满足 p1=1 p 1 = 1 的排列,求和
∑p1=1∏ni=1wpi∑ij=1wpj ∑ p 1 = 1 ∏ i = 1 n w p i ∑ j = 1 i w p j
考虑如果没有 p1=1 p 1 = 1 的限制的话,和显然为 1 1
也就是说
∑p∏ni=1wpi∑ij=1wpj=1⇒∑p∏ni=11∑ij=1wpj=∏ni=11wi ∑ p ∏ i = 1 n w p i ∑ j = 1 i w p j = 1 ⇒ ∑ p ∏ i = 1 n 1 ∑ j = 1 i w p j = ∏ i = 1 n 1 w i
相当于有一堆求,第 i i 中颜色的球有 wi w i 个,球两两之间都是不同的,每种颜色的求里都有一个特殊的球,我们叫他大球
相当于,将所有球排成一列,要求每个大球都在和他颜色相同的球的前面
右边这个显然是这个概率,左边相当于枚举了颜色之间的顺序
那么 p1=1 p 1 = 1 意味着,除了上述限制以外,颜色为 1 1 的球要在其他所有大球后面
我们可以枚举颜色为 1 1 的大球的所在位置,则他后面可以放的是所有颜色为 1 1 的球,以及其他颜色的除了大球以外的球
考虑列出其他颜色的球的生成函数
fi(x)=∑w[i]−1j=0xj(wi−j)∗j! f i ( x ) = ∑ j = 0 w [ i ] − 1 x j ( w i − j ) ∗ j !
用NTT计算一下所有生成函数的乘积即可
时间复杂度 O((∑w)∗logn∗log∑w) O ( ( ∑ w ) ∗ log n ∗ log ∑ w )
给你一颗树,每次从 x x 节点出发,每次等概论地向一条与所在点相邻的边走去;有 Q Q 次询问,每次询问给定一个集合 S S ,如果从 x x 出发随机游走,问直到点集 S S 中所有点都至少经过一次要走的期望步;特别的点 x x (即起点)视为一开始就被经过了一次
一句话:从树节点x出发,知道经过点集 S S 所有点至少一次的期望步数
令 f(S) f ( S ) 为原问题的答案
令 g(S) g ( S ) 为从 x x 出发随机游走,知道经过点集 S S 任意点一次的期望步数
由经典的容斥定理可以得到
f(S)=∑T⊆S(−1)|T|−1∗g(T) f ( S ) = ∑ T ⊆ S ( − 1 ) | T | − 1 ∗ g ( T )
先枚举 T T 预处理出 g(T) g ( T ) ,然后每次查询 S S 通过上式求出 f(S) f ( S )
预处理 gy(S) g y ( S ) ,表示从y随机游走,知道经过 S S 任意点一次的期望步数
如果 y∈S,gy(S)=0 y ∈ S , g y ( S ) = 0
否则 gy(S)=1+1|Ny|∑x∈Nygx(S) g y ( S ) = 1 + 1 | N y | ∑ x ∈ N y g x ( S ) ,其中 Ny N y 为 y y 的邻点集合
所关注结点的期望步数表达式组成 n∗2n n ∗ 2 n 元一次方程组,暴力高斯消元复杂度是 O((n∗2n)3) O ( ( n ∗ 2 n ) 3 )
因为这是树,可以知道非根节点 gy(S) g y ( S ) 为 0 0 或者列出与其父亲值关系的方程
逐层列出方程,最终用 O(n∗2n) O ( n ∗ 2 n ) 的时间列出仅含根结点 gx(S) g x ( S ) 的方程并求解
总时间复杂度: O(n∗2n) O ( n ∗ 2 n )
最后膜一下Cai大佬,大佬想出了一种 O(n3∗2n) O ( n 3 ∗ 2 n ) 的解法,这种解法不需要用到树的性质,也不需要管起点是谁,也就是说可以在图上跑,伏地膜
下午是面试来着
除了时间推迟到 15:30 15 : 30 才出名单,感觉等了很久外并没有啥感觉
感觉听大佬吐槽题目挺有意思的
面试就没啥好说的,稍微瞎说了一些
思考人生 ing… i n g …
虽说是结营仪式,但其实就是讲题解+签约?
题解都在上面所以就没啥好讲的了
话说拍个集体照,需要半个小时么?
拍完大家准备散了的时候,某老师拿话筒来了一句:
“同学们不要走,回到刚才闭幕式的会场,我们签协议.”
想了想拿了两天的大众分应该没啥希望吧
(当时我真打算直接走来着)
然后抱着”去看 dalao d a l a o 随意签一本”的心态还是回到了会场
然后等了好久,突然听到了自己的名字????
然后随意签了一个”大众约”——有条件一本
然后就滚粗了
逛了逛知乎,看了看 dalao d a l a o 的游记,发现只要是正式营员都有约?
岂不是”有条件一本”=”安慰约”?
嘛,随意了,总比没有好…
不过有一些特别强的 dalao d a l a o 因为不是正式营员然后没有约,表示比较可惜
感觉题目难度和质量是够了,不过 39 39 道数学题+一场斗地主真的好吗?
唔,又要去冬眠营膜更多的 dalao d a l a o 了
Rp++ R p + +
To T o be b e continued… c o n t i n u e d …