luoguP2231 [HNOI2002]跳蚤

时间:2022-10-08 00:17:36

题目链接

bzoj1220: [HNOI2002]跳蚤

题解

根据裴蜀定理,不定方程的解为未知数的gcd,所以选取的n个数的gcd为1

那么n - 1个数保证没有公约数为m的约数,枚举质因数容斥

质因数的个数上届是log的啊,我真傻,还想了半天QAq

那啥,bzoj高精,你们去做吧Qwq

代码

#include<cstdio>
#include<algorithm>
#define LL long long
inline LL read() {
LL x = 0,f = 1;
char c = getchar();
while(c < '0' || c > '9')c = getchar();
while(c <= '9' && c >= '0')x = x * 10 + c - '0',c = getchar();
return x * f;
}
const int maxn = 100007;
LL ans = 0,n,m;
LL pow(LL x,LL res) {
LL ret = 1;
for(;res;res >>= 1,x *= x) if(res & 1) ret *= x ;
return ret;
}
int num = 0,rime[maxn];
void divede(int x) {
for(int i = 2;i * i <= x;++ i)
if(x % i == 0) {
rime[++ num] = i;
while(x % i == 0) x /= i;
}
if(x != 1) rime[++ num] = x;
}
void solve(int cnt = 1,LL x = 1,int tp = 1) {
if(cnt == num + 1) { ans += (tp & 1) ? pow(m / x,n) : -pow(m / x,n); return ;}
solve(cnt + 1,x,tp);
solve(cnt + 1,x * rime[cnt],tp ^ 1);
}
int main() {
n = read(),m = read();
//ans = 2 * pow(m,n);
divede(m);
solve();
printf("%lld\n",ans);
return 0;
}

luoguP2231 [HNOI2002]跳蚤的更多相关文章

  1. &lbrack;BZOJ1220&rsqb;&lbrack;POJ1091&rsqb;&lbrack;HNOI2002&rsqb;跳蚤

    [BZOJ1220][POJ1091][HNOI2002]跳蚤 试题描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正*.钢丝很长,可以看作是无限长. ...

  2. BZOJ1220 HNOI2002 跳蚤 【容斥原理&plus;高精度】&ast;

    BZOJ1220 HNOI2002 跳蚤 Description Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正*.钢丝很长,可以看作是无限长.节目主持 ...

  3. &lbrack;HNOI2002&rsqb;跳蚤

    题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正*.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最 ...

  4. P2231 &lbrack;HNOI2002&rsqb;跳蚤

    题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正*.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最 ...

  5. &lbrack;HNOI2002&rsqb;跳蚤 【容斥】

    题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正*.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最 ...

  6. 洛谷P2231 &lbrack;HNOI2002&rsqb;跳蚤 &lbrack;数论,容斥原理&rsqb;

    题目传送门 跳蚤 题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正*.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+ ...

  7. bzoj千题计划157:bzoj1220:&lbrack;HNOI2002&rsqb;跳蚤

    扩展欧几里得:ax+by=gcd(a,b) 一定有解 能跳到左边一格,即ax+by=-1 若a,b的gcd=1,则一定有解 所以问题转化为 求n个不大于m的数,他们与m的gcd=1 的方案数 容斥原理 ...

  8. 洛谷 P2231 &lbrack;HNOI2002&rsqb;跳蚤

    https://www.luogu.org/problemnew/show/P2231 题意相当于:有n个位置a[1..n],每个位置可以填[1,m]中任一个整数,问共有多少种填法满足gcd(a[1] ...

  9. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

随机推荐

  1. POJ1740A New Stone Game&lbrack;组合游戏&rsqb;

    A New Stone Game Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5769   Accepted: 3158 ...

  2. 微信内嵌html5页面清楚缓存

    给每个js添加一个版本号,每次修改js后改变一下版本号,浏览器即可自动刷新不用手动清理缓存 <script src="<%=path%>/js/boss/kpi/redli ...

  3. 【visio 2007操作】

    1.visio改变画布大小 两种方法:1)按住ctrl,可以鼠标拉动调整背景绘图大小2)点击菜单栏“文件”-“页面尺寸”,选择“调整大小以适应绘图内容”并点击确定

  4. DatePickerDialog 控制只选择年月或年或月

    etXyLevelDate.setOnTouchListener(selectDateTouchListener()); /** * @desc 选择日期操作 * @param @return * @ ...

  5. 【leetcode列】3Sum

    现在的问题是,我开始思考:一是制定了一些,然后设置这个数字,除了里面找到两个数字.最后,计算和.重复,供N的数量,需要N-2周期. 我的问题是如何找到的其他两个数字,其实,我想引用Two Sum内部解 ...

  6. 协议系列UDP协议

    所述上部TCP虽然该协议提供了一个可靠的传输,但也有一个缺点.发送速度慢.是否有协议它可以以高速传送?这部分是将要讨论UDP协议,它提供了更加快了传输速度.而且在可靠性为代价,这是一个无连接的传输协议 ...

  7. 【秒懂】号称最为简明实用的Django上手教程

    号称最为简明实用的Django上手教程 作者:白宁超 2017年8月24日09:37:35 摘要:Django的学习教程也是分门别类,形式不一.或是较为体系的官方文档,或者风格*的博客文档,或者偏向 ...

  8. Mybatis二&lpar;高级部分&rpar;

    1.输入映射和输出映射 a)        输入参数映射 b)        返回值映射 2.动态sql a)        If标签 b)        Where标签 c)        Sql片 ...

  9. ny55 懒省事的小明

    懒省事的小明 时间限制:3000 ms  |            内存限制:65535 KB 难度:3 描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而 ...

  10. 【性能测试】:loadrunner直压MYSQL数据库的脚本开发

    有时性能测试,会涉及到直接压测数据库,测试数据库处理sql的水平,或者通过sql脚本向数据库写数据做铺地数据 这里贴上一个自己用的对数据库操作的脚本 一,首先要去下载一个LR压MYSQL的一个库文件, ...