hdu 5211 Mutiple 数学
Mutiple
Time Limit: 1 Sec Memory Limit: 256 MB
题目连接
http://acm.hdu.edu.cn/showproblem.php?pid=5211
Description
保证1≤n≤10000,1≤ai≤10000 对于任意 1≤i≤n, 且对于任意1≤i,j≤n(i!=j),满足ai != aj
Input
多组数据(最多100组)
对于每组数据:
第一行:一个数n表示数的个数
接下来一行:n个数,依次为a1,a2,…,an
接下来一行:一个数k表示操作数
Output
对于每组数据:
输出最多剩下的不同的数的个数
Sample Input
4
1 3 1 2
Sample Output
HINT
F(1)=2
F(2)=0
F(3)=4
F(4)=0
题意
题解:
对于每一个数,我们都直接枚举倍数就好了,直接倒着做!
代码:
//qscqesze #include <cstdio> #include <cmath> #include <cstring> #include <ctime> #include <iostream> #include <algorithm> #include <set> #include <vector> #include <sstream> #include <queue> #include <typeinfo> #include <fstream> #include <map> #include <stack> typedef long long ll; using namespace std; //freopen("D.in","r",stdin); //freopen("D.out","w",stdout); #define sspeed ios_base::sync_with_stdio(0);cin.tie(0) #define maxn 200001 #define mod 10007 #define eps 1e-9 int Num; char CH[20]; //const int inf=0x7fffffff; //нчоч╢С const int inf=0x3f3f3f3f; /*inline void P(int x) {Num=0;if(!x){putchar('0');puts("");return;}while(x>0)CH[++Num]=x%10,x/=10;while(Num)putchar(CH[Num--]+48);puts(""); } */ //************************************************************************************** inline ll read() {int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f; } inline void P(int x) {Num=0;if(!x){putchar('0');puts("");return;}while(x>0)CH[++Num]=x%10,x/=10;while(Num)putchar(CH[Num--]+48);puts(""); }int a[10010],mp[10010];int main() {int n;while(scanf("%d",&n)!=EOF){ll ans=0;for(int i=1;i<=n;i++)a[i]=read();for(int i=1;i<=10010;i++)mp[i]=n+1;for(int i=n;i;i--){int mi=n+1;for(int j=a[i];j<10010;j+=a[i])mi=min(mi,mp[j]);if(mi<=n)ans+=mi;mp[a[i]]=i;}printf("%lld\n",ans);} }
转载于:https://www.cnblogs.com/qscqesze/p/4458580.html
hdu 5211 Mutiple 数学相关推荐
- HDU 5914 Triangle 数学找规律
Triangle 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5914 Description Mr. Frog has n sticks, who ...
- Hdu 5339 Untitled (数学思维)
题意:给一个数a和n个数b1,b2,...,bn. 从n个数中选择一些数重新排列成c1,c2,...,cm使得a%c1%c2%...%cm=0. 如果能选出则输出最少需要几个数,否则输出-1. 分析: ...
- HDU 5976 Detachment(数学+结论)
原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=5976 参考博客:https://blog.csdn.net/qq_34374664/article/d ...
- hdu 1593(数学)
转载标记处:http://www.xuebuyuan.com/2131627.html 往相反的方面跑,但是,最理想的初始位置并不是圆点和圆上的某一点,应该还有更理想的初始逃跑状态.这里有一点需要注意 ...
- Circle HDU - 6550 (数学)
在半径为 1 的圆上有 n 个点,它们也是圆的 n 等分点,将每个相邻的 n 等分点相连,组成了一个正 n边形,现在你可以在圆上再增加一个点,使得新的 n + 1 边形的面积最大,请输出最大面积. I ...
- Function HDU - 6546 (数学,贪心)
wls 有 n 个二次函数 Fi(x) = aix2 + bix + ci (1 ≤ i ≤ n). 现在他想在∑ni=1xi = m 且 x 为正整数的条件下求∑ni=1Fi(xi)的最小值. 请求 ...
- B - Cube HDU - 1220 (数学计数)
题意:一个边长为N的正方体,切割成N*N*N个单位正方体,问有多少对正方体之间有0个,2个公共点. 思路:因为正方体之间出现公共点的情况有0,2,4. 那么直接正面求,肯定不好求,那么先求出有4个公共 ...
- hdu 4466 Triangle (数学)
终于做完了这道题,发一下自己的理解,踩踩~~ 题意:给你一个长度n的铁丝,将它弯成一个三角形,或者分成m段,每段组成一个三角形,要求这些三角形相似,问有多少种不同的方案数? 题解: 设f[x] 表示 ...
- HDU 2817 (数学,等差等比数列)
题意: 给一个等差数列或者等比数列的前三项,求第k项对200907取模的值. 思路: 套用等差数列或者等比数列的公式求解,用快速幂. 代码: #include <iostream> #in ...
- 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)
分析:x=1234567.求其前四位数: log10(x)=log10(1.234567)+6. 所以1.234567=10^(log10(x)-6). 1234 =(int) 10^(log10(x ...
最新文章
- php接收不到ajax请求参数,我是否需要在ajax请求和接收该请求的php之间编码/解码查询参数?...
- 一生应该感谢的十种人
- Firefox UI已迁移至Web Components
- [NewLife.XCode]脏数据
- LSI/LSA算法原理与实践Demo
- python manage.py startapp app 时候报错No module named _sqlite3
- 《『若水新闻』客户端开发教程》——10.代码编写(2)
- chattr lsattr
- pil python 安装_Python实现识别人脸特征并打印出来!
- css border画图
- 通过阿里接口查询银行卡信息
- 【Office 365 2108更新】
- ant构建异常UNEXPECTED TOP-LEVEL EXCEPTION com.android.dx.cf.iface.ParseException解决
- 没所谓移动开发寒冬,不过是大鱼吃小鱼
- 【前端三剑客二】CSS手术刀剖析第二篇
- 我家的三个犹太小富豪
- 微信小程序子组件向父组件传值的两个方法
- 主机坏了,150能解决的问题我花了近8000
- MyBatis:根据姓名模糊查询
- ubuntu 下 电驴下载及配置