2019厦门大学第一次积分赛
A题.人工智障
B题.三星拉克丝
洛谷T111566
此题让我感受到了数学的险恶
本题是道概率题,容易联想到超几何分布,但超几何是总量n中有m次品,取x个,得k个次品概率
C题.小吴的纸带
这道题还是挺简单的
题目意思清楚,简单模拟一下题目过程即可解答,但是由于题意理解不透彻,提交几次都是WA。
//之前先输入一组index和offset
for(int curri= 0;str[curri]!= 0 ;)
//阅读器超过结尾停止
{
printf("%c",str[curri]);
if(curri!=index||numfins==sum)
//判断是否到达结束index位置或者所有操作已经结束
++curri;
else
{
curri+=offest;
if(numofins!=sum)
scanf("%d %d",&index,&offset);
++numfins;
}
}
D题.不许喷漆
洛谷T111555
我的思路:参考洛谷涂色问题
设状态函数f[i][j]
是将纸带从第i
块涂到第j
块所需最少次数
那么可得
- 当
i==j
时,f[i][j]=1
- 当
i!=j
时,且s[i]==s[j]
,f[i][j]=min(f[i-1][j],f[i][j-1])
- 当
i!=j
且s[i]!=s[j]
时,我们需要考虑将子串断成两部分来涂色,于是需要枚举子串的断点,设断点为k,那么f[i][j]=min(f[i][j],f[i][k]+f[k+1][j])
原题是涂多种颜色问题,但本题较为简单 ,只需要涂两种颜色,那么过程就可简化为比较第j
块与第1
块及第j-1
块颜色,若它的颜色与两块之一相同,则所需次数不变,否则加一。
题解思路:
将纸带分为k
块颜色不同的连续段
k为奇数时,两端颜色相同,此时策咯时从外往里一层一层内铺,一共铺k/2+1
次
k为偶数时,两端颜色不同,可以在首端加一异色块,此时问题等价,化为奇数k+1
,则次数为k/2+1