20180604 给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数. 例如N = 10,只有1不是2 3 5 7的倍数. Input 输入1个数N(1 <= N <= 10^18). Output 输出不是2 3 5 7的倍数的数共有多少. Sample Input 10 Sample Output 1 思路: ⒈如果对数学不是很了解,这道题可以按照常规思路来,只是分得不完,毕竟数据太大会爆掉.(20道测试过了7道) #include<cstdio> #include&…
给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数. 例如N = 10,只有1不是2 3 5 7的倍数. Input 输入1个数N(1 <= N <= 10^18). Output 输出不是2 3 5 7的倍数的数共有多少. Input示例 10 Output示例 1 #include <iostream> #include <algorithm> #include <stdio.h> #include <cstring> using…
51nod1434 区间LCM 跟容斥没有关系.首先可以确定的一个结论是:对于任意正整数,有1*2*...*n | (k+1)*(k+2)*...*(k+n).因为这就是$C_{n+k}^{k}$. 于是这题就有:m最多枚举到2n. 于是有一个做法:对n!分解质因数,然后枚举m的同时统计已获得的所有质因数的次幂,全部不小于n!时即可推出. 复杂度肯定不大于$O(n\log n)$. 同时这里有一个不会证的结论:找到n以内最大的$p^k$的数(p是质数),答案就是$2p^k$. $O(n\log…
1284 . 2 3 5 7的倍数 基准时间限制:1 秒 空间限制:65536 KB 分值: 5 给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数. 比如N = 10,仅仅有1不是2 3 5 7的倍数. Input 输入1个数N(1 <= N <= 10^18). Output 输出不是2 3 5 7的倍数的数共同拥有多少. Input 演示样例 10 Output 演示样例 1 因为n非常大,直接枚举不可行.可是用容斥定理能够非常快出解. 容斥是高中数学里的知识,就是说有时候直接…
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1486 对于每个点,求出从起点到它,不经过其他障碍点的方案数: 求一个点时,首先得到走到它的所有方案,减去 x , y 都小于它的点的方案 * 走到该点的方案数: 由于该点的方案也不包括其它障碍点,所以就是容斥. 代码如下: #include<iostream> #include<cstdio> #include<cstring> #inc…
P2634 [国家集训队]聪聪可可 题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏. 他们的爸爸快被他们的争吵烦死了,所以他发明了一个新游戏:由爸爸在纸上画n个“点”,并用n-1条“边”把这n个“点”恰好连通(其实这就是一棵树).并且每条“边”上都有一个数.接下来由聪聪和可可分别随即选一个点(当然他们选点时是看不到这棵…
[传送门[(http://www.51nod.com/Challenge/Problem.html#!#problemId=1518) 解题思路 直接算不好算,考虑容斥,但并不能把行和列一起加进去容斥,这会使时间复杂度非常高,那么就考虑枚举行后\(dp\).设\(f[i]\)表示存在\(i\)列有线,任意一行无线的方案数,\(g[i[\)表示至少有\(i\)列有线,任意一行无线的方案数,那么 \[g[i]=\sum\limits_{k=i}^n C(i,k)f[i]\] 二项式反演得 \[f[0…
vjudge 题面传送门 首先我们知道斐波那契数列的 lcm 是不太容易计算的,但是它们的 gcd 非常容易计算--\(\gcd(f_x,f_y)=f_{\gcd(x,y)}\),该性质已在我的这篇博客中给出了详细证明,这里就不再赘述了. 考虑怎样将 LCM 转化为 gcd,注意到有个东西叫 Min-Max 容斥,即对于集合 \(S\),\(\max(S)=\sum\limits_{\varnothing\ne T\subseteq S}(-1)^{|T|+1}\min(T)\),该性质同样可以…
1284 2 3 5 7的倍数基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数. 例如N = 10,只有1不是2 3 5 7的倍数.Input输入1个数N(1 <= N <= 10^18).Output输出不是2 3 5 7的倍数的数共有多少.Input示例10Output示例1 思路:拒绝打表,容斥原理 代码: #include <bits/stdc++.h> using na…
1284 2 3 5 7的倍数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数. 例如N = 10,只有1不是2 3 5 7的倍数. Input 输入1个数N(1 <= N <= 10^18). Output 输出不是2 3 5 7的倍数的数共有多少. Input示例 10 Output示例 1 容斥原理的描述如下: 要计算几个集合并集的大小,我们要先将单个集合的大小计算出来,然后减…