2019.7.10(320/96)
记录每天自己的新的感受体会亦或者是题目中的坑。
概述
1.暑假集训第二天。话说今天我和
m
f
d
(
v
a
n
)
,
f
t
y
mfd(van),fty
mfd(van),fty…准备偷偷溜出去买泡面…
想假借我们是数学竞赛的名义偷偷溜出去…哪知道…刚刚走到食堂门口就遇到了数数学老师
z
r
h
zrh
zrh…吓得我们仨赶快转回身跑…
2.早上背了复习了昨天的30个
N
e
w
w
o
r
d
s
New words
Newwords。背了5个新单词。看了几首刘永的词,摘抄在
B
o
o
k
2
Book 2
Book2那个
E
x
c
e
l
Excel
Excel里面。
3.今天搞了
T
r
i
e
Trie
Trie树和背了一下倍增的
L
C
A
LCA
LCA模版还有就是堆。主要是
T
r
i
e
Trie
Trie树的模型和几类变式很重要。
给出 T r i e Trie Trie树的模板:(来自Lg P2850)
void insert(char *s)
{
int u=0,len=strlen(s+1);
for(int i=1;i<=len;i++)
{
int c=id(s[i]);
if(ch[u][c]==0)
{
memset(ch[size],0,sizeof(ch[size]));
ch[u][c]=size++;
}
u=ch[u][c];
}
}
int query(char *s)
{
int u=0,len=strlen(s+1);
for(int i=1;i<=len;i++)
{
int c=id(s[i]);
if(ch[u][c]==0)return 0;
u=ch[u][c];
}
if(!val[u])
{
val[u]=1;
return 1;
}
return 2;
}
题目:
【 T r i e Trie Trie树】
P2580 于是他错误的点名开始了
最基本的模板
P2922 [USACO08DEC]秘密消息Secret Message
模型特别重要!!!维护sum与end值
P2292 [HNOI2004]L语言
双起点枚举!!!也特别重要!!!
P3879 [TJOI2010]阅读理解
用
u
s
e
d
[
m
a
x
n
]
[
1005
]
used[maxn][1005]
used[maxn][1005]表示表示当前节点编号i在第j个句子里面是否有单词是一种思路,但对于这道题不适用。空间要炸。
所以用
b
i
t
s
e
t
bitset
bitset
注意一下
b
i
t
s
e
t
bitset
bitset的定义与使用
bitset<1001>used[maxn];
for(int i=1;i<=n;i++)
{
if(used[u][i])printf("%d ",i);
}
【堆】
P2278 [HNOI2003]操作系统
总结
AC:8
划水时间:half an hour
明日任务:
(1)go over new words & 古诗词2首
(2)图论基础算法复习:DP,Tarjan(重点)强连通与缩点,SPFA,Dij,最小生成树。