美文网首页
2020-09-03 删数问题

2020-09-03 删数问题

作者: JalorOo | 来源:发表于2020-09-03 22:38 被阅读0次

https://www.luogu.com.cn/problem/P1106

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <sstream>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;

template<typename DataType>
DataType qmi(DataType m, int k)
{
    DataType res = 1, t = m;
    while (k)
    {
        if (k&1) res = res * t;
        t = t * t;
        k >>= 1;
    }
    return res;
}

int read(){
    int x = 0,f = 1;
    char c = getchar();
    while (c<'0'||c>'9') {
        if (c=='-') {
            f = -1;
        }
        c = getchar();
    }
    while (c>='0'&&c<='9') {
        x = x*10+c-'0';
        c = getchar();
    }
    return x*f;
}

#define fi(a,b) for(int i = a; i <= b; i++)
#define fj(a,b) for(int j = a; j >= b; j--)

struct MAP{
    int pos;
    int data;
};

void quickSort(MAP *a,int left,int right){
    int i,j;
    
    MAP temp,t;
    
    temp = a[(left+right)/2];//基准值
    
    i = left;
    j = right;
    
    while(i<=j){
        while (a[j].data > temp.data) {
            j--;
        }
        
        while (a[i].data < temp.data) {
            i++;
        }
        
        if (i<=j) {
            t = a[i];
            a[i] = a[j];
            a[j] = t;
            //继续下一步
            i++;
            j--;
        }
        
    }
    
    if(left<j)quickSort(a,left, j);//继续分治
    if(i<right)quickSort(a,i, right);//继续分治
}

//const int maxNum = 255;
//MAP num[maxNum];
//MAP num1[maxNum];

int n,k,a[257],rest,t=1,minp,cnt=0;
bool flag = 0;
string num;
int main(){
    cin>>num>>k;
    n = num.length();
    for(int i = 1; i <= n ; ++i){
        a[i]=num[i-1]-'0';
    }
    rest = n-k;
    while(cnt < rest){
        minp = t;//最大值的位置
        for(int i = t; i <= k+t; ++i){//寻找最大值的位置
            if(a[minp] > a[i])minp = i;
        }
        if(a[minp])
            flag=1;
        if(flag)
            cout<<a[minp];
        k -= (minp-t);
        t = minp+1;
        cnt++;
    }
    if(!flag)cout<<0;
    return 0;
}
/*
175438
4
============
13
*/

相关文章

  • 2020-09-03 删数问题

    https://www.luogu.com.cn/problem/P1106

  • 贪心算法删数问题

    删数问题 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n和k,设...

  • P1106 删数问题

    P1106 删数问题[https://www.luogu.com.cn/problem/U83355]这题用双端队...

  • 我呀,真是个可爱之人

    文/小央 删过不计其数的说说,删过不计其数的微博,也删过好几个不喜欢的人,怎么办呢,我就是如此任性可爱。 ...

  • 每隔2个数删除一个数的删数问题

    问题:有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉...

  • MySQL语句小结(二)

    近期接触到一些mysql问题,最大连接数更改,进程监控,定时删sleep进程等 遇到_mysql_exceptio...

  • 关于极简(性冷淡风)

    我从来都是一个容易情绪化的人 而且一情绪化不干什么 就只是删删删 qq列表一百多人删到一位数 微信好友个位数 各种...

  • 你的手机经常内存不足吗?试试这个会有意想不到的效果

    手机经常显示没有储存空间,明明已经尽量的删除软件还是没有解决问题?今天我就来教大家怎么解决这个问题。 删删删...

  • 什么是重要信息?

    什么是重要信息(Material Informantion)? 2020-09-03 如果投资学习中存在一些硬标准...

  • 护肤小课堂

    护肤小课堂 小掌柜斯斯 关注 0.88 · 字数 580 · 阅读 41 2020-09-03 11:07 每天6...

网友评论

      本文标题:2020-09-03 删数问题

      本文链接:https://www.haomeiwen.com/subject/qokasktx.html