野花做了场玫瑰梦。|

_Tomori

园龄:5个月粉丝:7关注:11

2 月日记

2.7

开文。

2.10

9 号有事没回学校,今天回来。

早上教练安排做了 6 道远古 ICPC 题,因为太困只想出一道题,却因为极限答案爆 longlong 且空间只有 64MB 被卡,寄。

赛时想到的题:Gym - 100217I

dpi,j 表示将 i 分成 j 个的方案数,分情况讨论:

  • 如果 i>jdpi,jdpi1,j1+dpij,j。。

  • 否则,dpi,jdpi1,j1

答案即为 dpn,k

赛后我补补补,现在(写日记)已经忘了好多思路。

Gym - 100861E

经过讲题人在台上一番讲解和不等式推到,我们得到 Ti×Pj<Tj×Pi 的顺序是最优的,剩下的就是一个正常的背包然后记录方案。

Gym - 103049G

dpi,j 表示当前在第 i 个环节,容错时间为 j 的答案,倒推分情况讨论完美解决和吃罚时和重开的转移:

  • 完美解决:dpi,j=pi+1×(ti+1ti+dpi+1,j)

  • 吃罚时但是不可以继续走:dpi,j+=(1pi)×dp0,0

  • 吃罚时但是需要重开:dpi,j+=(1pi)×min(dp0,0,ti+1ti+di+dpi+1,j+di)

但是我们发现,dp0,0 转移时既需要参与计算,它本身也会被更新,所以我们二分 dp0,0

2.11

早上 %你赛。

T1 区间dp

T2 矩乘线段树

T3 神秘构造

T4 bfs + 最小生成树神秘图论

2.12

codeforces Round 1004 div.2 掉大分。

A

硬控我 35min。

B

神秘小贪心。

C

神秘小贪心,暴力可过。

D

神秘小交互,但是询问了 x1,xn 即可确定。

F

异或有一个性质:xx=0,可以从这里入手。

我们记 pia 数组的前缀异或和,我们会发现每次操作后 PQR=pi,所以说每次三元组的状态就是:

(pi,x,x)(x,pi,x)(x,x,pi)

考虑它们从何转移而来,记 dpi,x 表示当前在 i 三元组中相等两数值为 x 的方案数。

首先对于 (pi,x,x),它是从 (piai,x,x) 转移而来,根据异或的性质,piai=pi1,所以这里 dpi,x=dpi1,x

对于另外两种,当 x=pi 时,状态为 (pi,pi,pi),它可以从 (pi1,pi,pi),(pi,pi1,pi),(pi,pi,pi1) 任意一种转移过来,所以 dpi,x=dpi1,x,当 x=pi1 时,它可以从 (pi1,pi1,pi1) 转移,这样有三种方案,也可以从 (pi1,pi,pi),(pi,pi1,pi),(pi,pi,pi1) 共两种方案,注意到都只和 i1 有关,滚动数组优化,所以这样一番推导下方程就有了:

dppi1=dppi1×3+dppi×2

最后答案即为 i=1ndppi

数组开不下用 map 映射。

div.1 D1

dpi,j 表示第 i 层楼发射飞机 j 架,枚举发射的飞机数量,转移方程有:

dpi,jdpi,j+k=0min(j,c)dpi1,jk

当然你会发现方程缺了什么,注意到我们是从 c 次发射中选择 k 次,所以还需要一个系数 (ck),得到最终的柿子:

dpi,jdpi,j+k=0min(j,c)dpi1,jk×(ck)

最后答案即为 dpn,m

学线段树合并ing。

2.13

李超线段树题单。

CF932F Escape Through Leaf

有一个显然的 dp,我们记 dpu 表示从 u 调到叶子的最小代价:

dpu=minvsonTreeu{dpv+Au×Bv}

实际上我们要维护的就是斜率 Bv,截距 dpv 的直线在 Au 处的最小值,上李超树 + 线段树合并维护。

P3521 [POI 2011] ROT-Tree Rotations

题目中逆序对有三种:

  1. 左子树。

  2. 右子树。

  3. 横跨左右子树。

显然交换左右子树的操作只会对情况 3 有影响,记 cntV,cntU 分别表示交换 / 不交换子树的逆序对个数,u,v 为当前的左右子树,ls,rs 表示节点的左右子树,lsSiz,rsSiz 为左右子树大小:

cntUcntU+(ursSiz)×(vlsSiz)cntVcntV+(ulsSiz)×(vrsSiz)

答案即为 min(cntU,cntV)

2.14

情人节。

上午 %你sin。

T1

神秘结论题。

T2

T3

T4

2.16

下午返校。

听 Jmr 讲了点分治。

2.17

做点分治ing

一个字形容,nan

P3806 【模板】点分治 1

板。

