总目录详见https://blog.csdn.net/mrcrack/article/details/84471041
做题原则,找不到测评地址的题不做。2018-11-28
重走长征路---OI每周刷题记录---2月1日 2015
本周共计30题+题
测评地址:
斜率优化:
1.「火影完结纪念赛」木叶的军师
dp:
2.「cf506A」Mr. Kitayuta, the Treasure Hunter
tarjan+并查集:
3.「cf506B」Mr. Kitayuta’s Technology
虚树+树形dp:
4.「bzoj2286」[Sdoi2011]消耗战
5.「bzoj3611」[Heoi2014]大工程
gcd+随机化:
6.「cf364D」Ghd
模拟:
7.「bzoj3856」Monster
8.「cf508A」Pasha and Pixels
并查集:
9.「bzoj1370」[Baltic2003]Gang团伙 //在线测评地址https://www.luogu.org/problemnew/show/P1892
状压dp:
10.「bzoj2073」[POI2004]PRZ
线段树+筛法+逆元+欧拉函数:
11.「bzoj3813」奇数国
dfs:
12.「poj2362」Square
图论+tarjan:
13.「cf403C」Strictly Positive Matrix
graham+旋转卡壳:
14.「poj2187」Beauty Contest
上下界费用流:
15.「bzoj3876」[Ahoi2014]支线剧情
treap+中位数:
16.「vijos1459」车展
dfs序+主席树:
17.「bzoj3772」精神污染
构造:
18.「cf508E」Arthur and Brackets
贪心:
19.「cf508B」Anton and currency you all know
20.「cf508C」Anya and Ghosts
21.「cf509B」Painting Pebbles
22.「cf509C」Sums of Digits
hash+树同构+树形dp:
23.「bzoj3162」独钓寒江雪
最小割:
24.「bzoj2229」[Zjoi2011]最小割
treap+dp:
25.「bzoj3173」[Tjoi2013]最长上升子序列
平面图+2-sat:
26.「bzoj1997」[Hnoi2010]Planar
状压dp:
27.「bzoj2004」[Hnoi2010]Bus 公交线路
并查集+置换:
28.「bzoj1998」[Hnoi2010]Fsk物品调度
模拟:
29.「cf509A」Maximum in Table
数学:
30.「cf509E」Pretty Song
题解:
斜率优化:
1.「火影完结纪念赛」木叶的军师
dp:
2.「cf506A」Mr. Kitayuta, the Treasure Hunter
tarjan+并查集:
3.「cf506B」Mr. Kitayuta’s Technology
虚树+树形dp:
4.「bzoj2286」[Sdoi2011]消耗战
5.「bzoj3611」[Heoi2014]大工程
gcd+随机化:
6.「cf364D」Ghd
模拟:
7.「bzoj3856」Monster
8.「cf508A」Pasha and Pixels
并查集:
9.「bzoj1370」[Baltic2003]Gang团伙
//P1892 [BOI2003]团伙
//在线测评地址https://www.luogu.org/problemnew/show/P1892
//数组开到2000,用在 处理 我敌人的敌人也是我的朋友
//处理 我敌人的敌人也是我的朋友 稍花了点功夫
//也就是将 所有人的爸爸 局限在1--n之间
//样例通过,提交AC。2019-4-2
//比较期待他人如何处理 爸爸的范围是1--n,还是1--2n
//翻看了他人代码,发现处理手法与本人基本一致。
#include
int n,m,f[2010];
int getf(int u){
if(f[u]==u)return u;
return f[u]=getf(f[u]);
}
void merge(int u,int v){//合并时,让爸爸出现在1--n之间
int f1=getf(u),f2=getf(v);
if(f1!=f2){
if(f1<=n)f[f2]=f1;
else f[f1]=f2;//f2<=n
}
}
int main(){
int i,a,b,cnt=0;
char cmd[5];
scanf("%d%d",&n,&m);
for(i=1;i<=n*2;i++)f[i]=i;
while(m--){
scanf("%s%d%d",cmd,&a,&b);
if(cmd[0]=='E'){
merge(a+n,b),merge(a,b+n);
}else if(cmd[0]=='F'){
merge(a,b);
}
}
for(i=1;i<=n;i++)
if(f[i]==i)cnt++;
printf("%d\n",cnt);
return 0;
}
状压dp:
10.「bzoj2073」[POI2004]PRZ
线段树+筛法+逆元+欧拉函数:
11.「bzoj3813」奇数国
dfs:
12.「poj2362」Square
图论+tarjan:
13.「cf403C」Strictly Positive Matrix
graham+旋转卡壳:
14.「poj2187」Beauty Contest
上下界费用流:
15.「bzoj3876」[Ahoi2014]支线剧情
treap+中位数:
16.「vijos1459」车展
dfs序+主席树:
17.「bzoj3772」精神污染
构造:
18.「cf508E」Arthur and Brackets
贪心:
19.「cf508B」Anton and currency you all know
20.「cf508C」Anya and Ghosts
21.「cf509B」Painting Pebbles
22.「cf509C」Sums of Digits
hash+树同构+树形dp:
23.「bzoj3162」独钓寒江雪
最小割:
24.「bzoj2229」[Zjoi2011]最小割
treap+dp:
25.「bzoj3173」[Tjoi2013]最长上升子序列
平面图+2-sat:
26.「bzoj1997」[Hnoi2010]Planar
状压dp:
27.「bzoj2004」[Hnoi2010]Bus 公交线路
并查集+置换:
28.「bzoj1998」[Hnoi2010]Fsk物品调度
模拟:
29.「cf509A」Maximum in Table
数学:
30.「cf509E」Pretty Song