随笔分类 - 白书补全计划
摘要:白书上的例题。花了很多时间在找bug上,刚学树状数组,这道题add操作时要注意上限不是n。
阅读全文
摘要:题目是给出N,求G的值。 可以转化为S(n) = f(1) + f(2) + f(3) + ... + f(n)。其中f(n) = gcd(1, n) + gcd(2, n) + ... + gcd(n, n)。 随便写一个n = 5 的情况。得到gcd(1, 5) = 1, gcd(2, 5) =
阅读全文
摘要:#include #include #include #include using namespace std; #define ll long long const int maxn = 310; const ll mod = 1e9; char s[maxn]; ll dp[maxn][maxn]; ll solve(int i, int j) { if(i == j) retur...
阅读全文
摘要:简单的数位dp题,题意是求区间内的一种数的个数,这种数的本身和各个位置上的数之和能除尽给定的k(k <= 10000)。 dp[20][10000][100]也是可以过的,但是因为各位置上的数之和不会超过100。所以k>=100的情况其实可以直接返回0。 所以dp[20][110][110]足够了(
阅读全文
摘要:白书上的例题,实际上就是一个背包问题,不过要注意高精度问题,上java就没问题了。
阅读全文
摘要:白书上的例题,用长度作为状态推算sg值。代码写的有点挫。
阅读全文
摘要:题意和nim游戏差不多,就是取石子的时候最多只能拿原来的一半,比如一堆5个石子最多拿两个。 先用打表的方式看出前面一部分的sg值,然后找规律来做。 打表求sg值的程序才是最重要的。
阅读全文
摘要:白书的例题,做法是记好每个数的质因数的个数,然后就可以转化为简单的nim游戏。
阅读全文

浙公网安备 33010602011771号