摘要:
在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?”这个问题称为“孙子问题”,该问题的一般解法国际上称为“中国剩余定理”。具体解法分三步: 我们将“孙子问题”拆分成几个简单的小问题,从零开始,试图揣测古人是 阅读全文
摘要:
题意:题目给出一棵树,每个节点都有其权值。如果选择了一个节点则不可以选择其父节点,问能取得的最大值。 析:一个简单的树形DP,dp[i][0] 表示结点 i不选,dp[i][1] 表示 结点 i 选,最后选最大值就好。 代码如下: 阅读全文
摘要:
题意:给定一个n*m的棋盘,要放k个石子,要求第一行,最后一行,第一列,最后一列都有石子,问有多少种放法。 析:容斥原理,集合A是第一行没有石子,集合B是最后一行没有石子,集合C是第一列没有石子,集合D是最后一列没有石子,如果某一行或某一列, 没有,那么就相当于减少一行或者一列。 代码如下: 阅读全文
摘要:
题意:给一个 n,m,统计 2 和 n!之间有多少个整数x,使得x的所有素因子都大于M。 析:首先我们能知道的是 所有素数因子都大于 m 造价于 和m!互质,然后能得到 gcd(k mod m!, m!) = 1,也就是只要能求出不超过 m!且和 m! 互质的个数就好,也就是欧拉函数呗,但是,,,m 阅读全文
摘要:
题意:给定 n,k,求 while(i <=n) k % i的和。 析:很明显是一个数论题,写几个样例你会发现规律,假设 p = k / i.那么k mod i = k - p*i,如果 k / (i+1) 也是p,那么就能得到 : k mod (i+1) = k - p*(i+1) = k mod 阅读全文