CF 803 F Coprime Subsequences (容斥原理)
来源:互联网 发布:webservice java 实例 编辑:程序博客网 时间:2024/05/16 19:18
Description
给定一个序列,求有多少个子串(可以不连续)满足所有数的
Solution
设
发现
答案为
Code
#include<bits/stdc++.h>using namespace std;#define For(i , j , k) for (register int i = (j) , i##_end_ = (k) ; i <= i##_end_ ; ++ i)#define Fordown(i , j , k) for (register int i = (j) , i##_end_ = (k) ; i >= i##_end_ ; -- i)#define Set(a , b) memset(a , b , sizeof(a))#define pb(a) push_back(a)#define mp(a, b) make_pair(a, b)#define ALL(a) (a).begin(), (a).end()#define SZ(a) ((int)(a).size())#define INF (0x3f3f3f3f)#define INF1 (2139062143)#define Mod (1000000007)typedef long long LL;template <typename T> inline bool chkmax(T &a , T b) { return a < b ? (a = b , 1) : 0; }template <typename T> inline bool chkmin(T &a , T b) { return b < a ? (a = b , 1) : 0; }int _ , __;char c_;inline int read(){ for (_ = 0 , __ = 1 , c_ = getchar() ; !isdigit(c_) ; c_ = getchar()) if (c_ == '-') __ = -1; for ( ; isdigit(c_) ; c_ = getchar()) _ = (_ << 1) + (_ << 3) + (c_ ^ 48); return _ * __;}inline void File(){#ifndef ONLINE_JUDGE freopen("divisor.in" , "r" , stdin); freopen("divisor.out" , "w" , stdout);#endif}const int maxn = 1000003, maxm = 1000003;int n, m, a[maxn], cnt[maxm], ans[maxm], pow2[maxn];int num[13], cntt;inline void write(int x){ if (!x){ putchar('0'); return ; } cntt = 0; do { num[++ cntt] = x % 10; x /= 10; }while (x); Fordown(i, cntt, 1) putchar(num[i] + 48);}int main(){ File(); n = read(); pow2[0] = 1; For(i, 1, n) { a[i] = read(), ++ cnt[a[i]], pow2[i] = pow2[i - 1] << 1; chkmax(m, a[i]); if (pow2[i] >= Mod) pow2[i] -= Mod; } For(i, 1, m >> 1) for (register int j = 2 * i; j <= m; j += i) cnt[i] += cnt[j]; Fordown(i, m, 1) { ans[i] = pow2[cnt[i]] - 1; for (register int j = 2 * i; j <= m; j += i) { ans[i] -= ans[j]; if (ans[i] < 0) ans[i] += Mod; } } write(ans[1]); putchar('\n'); return 0;}//雪花遣霰作前锋,势破张皇欲暗空。//筛瓦巧寻疏处漏,跳阶误到暖边融。//寒声带雨山难白,冷气侵人火失红。//方讶一冬暄较甚,今宵敢叹卧如弓。//--杨万里《霰》
阅读全文
1 0
- CF 803 F Coprime Subsequences (容斥原理)
- CF 803 F. Coprime Subsequences(数论题,莫比乌斯,容斥原理)
- codeforces 803F Coprime Subsequences (容斥原理)
- Educational Codeforces Round 20 F. Coprime Subsequences(容斥)
- Codeforces-803F-Coprime Subsequences(筛)
- cf Educational Codeforces Round 20 F. Coprime Subsequences
- Codeforces 803F Coprime Subsequences DP+GCD
- Coprime (二分+容斥原理)
- cf/Codeforces Gym 100548F Color (容斥原理)
- hdu3388 Coprime【容斥原理】
- HDU3388 -Coprime-容斥原理
- codeforces803F Coprime Subsequences -- 莫比乌斯函数+容斥
- HDU 5072 Coprime (单色三角形问题+容斥原理)
- HDU 5072 - Coprime(容斥原理+素筛)
- HDU 5073 Coprime(容斥原理+组合数学)
- hdoj Coprime 5072 (容斥原理) 好题***
- HDU 3388 Coprime(容斥原理+二分)
- HDU 5072 Coprime(数论+容斥原理)
- 按钮
- 制作自己的数据集tfrecord格式
- NOIP2016 && bzoj4719天天爱跑步
- 一首属于程序员的情书。。。。。
- NOIPの模板总结
- CF 803 F Coprime Subsequences (容斥原理)
- 算术运算符的应用
- html拾遗第1天,form 提交
- Vue中filter的使用
- BZOJ 2588 Count on a tree(树上的主席树)
- 树莓派3B创建WiFi热点
- 本地两个PHP项目相互请求
- Java流程控制
- ValueError: "concat" mode can only merge layers with matching output shapes except for the concat