P4178 Tree

要用线段树维护区间 [0,k] 的答案。

P4149 [IOI 2011] Race

稍微变形,同时记路径上边数和权值。

P2664 树上游戏

在大脑极度不清醒的时候观察题解战胜的,寄。

P8726 [蓝桥杯 2020 省 AB3] 旅行家

dpi 表示在 i 号岛屿停下的最大 RP 值:

dpi=maxj=0i1{dpj2+Ti×TjFj}dpj2Fj=Ti×Tj+dpi

注意到题目中 Ti 保证有序,只需要维护上凸包,果断单调队列斜率优化 O(n) 过掉。

2.18

上午 %你sin,题比较难。

继续写淀粉质和李超树的题。

P3081 [USACO13MAR] Hill Walk G

如果说想从 (x1,y1)(x2,y2) 的这座山跳到 (x1,y1)(x2,y2) 的山,并且如果落到后继最高的山上,一定有 x2[x1,x2) 且在 x2 处的纵坐标不大于 y2,如果我们按 x1 给线段排序,得到的就是连续的线段,每次插入线段到李超树的 [x1,x2),查询 x2 位置得到后继线段,这样如此下去直到无后继,统计即可,当然横坐标范围很大离散化,区间表示就用离散化后的。

晚上打 Edu,不要掉分不要掉分不要掉分不要掉分不要掉分不要掉分。

2.19

[空白.jpg]

2.20

上午 %你sin。

T1

解法整体最主要是证明期望的线性性。(期望可以看做概率成权值之和)

我们记 t 事件的期望为 E(t)

证明:E(X+Y)=E(X)+E(Y)

考虑 E(X+Y) 的推导,记 Range(X),Range(Y) 表示所有 X,Y 事件情况,P(x) 为概率:

E(X+Y)=xRange(X)yRange(Y)(x+y)×P(x,y)=xRange(X)yRange(Y)x×P(x,y)+xRange(X)yRange(Y)y×P(x,y)=xRange(X)xyRange(Y)P(x,y)+yRange(Y)yxRange(X)P(x,y)=xRange(X)x×P(x)+yRange(Y)y×P(y)=E(X)+E(Y)

证毕。

所以记答案期望为 E

E=1+P2++Pn

其中 Pi 表示第 i 堆在第 1 堆之前被取走的概率,Pi=aia1+ai

T2

去二份答案 x 可以取得 60 的好成绩,但是你会发现它是 O(nmlog2n) 的复杂度。

题解的神奇做法:你会发现随机遍历 x 使得当前答案更优的期望是 1i,是调和级数所以是 O(lnn) 的,然后我们令下一次的二分右端点为当前 ans1,这样就可以通过了。

nb.

T3

我会 O(n2n)!能够取得 30 的好成绩!

略。

P5377 [THUPC 2019] 鸽鸽的分割

打表找规律,你会发现方案数是一个四阶等差数列。

2.21

P5563 [Celeste-B] No More Running

对于经过 u 的路径,我们分为两类:

  • u 为点分治中心时,u 到连通块其它节点的路径。

  • 其它点分治中心遍历到 u 时的路径。

第一种很好去求,第二种暴力的话是 O(|u|2) 的,无法接受。

你会发现题目中说不能走回头路,考虑用数据结构维护 u 可以延展到的连通块,那么可以将第二种转换成两条第一种路径拼起来。

综上可得我们要求的是在模 mod 意义下的 maxdis(u,v1)+dis(u,v2)v1,v2 不在 u 的同一子树内,然后你会发现 maxdis(u,v1)+dis(u,v2)<2×mod,也就说他会超出至多一次。

分情况讨论:

  • 超出 0 次,dis(u,v2)<moddis(u,v1) 最大时原式最大。
  • 超出 1 次,dis(u,v2)<mod<2×moddis(u,v2) 最大时原式最大。

你会发现我们需要一个满足单调性的数据结构,每次二分找到最大的满足条件的值。

考虑使用 multiset,每次更新答案前先删除之前的连通块。

CF1303G Sum of Prefix Sums

点分治,考虑将所求路径拆成两条,长度分别为 len,len,点权分别为 a,b 序列。

题目中要求前缀和的和,记 si 为前缀和:

S=s1+s1+s2++sn=i=1n(ni+1)×si=(n+1)i=1nsii=1nsi×i

sumA=i=1lenai,sumB=i=1lenai×i,sumA=i=1lenbi,sumB=i=1lenbi×i,则所求路径权值根据上文所推式子:

(len+len+1)×(sumA+sumA)(sumB+sumB)sumA×lenlen×sumA+(len+1)×sumAsumB

你会发现我在这里把只跟 len,sumA,sumB 有关的踢掉了,因为点分治之后肯定是会遍历到的所以不用管。

