OceanEye's Blog

很多人即使只见过一面,已经算见过了最后一面。

@OceanEye7年前

05/12
17:25
OI

BZOJ3884

降幂大法:-D
安利Tangjz题解
出题人的题解也是很强的qwq

BZOJ3884

@OceanEye7年前

05/11
16:46
OI

BZOJ1227

这题很裸,离散化一维本来想写个动态开点的线段树的之后逐行处理答案。

大概就是经过一个点就更改对应节点上的value,这个值要用组合数来算一下。

懒得看怎么处理附属就只去看了HZWER的题解……后来自己写了个很暴力的东西:-D。

具体怎么做下面也有:-D大力安利HZWER

代码

 

BZOJ1227

@OceanEye7年前

05/9
21:15
OI

BZOJ4808

题目名字很有趣

但是看完题面会发现这就是个黑白染色最小割

网络流大法好,ISAP直接跑

好像这几道题是一个系列的233

 

BZOJ4808

@OceanEye7年前

05/7
22:56
OI

BZOJ2434

AC自动机的好题,充分利用了fail树的性质

性质:S串中每个包含了T的后缀的fail指针一定经过若干层指向T

fail指针不成环

把fail树上的点dfs重标号

处理单个询问时可以把S串中的每个节点的DFS序丢进树状数组里面

查询T对应节点的DFS区间即可

处理许多询问的话离线处理即可

为了保证在树上不跑 \(x^2\) 次

可以模拟之前插入节点的方式来计算……

当然开个vector在节点上记录id也是可行的……

代码应该很好看懂

[但是我写的代码一般都巨长所以没多少人看哈哈哈]

 

BZOJ2434

@OceanEye7年前

05/6
13:45
OI

BZOJ2780

广义后缀自动机

良心题,教会了我怎么写广义后缀自动机……

其实就是加完一个串之后把last丢回root接着跑啊qaq

这是非TRIE树版本

 

TRIE树什么的等会再写

BZOJ2780

@OceanEye7年前

05/4
19:49
OI

BZOJ4318

期望DP
题目要求维护三次方
所以要把二次和一次的期望也给维护了,接着考虑我们DP的含义是什么。
DP[3][i]=DP[3][i-1] + (增长幅度=x^3-(x-1)^3)*(增长概率=p[i])
上面那个三次方展开一下就可以做了

BZOJ4318

@OceanEye7年前

05/3
19:03
OI

BZOJ4012

某码农题
动态点分治[或者说点分树?]
转化一下[差分一下]就可以看出
要维护一棵树
可以在log~log方的时间复杂度内跑完整棵树的前缀和[1,l-1],[1,r]
于是用了点分树
树链剖分可不可以还没想过,目测是不行的
用了vector来控制空间
当然有大佬愿意写动态开点线段树或者平衡树也是很强的orz

BZOJ4012

@OceanEye7年前

05/3
18:56
OI

BZOJ1419

期望DP
和班上的一个物理大佬一起搞了二十分钟吧……然后发现这个期望(R,B)只和(R-1,B)以及(R,B-1)相关
然后就一个for循环再用一下滚动数组就可以了
dp[r][b]=(dp[r][b-1]-1)*b/(r+b) + (dp[r-1][b]+1)*r/(r+b)

BZOJ1419

@OceanEye7年前

05/2
20:40
OI

BZOJ3236

看着这道题觉得很神啊

于是写了个n根号nlogn的就开始跑了

然后就跑过去了……

95s的AC

不过写这份代码好像只花了我十分钟?说明我码力还算不错么qwq[单身狗的怨念]

 

BZOJ3236

@OceanEye7年前

05/2
20:04
OI

BZOJ1324

有些炸裂的题解

题目是一道最大点独立集,比较裸的那种

最大点独立集=最小点覆盖集的补集

然后套最小点覆盖集用sum-tot_flow即可

 

BZOJ1324