zoukankan      html  css  js  c++  java
  • 2018/12/7周五集训队第八次测试赛补题题解

    A B

    这个看之前的题解即可,第七次有详细的解释

    C - Minimizing the String(贪心)

    这个肯定不能把字典序都来一遍比较一下,这样一定T。可以贪心的寻找第一个位置出现字符比后面大的情况即可

    代码

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
      ios::sync_with_stdio(0);
      cin.tie(0);
      cout.tie(0);
      int n;
      cin>>n;
      string a;
      cin>>a;
      a+='0';
      for(int i=0;i<a.size();i++)
      if(a[i]>a[i+1])
      {
        a[i]='0';
        break;
      }
      for(int i=0;i<a.size();i++)
      if(a[i]!='0')
      cout<<a[i];
    }
    

    D - Divisor Subtraction (数论)

    先判断是不是偶数,是偶数最小质因数就是2,那么直接除以2即可。如果是奇数减去他的最小质因数之后肯定是一个偶数,然后继续按照偶数判断,如果这个数本身就是一个质数,那么输出1即可

    注意要用long long!!!

    代码

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
      ios::sync_with_stdio(0);
      cin.tie(0);
      cout.tie(0);
      long long n,f=0;
      cin>>n;
      if(!(n&1))
      cout<<n/2;
      else
      {
        for(long long i=2;i*i<=n;i++)
        if(n%i==0)
        {
          n-=i;
          f=1;
          break;
        }
        if(!f)
        cout<<1;
        else
        cout<<1+n/2;
      }
    }
    
  • 相关阅读:
    自定义指令directive
    angular中的表单验证
    ng-init,ng-controller,ng-model
    Redis执行lua脚本,key不存在的返回值
    消息队列对比
    数据库设计范式
    网络IO模型
    .NET 线程、线程池
    异步和多线程
    Memcache知识点
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/10101553.html
Copyright © 2011-2022 走看看