Atcoder abc315
https://atcoder.jp/contests/abc315
G - Ai + Bj + Ck = X (1 <= i, j, k <= N)
给定a,b,c,x,n 找满足限制的方案数
n 1e6
a,b,c [1,1e9]
x 3e15
2s
1024mb
我的思路
显然 for i = 1..n, 剩余部分exgcd算一算
但是wa了17个点,感觉我的exgcd应该是overflow了
题解
和我过程一模一样但是没有代码, 会overflow的代码,(不过本身逻辑没问题用python可能就过了)
1 | // ax+by=c, gcd(a,b)=1, return {x,y} |
修复后的代码
1 | // ax+by=gcd(a,b), 不传入c,返回{x,y,gcd(a,b)} |
代码
https://atcoder.jp/contests/abc315/submissions/me
1 |
|
Ex - Typical Convolution Problem
$a_{1\cdots n} \in [1,2\cdot 10^5]$
$f_0 = 1$
$f_k = a_k \cdot (\sum_{i+j<k} f_i\cdot f_j)$
求所有 $f_{1\cdots n}\mod 998244353$
5s
1024mb
我的思路
令 $G_k = \sum_{i+j=k} F_iF_j$
$G = F\star F$
$F_k=A_k(\sum_{i<k} G_i)$
似乎就是个二分过程中做卷积? 以前abc做过的
ac了
代码
https://atcoder.jp/contests/abc315/submissions/49604273
1 |
|
参考
https://atcoder.jp/contests/abc315/editorial
总结
第一次真的overflow了,我去官方的dropbox下载了数据,真的是overflow, 总的来说还是需要一个正确的不会overflow的
1 | oi test -i in/test_69.txt -o out/test_69.txt |
Ex 在补完了之前的abc的情况下不难