把k的倍数的删去(k, 2k, 3k……),但是k^2不应该删去,因为k已经删去,所以不存在某个数乘上k之后为k^2

所以k^2可以留下,然后因为有k^2,所以k^3就是k^2的k倍,所以k^3要删去,但是k^4又要加回来,以此类推

ans = n - n / k + n / (k^2) - n / (k^3)……

见代码

#include<cstdio>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std;int solve(int n, int k)
{int sign = 1, ans = 0;while(n){ans += sign * n;n /= k;sign *= -1;}return ans;
}int main()
{int n, k, T;scanf("%d", &T);while(T--){scanf("%d%d", &n, &k);printf("%d\n", solve(n, k));}return 0;
}

转载于:https://www.cnblogs.com/sugewud/p/9819463.html

紫书 习题 10-44 UVa 11246 ( 容斥原理)相关推荐

  1. 紫书 习题 10-17 UVa 11105 (筛法)

    类似于素数筛的思想去做,不然暴力会超时而且还要判重 #include<cstdio> #include<cstring> #include<vector> #def ...

  2. 紫书 习题7-14 UVa 307(暴搜+剪枝)

    这道题一开始我想的是在排序之后只在头和尾往中间靠近来找木块, 然后就WA, 事实证明这种方法是错误的. 然后参考了别人的博客.发现别人是直接暴搜, 但是加了很多剪枝, 所以不会超时. 我也想过这个做法 ...

  3. 紫书 习题 10-20 UVa 1648 (推公式)

    设一次上去a层,一次下去b层,有x次上去,有(n-x)次下去 则ax - (n-x)b >= 1 x >= (nb+1) / (a+b) 如果可以整除, x = (nb+1) / (a+b ...

  4. 紫书 习题 10-7 UVa 10539(long long + 素数筛)

    注意要开long long 如果int * int会炸 那么久改成long long * int #include<cstdio> #include<vector> #incl ...

  5. 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)

    参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久 ...

  6. 紫书 习题 8-15 UVa 1617 (贪心)

    先排序, 然后每个线段先放右端点, 然后往下放, 如果不能放就整体往左移动, 当不能往左移动的时候就ans++ 开始下一个整块.判断能不能向左移动要用一个变量储存每个已经放了的区间中线段与左端点距离的 ...

  7. 紫书 习题 11-12 UVa 1665 (并查集维护联通分量)

    这道题要逆向思维 反过来从大到小枚举, 就是在矩阵中一点一点加进去数字,这样比较 好操作, 如果正着做就要一点一点删除数字, 不好做. 我们需要在这个过程中维护联通块的个数, 这里用到了并查集. 首先 ...

  8. 紫书搜索 例题7-10 UVA - 11212 Editing a Book 迭代加深搜索 IDA*

    题目链接: https://vjudge.net/problem/UVA-11212 题意: 题解: IDA*,每次改变深度上限去剪枝 代码: 1 #include <bits/stdc++.h ...

  9. 紫书搜索 例题7-5 UVA - 129 Krypton Factor

    题目链接: https://vjudge.net/problem/UVA-129 题意: 题解: 代码: #include <bits/stdc++.h> using namespace ...

最新文章

  1. 为什么做小程序的时候要做定制开发小程序?
  2. 【Java多线程】sleep与yield的辨析
  3. POJ 3617 Best Cow Line(最佳奶牛队伍)
  4. java systemoutprint_java – 为什么System.out.print()不起作用?
  5. Blog主场转至51CTO.com
  6. 分享一套帮助你优化开发web应用的jQuery插件集 - Vanity Toolset
  7. CSS里 @import用法
  8. ViewStub 简介
  9. 发力大数据营销 神马搜索获年度最佳移动广告平台奖
  10. 将Excel表格中的数字文本格式转化为数字格式
  11. 用原始代码制作简易的百度页面
  12. 一张纸厚度是多少毫米_一张A4纸的厚度是多少mm?
  13. selenium使用代理IP
  14. 解决ROS系统 rosdep update超时问题的新方法
  15. 特征工程之One-Hot编码、label-encoding、自定义编码
  16. 【压缩感知】压缩感知与传统压缩的区别
  17. 走楼梯(stairs)
  18. Python 爬虫进阶必备 | 某音乐网站查询参数加密逻辑分析(分离式 webpack 的加密代码扣取详解)...
  19. http 中的post和get方法
  20. python编写代码避免内存增加_读书笔记(6): 编写高质量python代码的59个有效方法-完结...

热门文章

  1. FreeRTOS 临界段和开关中断
  2. 虚拟机上安装ArchLinux笔记
  3. mysql修改数据库字符集,编码
  4. JAVA基础代码分享--学生成绩管理
  5. GDI+ 学习记录(3): 虚线画笔 - Dash
  6. overflow与min-width
  7. 在Linux和Windows下删除文件夹中包含的.svn文件的方法
  8. 客户关系管理:客户关系选型
  9. ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidator
  10. Linux服务管理---系统运行级别、rpm启动与自启动、源码包的启动...