HDU 2197 本原串 (数学+容斥)
来源:互联网 发布:淘宝店访客突然少了 编辑:程序博客网 时间:2024/05/17 01:01
题目链接:
HDU 2197
题意:
由0和1组成的串中,不能表示为由几个相同的较小的串连接成的串,称为本原串,有多少个长为
答案
例如,
题解:
我们考虑一下容斥原理,长度为
而非本原串可以由本原串得到。
易得,
因为非本原串肯定是由长度为
代码:
#include <bits/stdc++.h>using namespace std;const int mod=2008;int f[10010];typedef long long ll;int q_mod(int a,int b){ int ans=1; while(b) { if(b&1) { ans=ans*a%mod; } a=a*a%mod; b>>=1; } return ans;}int solve(int n){ if(n==1)return 2; int ans=q_mod(2,n); ans-=2; ans%=mod; for(int i=2;i*i<=n;i++) { if(n%i!=0)continue; if(i*i==n) { ans-=solve(i); ans%=mod; } else { ans-=solve(i); ans-=solve(n/i); ans%=mod; } } return (ans+mod)%mod;}int main(){ int n; while(~scanf("%d",&n)) { cout<<solve(n)<<endl; } return 0;}
阅读全文
1 0
- HDU 2197 本原串 (数学+容斥)
- hdu 2197 本原串(容斥定理)
- hdu 2197 【本原串】
- HDU - 2197 本原串
- HDU 2197本原串
- 【HDU】 2197 本原串
- hdu 2197 本原串
- hdu-2197-本原串
- hdu 2197 本原串 (快速幂)
- hdu 2197 本原串 思维
- hdu 2197 本原串(递推,快速幂取模)
- hdu 2197 本原串(数论+快速幂)
- HDU 2197 本原串 (规律+快速幂)
- hdu 4135,数学-容斥
- HDU 本原串 (快速幂)
- HDU 4336 Card Collector 数学期望(容斥原理)
- hdu 4390 Number Sequence(组合数学+容斥定理)
- hdu 4366 Card Collector(组合数学:容斥定理)
- 【JMeter 菜鸟实操之四】接口自动化测试实施(数据驱动)
- webuploader 文件上传插件 IE8/9 文件选择不上传
- 解锁各行业难题,联想全面开放AR应用平台AH云
- spring boot应用启动原理分析
- SAP-HANA快速创建序列
- HDU 2197 本原串 (数学+容斥)
- 持续集成Jenkins+sonarqube部署教程
- 自我反省
- 机器学习与TensorFlow编程(2)逻辑线性回归模型
- 搭建elk
- Could not execute JDBC batch update; SQL [delete from role where roleId=?]; constraint [null]; neste
- 用Mesos分布式架构进行工作
- qt国际化翻译
- 调用EAS单据转换规则(BOTP),生成下游单据