RMQ。

  1. /* 3183 */
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <cstdlib>
  5.  
  6. #define MAXN 1005
  7.  
  8. char s[MAXN], ans[MAXN];
  9. int dp[MAXN][MAXN];
  10. int n,len,m;
  11.  
  12. int min(int x, int y) {
  13. return s[x]<=s[y] ? x:y;
  14. }
  15.  
  16. void RMQ_init() {
  17. int i, j, k;
  18.  
  19. for (i=; i<=len; ++i)
  20. dp[i][] = i;
  21. for (j=; (<<j)<=len; ++j)
  22. for (i=; i+(<<j)-<=len; ++i)
  23. dp[i][j] = min(dp[i][j-], dp[i+(<<(j-))][j-]);
  24. }
  25.  
  26. int RMQ(int l, int r) {
  27. int k = ;
  28.  
  29. while ((<<(k+)) <= r-l+)
  30. ++k;
  31. return min(dp[l][k], dp[r-(<<k)+][k]);
  32. }
  33.  
  34. int main() {
  35. int i, j, k;
  36. int l;
  37.  
  38. #ifndef ONLINE_JUDGE
  39. freopen("data.in", "r", stdin);
  40. freopen("data.out", "w", stdout);
  41. #endif
  42.  
  43. while (scanf("%s %d", s+, &m)!=EOF) {
  44. len = strlen(s+);
  45. RMQ_init();
  46. m = len - m;
  47. l = k = ;
  48. while (m--) {
  49. k = RMQ(k, len-m);
  50. ans[l++] = s[k++];
  51. }
  52. for (i=; i<l; ++i)
  53. if (ans[i] != '')
  54. break;
  55. ans[l] = '\0';
  56. if (i == l)
  57. puts("");
  58. else
  59. puts(ans+i);
  60. }
  61.  
  62. return ;
  63. }

【HDOJ】3183 A Magic Lamp的更多相关文章

  1. hdu 3183 A Magic Lamp(RMQ)

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

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

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

  3. HDOJ 3183 A Magic Lamp

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

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

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

  5. 【模拟】Codeforces 710C Magic Odd Square

    题目链接: http://codeforces.com/problemset/problem/710/C 题目大意: 构造一个N*N的幻方.任意可行解. 幻方就是每一行,每一列,两条对角线的和都相等. ...

  6. hdu 3183 A Magic Lamp(RMQ)

    A Magic Lamp                                                                               Time Limi ...

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

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

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

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

  9. hdu 3183 A Magic Lamp 【RMQ】

    <题目链接> <转载于 >>>  > 题目大意: 给出一个长度不超过1000位的数,求删去m位数字以后形成的最小的数字是多少. 解题分析: 分析:我们可以把题 ...

随机推荐

  1. 项目打包 tomcat部署

    IDE: IDEA 1.项目maven管理先执行 clean,再执行 compile 2.如果编译compile不成功,则将 C:\Users\Administrator\.m2\repository ...

  2. Orcle数据库恢复

    不知道什么原因,服务器上的数据库报错:ORA-01033:ORACLE initialization or shutdown in progress 首先检查:监听文件的主机名及端口号是否更改 数据文 ...

  3. s标签可以if elseif else

    首先引用s标签: <%@ taglib prefix="s" uri="/struts-tags" %> 使用s标签进行if elseif else ...

  4. Handler 原理分析和使用(一)

    我为什么写Handler,原因主要还在于它在整个 Android 应用层面非常之关键,他是线程间相互通信的主要手段.最为常用的是其他线程通过Handler向主线程发送消息,更新主线程UI. 下面是一个 ...

  5. js使用

    js使用 HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 <body> 和 <head&g ...

  6. PL/SQL 中文转换为\uxxxx格式(unicode)

    用plsql生成json的时候,经常要处理中文的情况. SELECT replace(asciistr('你好,,hello'),'\','\u') FROM dual 输出:\u4F60\u597D ...

  7. Lucene5.x 中文 同义词

    查询好好多资料,英文同义词好好的,中文就不行,多谢网友支持,拼接了好多代码,然后修改了一些,不足之处,多谢指正. 直接上代码吧,在代码中了解怎么分词的最好 1,创建分词引擎 public interf ...

  8. time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME"]得到请求开始时的时间戳

    time():返回当前的 Unix 时间戳 $_SERVER["REQUEST_TIME"]:得到请求开始时的时间戳,可以用来判断完成整个php处理的时间

  9. 为什么selenium定位不到元素

    在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理 ...

  10. 更新wix installer里的Guid

    string path=@"\Setup\Installer"; var files = Directory.GetFiles(path); foreach (var item i ...