题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183

给你一个长度<1000的数a,和m<len(a);

让把数a删除m个数字之后剩下的数组成的最小的数,不能改变剩下的树的顺序。。

每次删除数的时候都是删掉第一个比右边数大的数。
比如样例 178543  4
第一次删除第一个数的时候从左边找起。找到第一个a[i]>a[i+1]的数。删除8
17543
第二次一样的,删除7
1543
第三次删除5
143
第四次删除4
就得到13了。就是答案。
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std; #define INF 0xfffffff
#define N 1050
struct node
{
int pre, next, val;
}a[N]; char s[N];
int m; int main()
{
while(scanf("%s %d", s, &m)!=EOF)
{
memset(a, , sizeof(a));
int n = strlen(s);
a[].next = ; a[n+].pre = n;
for(int i=; i<=n; i++)
{
a[i].pre = i-;
a[i].next = i+;
a[i].val = s[i-]-'';
}
int p=;
while(m--)
{
while(a[p].next!=n+ && a[a[p].next].val >= a[p].val) p = a[p].next;
a[a[p].next].pre = a[p].pre;
a[a[p].pre].next = a[p].next;///删除结点p让p前后的相连接;
p = a[p].pre;///为了不重复循环只需到前一结点即可;
}
p=;
while(a[p].next!=n+ && a[p].val==) p=a[p].next;
if(p==n+)///当到最后的时候也没找到不是0的数,说明剩下的全是0,输出0即可;
{
printf("0\n");
continue;
}
while(p!=n+)
{
printf("%d", a[p].val);
p=a[p].next;
}
printf("\n");
}
return ;
}

A Magic Lamp---hdu3183(链表删除| RMQ)的更多相关文章

  1. HDU 3183 A Magic Lamp(二维RMQ)

    第一种做法是贪心做法,只要前面的数比后面的大就把他删掉,这种做法是正确的,也比较好理解,这里就不说了,我比较想说一下ST算法,RMQ的应用 主要是返回数组的下标,RMQ要改成<=(这里是个坑点, ...

  2. A Magic Lamp HDU - 3183(RMQ返回下标)

    原文地址:https://blog.csdn.net/acdreamers/article/details/8692384 题意: 对于一个序列A[1...N],一共N个数,除去M个数使剩下的数组成的 ...

  3. hdu 3183 A Magic Lamp(RMQ)

    题目链接:hdu 3183 A Magic Lamp 题目大意:给定一个字符串,然后最多删除K个.使得剩下的组成的数值最小. 解题思路:问题等价与取N-M个数.每次取的时候保证后面能取的个数足够,而且 ...

  4. HDU 3183 - A Magic Lamp - [RMQ][ST算法]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 Problem DescriptionKiki likes traveling. One day ...

  5. HDU 3183 A Magic Lamp(RMQ问题, ST算法)

    原题目 A Magic Lamp Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. A Magic Lamp(贪心+链表)

    A Magic Lamp Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  7. hdu 3183 A Magic Lamp RMQ ST 坐标最小值

    hdu 3183 A Magic Lamp RMQ ST 坐标最小值 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 题目大意: 从给定的串中挑 ...

  8. hdu 3183 A Magic Lamp(RMQ)

    A Magic Lamp                                                                               Time Limi ...

  9. hdu 3183 A Magic Lamp rmq或者暴力

    A Magic Lamp Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Pro ...

随机推荐

  1. js 内存泄漏

    在javascript中,我们很少去关注内存的管理.我们创建变量,使用变量,浏览器关注这些底层的细节都显得很正常. 但是当应用程序变得越来越复杂并且ajax化之后,或者用户在一个页面停留过久,我们可能 ...

  2. gdb,程序调试助手

    启动GDB:(其中我的app是编译之后的可执行文件) 退出命令:quit或者简写q 帮助获取: gdb通过完备的在线帮助,使我们使用起来更加方便.所有的帮助信息都是通过help命令获得的,运行help ...

  3. 16位结构的CPU,8086给出物理地址的方法

    .16位结构的CPU 概括地讲,16位结构(16位机,字长为16位等常见说法,与16位结构的含义相同)描述了一个CPU具有下面几方面结构特性: 1.运算器一次最多可以处理16位的数据结构 2.寄存器的 ...

  4. nodeJs should+mocha+istanbul 测试 遇到的坑

    .istanbul 和 mocha 结合进行nodejs测试的时候最后执行 istanbul cover _mocha test.sqrt.js的时候报错 如图: 用 ../node_modules/ ...

  5. XmlFactoryBean和DefaultListableBeanFactory学习

    首先提供了一个Spring容器最简单的例子. bean的定义,MyTestBean.java public class MyTestBean { private String testStr = &q ...

  6. ad7888 linux driver

    /* ADCCONVERT.c : Generate ADC signals from SPI ports, as the A/D control signals. Author:  Aaron Fu ...

  7. 在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项)

    在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项) A. classes目录 B. images目录 C. jar目录 D. 任意位置 解答:A

  8. jqgrid demo

    本人是用php写的,相信只要稍微用点时间看本人写的,就一定能看懂 前台代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//E ...

  9. db2 导入cvs

    1)       打开DB2 命令行 2)       如果是第一次连接到远程的DB2 数据库:如果不是,请直接跳转到3) 在DB2 命令行窗口执行: catalog tcpip node DB21 ...

  10. 自动化测试的组成部分:SEARCH

    在考虑自动化测试用例时,不仅仅要考虑测试的执行步骤.在运行任何步骤之前,程序必须处在能够执行测试的状态.在测试执行后,至关重要的是知道测试是否通过,并且测试结果一定要被保存到某处以待检查或进一步分析. ...