- 博客(8)
- 收藏
- 关注
原创 2024牛客寒假算法基础集训营补题(B题,K题)
对于任意一个被删除之后变为”mygo”的子串,其某一段的删除方案一定唯一(比如 “amycgo",只有通过删除”a“和“c”才能变成“mygo”,也就是说它在”amycgo“这一段的删除方案唯一。那么,处理方案就简单了,用f[i]存放删长度为i的字符串删除方案数。对于长度为i的字符串,第i个字符分为删或者不删,删第i个字符的方案数是f[i-2],不删第i个字符的方案数是f[i-1]。从头遍历字符串,对于每一种可以被删成”mygo“情况,可以得到ans+=f[x]*f[y]。
2024-02-27 20:23:34 459
原创 2024牛客寒假算法基础集训营2补题(K题)
因为范围很小,所有暴力枚举所有可能性就可以了,多重循环,枚举不同的字符串,再用从榜一大哥哪里学来的可以把字符串转换成int返回的c++自带函数stoi(),直接判断能不能整除八,这算是新的收获了,然后如果满足条件<=y且能整除8,就存进map里面(提前开一个map<ll,ll>),最后统计map的长度输出就是答案了。有整数n,字符串s,整数y,求小于等于y的所有满足条件的整数的个数(无前导0,能整除8,相同位置字母相同则数字相同,不同则代表不同,下划线代表所有都可以。
2024-02-12 23:33:41 580 1
原创 2024牛客寒假算法基础集训营3题解(M题)
最后得到的就是答案了。36分解成4和9,能整除9代表各个位数之和是9的倍数,能整除4代表最后两位能整除4(因为100是4的倍数),由于样例过多,直接暴力是会超时的,所以想办法优化了一下:开了三个动态数组,分别为:除9的余数为i的下标,能除4的数且除9余数为i的下标,小于10且除9余数为i的下标。简单来说就是问一个数组a中有多少种组合可以使得这个组合拼接而成的数是36的倍数。
2024-02-09 23:03:04 1132
原创 2024牛客寒假算法基础集训营1题解(E题,I题)
因为本题n和m范围都小于等于10,所以直接暴力搜索枚举出所有可能性,然后选最小的,主要用到了DFS。有n只鸡,目前每个鸡有自己的积分a[i],接下来有m场比赛,每场比赛由两只鸡进行。//回溯第y只鸡得分,两者打平。//回溯第x鸡得分,让第y只鸡获胜。//回溯第x只和第y只鸡得分。if(u==m+1)//比赛进行完,计算排名。问:最好情况下的第一只鸡的排名是最高是第几名。
2024-02-09 22:05:00 1494
原创 2023牛客暑期多校第十场题解(K,M)
求在n个人的m场获胜概率均等的情况下,小范每场都是第一名或者最后一名的概率。称这种情况为“出类拔萃”给定一个 a + b = c 的式子,让你判断是否可以在其中加一个数字使得这个等式成立或者这个式子原本就成立。每场比赛小范“出类拔萃”概率是2/n;一个循环求(2/n)的m次方即可。先将题目给出的等式的数字取出来。然后一个一个位往里面加数字模拟判断是否可行。当n=1或者n=2时,小范“出类拔萃”概率是1,直接输出就好。
2023-09-10 16:19:09 79 1
原创 2023牛客暑期多校第四场题解(L,A)
让s=t+p+t,然后利用find函数和substr函数查找s中有多少个子串t,如果是两个,则说明全0字符串p是满足条件的,输出p,否则输出一个长度为n的全1字符串。要注意的是,不管开灯还是关灯,操作完这一行的状态就定死了,也就是说每次操作完都要更新行和列,就是n和m表示剩下的可以被操作的行和列。给一个字符串t和整数n,让你构造一个长度为n的字符串s,满足t+s+t这个新的字符串除了开头和结尾的之外不能再出现字符串t。并且,由于我们是倒着模拟的,那么前面的操作就不能对后面的操作产生影响。
2023-09-09 14:39:38 106
原创 2023牛客暑期多校第六场(E题)
给定一个长度为n的数组a,做q次询问,每次给l,r,k,询问能不能讲a数组从l到r这段区间分成k段,并且使每段区间和都是偶数。
2023-09-09 13:19:44 54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人