• 小题目泛做


    题目1 CodeForces 605 A

    题目大意:给定一个长度为n的序列,每次可以把一个数放到开头或者最后,求升序排好的最小次数。

    求出原序列位置的最长上升子序列,用n减去最大的。我们只要保证相对大小不变就可以了。

    Code:

     1 #include <cstdio>
     2 #include <iostream>
     3 #include <algorithm>
     4 #include <cstdlib>
     5 #include <cstring>
     6 
     7 using namespace std;
     8 
     9 const int N = 100000 + 5;
    10 
    11 int n, a[N], dp[N], pos[N];
    12 
    13 int main() {
    14   scanf("%d", &n);
    15   for(int i = 1; i <= n; ++ i) scanf("%d", &a[i]);
    16   for(int i = 1; i <= n; ++ i) pos[a[i]] = i;
    17   dp[1] = 1;
    18   for(int i = 2; i <= n; ++ i)
    19     if(pos[i] > pos[i - 1]) dp[i] = dp[i - 1] + 1;
    20     else dp[i] = 1;
    21   printf("%d
    ", n - *max_element(dp + 1, dp + n + 1));
    22   return 0;
    23 }
    605A

    题目2 51nod 求阶乘长度

    题目大意:如题。

    代码:

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cmath>
     4 #include <algorithm>
     5 #include <cstring>
     6 #include <iomanip>
     7 #include <queue>
     8 #include <stack>
     9 #include <ctime>
    10 #define ll long long
    11 
    12 using namespace std;
    13 
    14 const double pi=acos(-1.0);
    15 const double e=exp(1);
    16 
    17 int main(){
    18     ll n;
    19     scanf("%lld",&n);
    20     if (n==1) {printf("1
    "); return 0;}
    21     ll ans=0.5*log10(2.0*pi*n) + n*log10(n*1.0/e)+1;
    22     printf("%lld
    ",ans);
    23     return 0;
    24 }
    !lens
  • 相关阅读:
    Python面向对象
    Python
    05、Win7上openSSH的安装与配置
    关于C++中的类型转换
    正确地使用智能指针
    为多态基类声明多态析构函数
    透视校正插值(Perspective-Correct Interpolation)
    保持const和non-const函数代码的一致
    第二章 信息的表示和处理
    《Linux内核分析》课程总结
  • 原文地址:https://www.cnblogs.com/sxprovence/p/5350429.html
Copyright © 2020-2023  润新知