hduacm 3183 rmq
http://acm.hdu.edu.cn/showproblem.php?pid=3183
问题等价与取N-M个数,每次取的时候保证后面能取的个数足够,并且取的数最小 查询最小用rmq
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring> using namespace std; const int maxn = + ; int N,M,d[maxn][];
char s[maxn]; struct RMQ{
void init()
{
N = strlen(s);
for (int i = ;i<N;i++)
d[i][] = s[i];
for (int k = ;(<<k)<=N;k++)
{
for (int i = ;i<N;i++)
d[i][k] = min(d[i][k-],d[i+(<<(k-))][k-]); }
}
int query(int L,int R)
{
int k = ;
while (<<(k+)<=R-L+) k++;
return min(d[L][k],d[R-(<<k)+][k]);
}
}; RMQ rmq; int main()
{
while (~scanf("%s%d",s,&M))
{
rmq.init();
M = N - M;
int mv = ;
bool flag = true;
for (int i = M;i;i--)
{
int c = rmq.query(mv,N-i);
while (mv<N&&s[mv]!=c) mv++;
mv++;
if (c==''&&flag)
continue;
flag = false;
printf("%c",c); }
if (flag)
printf("");
printf("\n");
}
return ;
}
hduacm 3183 rmq的更多相关文章
- 3183 RMQ / 贪心(坑成。。)
题意:删去m个数,使剩下的数组成的数最小 题解 :贪心 , RMQ RMQ解法,建st表找,用rmq找最小值的下标,注意点 ,因为最小值是区间最右最小值,所以应该改成 <= 而不是< mi ...
- hdu 3183 rmq+鸽巢原理
题目大意: 给你一个数字字符串序列,给你要求删掉的数字个数m,删掉m个数使的剩下的数字字符串的之最小.并输出这个数字: 基本思路; 这题解法有很多,贪心,rmq都可以,这里选择rmq,因为很久没有写r ...
- hdu 3183 A Magic Lamp(RMQ)
题目链接:hdu 3183 A Magic Lamp 题目大意:给定一个字符串,然后最多删除K个.使得剩下的组成的数值最小. 解题思路:问题等价与取N-M个数.每次取的时候保证后面能取的个数足够,而且 ...
- hdu 3183 A Magic Lamp RMQ ST 坐标最小值
hdu 3183 A Magic Lamp RMQ ST 坐标最小值 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 题目大意: 从给定的串中挑 ...
- HDU 3183 - A Magic Lamp - [RMQ][ST算法]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 Problem DescriptionKiki likes traveling. One day ...
- HDU 3183.A Magic Lamp-区间找最小值-RMQ(ST)
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- HDU 3183:A Magic Lamp(RMQ)
http://acm.hdu.edu.cn/showproblem.php?pid=3183 题意:给出一个数,可以删除掉其中m个字符,要使得最后的数字最小,输出最后的数字(忽略前导零). 思路:设数 ...
- hduacm 2888 ----二维rmq
http://acm.hdu.edu.cn/showproblem.php?pid=2888 模板题 直接用二维rmq 读入数据时比较坑爹 cin 会超时 #include <cstdio& ...
- HDU 3183 A Magic Lamp(二维RMQ)
第一种做法是贪心做法,只要前面的数比后面的大就把他删掉,这种做法是正确的,也比较好理解,这里就不说了,我比较想说一下ST算法,RMQ的应用 主要是返回数组的下标,RMQ要改成<=(这里是个坑点, ...
随机推荐
- apecceosummit2016
https://www.apecceosummit2016.com/program.html Thursday 17 November 2016 9:00am - 9:00pm REGISTRATIO ...
- tomcat 启用Gzip 压缩进行优化
打开conf/server.xml文件可以看到: <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Con ...
- [转载] 使用异步 I/O 大大提高应用程序的性能
原文: http://www.ibm.com/developerworks/cn/linux/l-async/ Linux® 中最常用的输入/输出(I/O)模型是同步 I/O.在这个模型中,当请求发出 ...
- Eclipse中配置Tomcat服务器
在首先外部安装好tomcat,然后在eclipse配置Tomcat服务器: 选择要配置的tomcat版本: 选择tomcat的安装的路径,选择你安装的JRE: 到此tomcat服务器就算是配置好了,接 ...
- Java List实体类去重
版权声明:本文为博主原创文章,未经博主允许不得转载. List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入 ...
- Graph-tool简介 - wiki
graph-tool is a Python module for manipulation and statistical analysis of graphs[disambiguation nee ...
- EXEL表格读取 按键精灵
EXEL表格读取(1,m)(2,m)表格信息,m为行数 以下为本帖隐藏内容 ============================== Call Plugin.Office.OpenXls(&quo ...
- iOS蓝牙4.0开发(BLE)
智能设备 和 app 通过 BLE通讯的两种模型 模型一:设备提供数据,app 展示数据: 比如小米手环 模型二:app提供数据,设备接收: 模型与corebluetooth的对应关系: 模型一:智能 ...
- go语言实战向导
版权声明:本文由魏佳原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/173 来源:腾云阁 https://www.qclou ...
- js生成验证码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...