
ACM算法解析
_好吗_好的
Stay Hungry,Stay Foolish.
展开
-
全排列 next_permutation()函数
如题,这个函数是(C++)STL中的一个全排列封装函数,在做全排列函数的题的时候只需要调用这个函数就行,在ACM刷题中非常方便. 代码如下#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main(){ char c[100]; scanf("%s",c);原创 2017-06-04 15:36:57 · 315 阅读 · 0 评论 -
二分查找法
二分查找法的前提就是这个数组要预先已经排好序了。 思想先将要找的数和中间的那个数相比,比中间数大的话就在中间数的右边开始找,小的话就在中间数的左边开始找。 代码如下:#include <cstdio>int erfen(int low,int high,int i[],int target){ if(low>high) return -1; if(i[(low原创 2017-08-02 10:29:46 · 199 阅读 · 0 评论 -
【Eternallyc】long long 型素数判断
#include <iostream>#include <cstdio>#include <cmath>using namespace std;bool isprime(int n){ if(n==0||n==1) return 0; if(n==2) return 1; for(int a = 2;a <= sqrt(n);a ++) {原创 2017-07-24 21:27:47 · 746 阅读 · 2 评论 -
【Eternallyc】素数6N+1法
任何一个自然数,总可以表示成如下形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5(N=0,1,2,…..) 当N>=1时,只有6N+1和6N+5的自然数有可能是素数。除了2和3之外,所有的素数都可以表示成6N+1的形式(N为自然数)#include <cstdio>bool Isprime(int n){ if(n==2) return true;原创 2017-07-24 21:59:49 · 1886 阅读 · 0 评论 -
ACMer刷题时容易出现的错误
常见错误 呈现错误(PE):输出格式错误。你的输出格式与法官的输出不完全一样,虽然你对这个问题的回答是正确的。检查输出的空格,空行等对问题输出规格。 错误的答案(佤族):正确的解决方案没有达到的投入。我们用来测试程序的输入和输出不是公开的。特别裁判的一些问题可能不回答“呈现错误”,取而代之的是“错误的答案”。 运行时错误(RE):执行过程中程序失败(分割错误,浮点异常…)。据报道,除了jav原创 2017-06-18 14:47:51 · 502 阅读 · 0 评论 -
快速幂算法
这是一个模板的算法,演示过程如下 #include <cstdio>long long qmi(int a,int b){ int ans = 1; while(b!=0) { if(b&1) ans=ans*a; a*=a; b>>=1; } return ans;}int ma原创 2017-07-27 20:26:53 · 222 阅读 · 0 评论 -
迭代法求平方根
迭代法求平方根公式 x2=(x1+x/x1)/2; 要求前后两次求出的差的绝对值小于10^(-5)#include <cstdio>#include <cmath>#define maxn 1.0E-5int main(){ float x,x1,x2; scanf("%f",&x); x1=x/2; x2=(x1+x/x1)/2; while(fa原创 2017-07-28 10:09:25 · 1621 阅读 · 0 评论