HDU_3183_RMQ
http://acm.hdu.edu.cn/submit.php?pid=3183
初探rmq,这道题看了题解还是写了好久。原因是rmq处理字符串时没有自己写min函数,导致把返回的字符当成下标处理了。
这题也可以直接贪心写,思路和rmq一样,查找的方法效率低一些。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std; char a[],ans[];
int dp[][]; int Min(int x,int y)
{
return a[x] <= a[y] ? x : y;
} void rmq_init(int len)
{
for(int i = ;i < len;i++) dp[i][] = i;
for(int j = ;(<<j) < len;j++)
{
for(int i = ;i+(<<j)- < len;i++)
{
dp[i][j] = Min(dp[i][j-],dp[i+(<<(j-))][j-]);
}
}
} int rmq_query(int l,int r)
{
int k = (int)(log((double)(r-l+))/log(2.0));
return Min(dp[l][k],dp[r-(<<k)+][k]);
} int main()
{
int n,i;
while(~scanf("%s%d",a,&n))
{
int len = strlen(a);
rmq_init(len);
n = len-n;
int pos = ,num = ;
while(n)
{
pos = rmq_query(pos,len-n);
ans[num++] = a[pos++];
n--;
}
for(i = ;i < num && ans[i] == '';i++);
if(i == num) printf("0\n");
else
{
for(;i < num;i++) printf("%c",ans[i]);
printf("\n");
}
}
return ;
}
HDU_3183_RMQ的更多相关文章
随机推荐
- Python基础复习面向对象篇
目录 类与对象的概念 实例方法 实例变量 初始化方法 析构方法 常用内置方法 继承 类方法与静态方法 动态扩展类与实例 @property装饰器 概述 面向对象是当前流行的程序设计方法,其以人类习惯的 ...
- Linux学习笔记(一):什么是挂载?mount的用处在哪?
关于挂载的作用一直不是很清楚,今天在阅读教材时看见了mount这个命令,发现它的用处很隐晦但非常强大.奈何教材说的不明朗,因此在网上整合了一些优秀的解释,看完之后豁然开朗. 1.提一句Windows下 ...
- array_diff 大bug
$aa = array("手机号", "first","keyword1","keyword2","keywo ...
- Excel获取当前日期和时间
在Excel中获取当前时间 1.第一种在空的单元格内输入函数“NOW()”回车即可获取当前时间如图 2.第二种选中空单元格“按住CTRL+:”回车即可获取当前时间 3.第一种在空的单元格内输入函数“t ...
- 搭建nginx
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的R ...
- Java 发展简史:初生遇低谷,崛起于互联网
Java 起源与诞生 20世纪90年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它可以大幅度提升消费性电子产品的智能化程度. SUN公司为了抢占市场先机,在1991年成立了一 ...
- react路由的跳转和传参
1.路由的跳转 一.DOM跳转 在需要跳转的页面导入import {Link} from 'react-router-dom',在需要跳转的地方使用link标签的to属性进行跳转,路由配置文件中导出的 ...
- 更好用的 Python 任务自动化工具:nox 官方教程
英文| nox tutorial 出处| nox 官方文档 译者| 豌豆花下猫@Python猫 Github地址:https://github.com/chinesehuazhou/nox_doc_c ...
- 一个动态扩展表格控件列和行的 jQuery 插件
一个动态扩展表格控件列和行的 jQuery 插件 不过这并不影响使用鸭! 看这里:https://github.com/zhuwansu/table-ext.js 一个简单的示范 html <t ...
- 最短路SPFA模板
// // dijkstra妯℃澘.cpp // algorithm // // Created by david.xu on 2018/8/6. // Copyright 漏 2018骞?david ...