然后你就能轻松看出这是一个一次函数,看来我们只需要在把式子放到李超树上维护即可,但是你要注意,uv 的路径权值可能和 vu 的路径权值不同,所以正反都跑一遍。

UVA12161 铁人比赛 Ironman Race in Treeland

点分治!大力的点分治!啊哈哈哈!

然后呢,突然就不知道了(?

好像可以贪心?对于路径 x,y,记花费为 Cx,Cy,长度为 Lx,Ly,显然的,对于 CxCy,LxLy 的情况 y 一定是最优的。

这样做法就呼之欲出了(?

看来我们需要一个可以同时维护花费长度单调的数据结构,考虑使用 map,对于路径 i,我们每次查询满足 CimCi 最大的 Li 即可。

CF293E Close Vertices

显然,对于路径的限制条件多了一个。

采取了值域树状数组 + 双指针的操作,复杂度 O(nlog2n)

然后就是点分治!大力的点分治!

2.23

打 usaco Sliver,证明了自己纯菜的成分。

T1

小清新贪心,人类智慧。

首先值从大到小下标从小到大排序,考虑怎么进行那一次更改位置最优,此时我们钦定当前一个候选的元素,我们去找下一个元素的位置,如果预备要更改元素在原数组中的下标比下一个元素大,并且当前候选元素的下标比下一个小,说明此时当前候选元素一定最优,将预备要更改的元素下标改成当前候选元素下标。

2.24

打了 1 月的 USACO。

要开始好好练思维了。

Anyway,听日式摇滚写代码确实不错。

2.25

%你sin。

T1

通过打表,我们发现:

i=1nj=1pφ(ij)i=1nj=1pφ(i)×ij1i=1nφ(i)j=1pij1

你会发现 j=1pij1 是等比数列,但是考场上的我并并不会等比数列求和。

看到这个式子我首先想到:一棵 p 层的满二叉树节点数为 2p1

这样就是 i=2 的情况,以此类推,i=3 就是满三叉树,这样推出来通项 ip1i1

incredible.

利用之前学习的线性筛 φ(i),我们成功做到了 O(nlogp) 的复杂度,你会发现 n107,p109,但是 2s 时限,减少取模运算还是能过的。

拜谢 syq 同志 /bx /bx /bx /bx /bx /bx

T2

神秘题。

考虑从大到小插入每个点,于是只需要知道它有多少个位置可以插入,记数量为 s,如果当前加入
的点没有被钦定是叶结点,那么它不管插入在哪里都会让 s 恰好增加 1;如果当前插入的点被钦定了是
叶结点,那么它不管插入在哪里都会让 s 恰好减少 1

于是会发现,从大到小插入时每个点能被插入的位置数量都是固定的,乘起来即可。

复杂度 O(n)

T4

你说的对,但是 syq 先手。

找规律题。

偷个懒

2.26

一上午写了 4 道做过的板子题,因为 Tarjan 成功的被我忘完了。

P11676 [USACO25JAN] DFS Order P

如果说原图没有边,那么最后要是 [1,,N] 的 dfs 序这张图一定会变成一颗树。

由于子树中的 dfs 序连续,加上 N750 的数据范围,也许可以区间 dp。

dpl,r 表示 dfs 序中 lr 区间满足条件的最小代价:

dpl,r=mink=lr1{dpl,k+dpk+1,r+al,k+1}

但是它现在有边,既然有边那我们给它删成无边的就可以继续 dp 了。

我们会发现保证我们需要的是 dfs 树的前提下,多出来的一定是返祖边,这启发我们去修改转移式子,加上返祖边的影响。

dp 转移看做是合并 [l,k],[k+1,r] 的两棵子树,这样一合并增加的返祖边就是 (l,k+1),,(l,r),这样一来代价就是连续的区间,前缀和维护,只加负的。

P3919 P3834 主席树

学新东西了喵。

2.28

补了昨天晚上 CF 的题。

E

你会发现满足的是 tot0>tot1×3+1,tot0=tot1×31 的情况,这么看来我们选择权值树状数组维护。

0cntcnt+1,遇 1cntcnt3,每次查询和更新 cnt 位置的值。

P1407 [国家集训队] 稳定婚姻

2-SAT + 缩点,如果说一对夫妻在同一 SCC 则不安全。

P7251 [JSOI2014] 强连通图

对于第一个问题,答案就是最大的 SCC 的大小。

对于第二个问题,因为选择出度为 0 的点最后还是会要连入度为 0 的点,因此反而选择两者之中最大值最优。

(直到 3.7 我才意识到这是 2 月日记)

The End

(移步 3月日记)

本文作者:Tomori's Blog

本文链接:https://www.cnblogs.com/Tomori0505/p/18705034

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   _Tomori  阅读(115)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起