[补题]Wannafly挑战赛22

6道题,做出1道

A-计数器

将n种给定的数相加,每种可取任意多个,问模m后有多少种结果.

参考CF 1011E,对所有数字及m取gcd后除m即可.
再引用一次裴蜀定理(才发现裴念陪,斐念匪,蔡少对不起)

若a,b是整数,且(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数.
特别地,一定存在整数x,y,使ax+by=d成立。
推论:a,b互质的充要条件是存在整数x,y使ax+by=1.

证明:由裴蜀定理,在模意义下每两个数字都可以组合成它们gcd的任意倍,相当于用这个gcd表示了它们本身.重复若干次问题就转化成了用所有n个数的gcd在模m意义下表示数,与m求gcd后再除m即可.

int main(void)
{
    int n=read(),m=read(),ans = m;
    for(int i = 0;i<n;i++)
    {
        int a = read();
        ans = __gcd(ans,a);
    }
    printf("%d\n",m/ans );
    return 0;
}

B-字符路径

给一个含n个点m条边的有向无环图(允许重边,点用1到n的整数表示),每条边上有一个字符,问图上有几条路径满足路径上经过的边上的字符组成的字符串去掉空格后以大写字母开头,句号 ‘.’ 结尾,中间都是小写字母,小写字母可以为0个。

官方题解
不难设计一个含 O(1)个点的有限状态自动机,使其只接受题目所要求的字符串。
在图上递推答案,记录 f[i][j]表示在图上以 i 点结尾的路径,在自动机上对应 j 点的方案数。
时间复杂度 O(n+m)

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值