HDU 2841 容斥原理
来源:互联网 发布:热血战歌龙心升级数据 编辑:程序博客网 时间:2024/05/17 22:40
#include <cstdio>#include <iostream>#include <vector>using namespace std;int T, n, m;const int maxn = 1E5 + 10;std::vector<int> prime[maxn];void init(){for (int i = 2; i < maxn; i++)if (!prime[i].size())for (int j = 1; i * j < maxn; j++)prime[i * j].push_back(i);}long long dfs(int m, int n, int idx){long long res = 0;for (int i = idx; i < prime[m].size(); i++)res += n / prime[m][i] - dfs(m, n / prime[m][i], i + 1);return res;}int main(int argc, char const *argv[]){init();scanf("%d", &T);while (T--){scanf("%d%d", &n, &m);long long ans = n;for (int i = 2; i <= m; i++)ans += n - dfs(i, n, 0);printf("%lld\n", ans);}return 0;}
典型的容斥原理题目,N*M的格点上有树,从0,0点可以看到多少棵树。
也就是有多少对互斥的数,预处理出所有的素因子,根据容斥原理,不断加减。
0 0
- HDU 2841 容斥原理
- hdu 2841(容斥原理)
- hdu 1695 hdu 2841 容斥原理
- Hdu 2841 Visible Trees 容斥原理
- hdu 2841 Visible Trees(容斥原理)
- HDU 2841 - Visible Trees (容斥原理)
- hdu 2841 Visible Trees【容斥原理】
- hdu 2841 Visible Trees (容斥原理)
- hdu 2841(容斥原理)
- HDU 2841 Visible Trees(容斥原理)
- 容斥原理1001 HDU 2841
- [HDU 2841]Visible Trees:容斥原理
- 【容斥原理】HDU 4135
- hdu 4135 容斥原理
- hdu 4336 容斥原理
- hdu 1695 容斥原理
- hdu 4407 容斥原理
- HDU 1796 容斥原理
- 东北衰败宣告了国企城市的破产
- GLUT文档
- caffe Accuracy.cpp
- Java Vector 构造函数与增长的探究
- Leetcode 57 Insert Interval
- HDU 2841 容斥原理
- 排序算法-及其Java代码实现
- 轮换相乘的小程序
- JSP开发模式
- 2016-03-28缓存
- iOS UITableView2
- MFC ado 连接sql server提示未知错误
- UI控件--ViewPager详解带Tab交互的ViewPager(5)
- vitamio for android的使用