博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 3183 A Magic Lamp (rmq)
阅读量:6221 次
发布时间:2019-06-21

本文共 789 字,大约阅读时间需要 2 分钟。

 题目链接:

#include 
#include
#include
#include
/**rmq 问题:题意很简单,求一行数字中除去其中m个数字,使其组成最小的一个数字使用rmq解题,设源数字长为n,那么除去m个数字后剩下的还剩n-m个数字,组成最小的数字。(1)因为剩下n-m个数字,那么在1到m+1位置中最小的那个数字必是结果中的第一个数字i,(2)然后从这个数字i位置的下个位置i+1开始到m+2位置的数字中最小的那个数字必定是结果中第二个数字,以此类推下去向后找。(3)为了保证数字最小所以要保证高位最小还要保证数字长度够用~~**/char num[1010];char res[1020];int dp_min[1010][20];int t;//返回较小值int mins(int a,int b){ return num[a]<=num[b]?a:b;}void rmq_init(int len){ for(int i = 0; i < len; i++) dp_min[i][0] = i; for(int j = 1; (1<
< len; j++) for(int i = 0; i+(1<
< len;i++) dp_min[i][j] = mins(dp_min[i][j-1],dp_min[i+(1<<(j-1))][j-1]);}int query(int l,int r){ int k = (int)(log((double)(r-l+1))/log(2.0)); return mins(dp_min[l][k],dp_min[r-(1<

 

转载地址:http://cxrja.baihongyu.com/

你可能感兴趣的文章
Python3.4 12306 2015年3月验证码识别
查看>>
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
查看>>
windows查看端口占用
查看>>
strongswan ikev2 server on ubuntu 14.04
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
JDBC的事务
查看>>
Io流的概述
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
JS 对象机制深剖——new 运算符
查看>>
10大托管国家和5大危险电子邮件主题
查看>>
Go嵌入类型及内部提升样例
查看>>
《软件工艺师:专业、务实、自豪》一3.7.4 软件工艺社团
查看>>
jQuery获取数组对象的值
查看>>
Android+struts2+json方式模拟手机登录功能
查看>>
#大学#汇编指令查询
查看>>
mono for android software自动更新
查看>>
版本管理工具——Git和TortoiseGit(乌龟Git)
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
linux的简单命令
查看>>