A -- A simple math problem

Time Limit:2s Memory Limit:128MByte

Submissions:1599Solved:270

DESCRIPTION

You have a sequence anan, which satisfies:

Now you should find the value of ⌊10an⌋⌊10an⌋.

INPUT
The input includes multiple test cases. The number of test case is less than 1000. Each test case contains only one integer n(1≤n≤109)n(1≤n≤109)。

OUTPUT
For each test case, print a line of one number which means the answer.

SAMPLE INPUT
5
20
1314

SAMPLE OUTPUT
5
21
1317
这个题就是找规律啊,一个很明显的规律是每一项都有一个贡献,但是这个范需要自己找,10的话按照log是要加1结果不需要,入手点就是这里,看看哪些少加了1,每个数量级多一个,这个pow损精度,wa了好几次,主要是n==1时输出值也是1,这个才是我被坑的最严重的
以下是题解

#include <stdio.h>
#include <math.h>
int pow10(int i){
int ans=1;
for(int j=0;j<i;j++)ans*=10;
return ans;
}
int main(){
int n;
while(~scanf("%d",&n)){
int ans=n+(int)log10(n*1.0);
if(n==10)ans-=1;
for(int i=2;i<=9;i++){int x=pow10(i);if(x+1-i<n&&n<x)ans++;
}
printf("%d\n",ans);
}
return 0;}

B - Buildings

Time Limit:2s Memory Limit:128MByte

Submissions:699Solved:186

DESCRIPTION

There are nn buildings lined up, and the height of the ii-th house is hihi.

An inteval [l,r][l,r](l≤r)(l≤r) is harmonious if and only if max(hl,…,hr)−min(hl,…,hr)≤kmax(hl,…,hr)−min(hl,…,hr)≤k.

Now you need to calculate the number of harmonious intevals.

INPUT
The first line contains two integers n(1≤n≤2×105),k(0≤k≤109)n(1≤n≤2×105),k(0≤k≤109). The second line contains nn integers hi(1≤hi≤109)hi(1≤hi≤109).

OUTPUT
Print a line of one number which means the answer.

SAMPLE INPUT
3 1 1 2 3

SAMPLE OUTPUT
5

HINT
Harmonious intervals are: [1,1],[2,2],[3,3],[1,2],[2,3][1,1],[2,2],[3,3],[1,2],[2,3].
模板题???区间最大值最小值的差小于等于k的值有多少组,单调栈,RMQ都不会被卡的
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int maxN = 2e5+10;
int n, k, a[maxN];
LL ans;
void input() {scanf("%d%d", &n, &k);for (int i = 0; i < n; ++i)scanf("%d", &a[i]);
}
void work() {ans = 0;deque<int> mi, ma;int p = 0;for (int i = 0; i < n; ++i) {while (!(mi.empty() && ma.empty()) &&!(abs(a[i]-a[mi.front()]) <= k && abs(a[i]-a[ma.front()]) <= k)) {p++;while (!mi.empty() && mi.front() < p)mi.pop_front();while (!ma.empty() && ma.front() < p)ma.pop_front();}ans += i-p+1;while (!mi.empty() && a[mi.back()] > a[i])mi.pop_back();mi.push_back(i);while (!ma.empty() && a[ma.back()] < a[i])ma.pop_back();ma.push_back(i);}printf("%lld\n", ans);
}int main() {input();work();return 0;
}

ST表

void rmqinit()
{  for(int i = 1; i <= n; i++) mi[i][0] = mx[i][0] = w[i];  int m = (int)(log(n * 1.0) / log(2.0));  for(int i = 1; i <= m; i++)  for(int j = 1; j <= n; j++)  {  mx[j][i] = mx[j][i - 1];  if(j + (1 << (i - 1)) <= n) mx[j][i] = max(mx[j][i], mx[j + (1 << (i - 1))][i - 1]);  mi[j][i] = mi[j][i - 1];  if(j + (1 << (i - 1)) <= n) mi[j][i] = min(mi[j][i], mi[j + (1 << (i - 1))][i - 1]);  }
}
int rmqmin(int l,int r)
{  int m = (int)(log((r - l + 1) * 1.0) / log(2.0));  return min(mi[l][m] , mi[r - (1 << m) + 1][m]);
}
int rmqmax(int l,int r)
{  int m = (int)(log((r - l + 1) * 1.0) / log(2.0));  return max(mx[l][m] , mx[r - (1 << m) + 1][m]);
}  

转载于:https://www.cnblogs.com/BobHuang/p/7258287.html

“玲珑杯”ACM比赛 Round #19相关推荐

  1. lonlifeOJ1152 “玲珑杯”ACM比赛 Round #19 概率DP

    E -- Expected value of the expression DESCRIPTION You are given an expression: A0O1A1O2A2⋯OnAnA0O1A1 ...

  2. “玲珑杯”ACM比赛 Round #21-C-战舰萝莉(线段树区间更新)

    "玲珑杯"ACM比赛 Round #21 Start Time:2017-09-23 17:00:00 End Time:2017-09-23 19:30:00 Refresh T ...

  3. 玲珑杯”ACM比赛 Round #8-D XJT Loves Boggle(dfs)

    记录一个菜逼的成长.. DESCRIPTION Boggle is a word game designed by Allan Turoff and distributed by Hasbro. It ...

  4. “玲珑杯”ACM比赛 Round #18 C -- 图论你先敲完模板【Dp】

    C -- 图论你先敲完模板 Time Limit:5s Memory Limit:256MByte Submissions:660Solved:160 DESCRIPTION 今天HHHH在操场上跑步 ...

  5. “玲珑杯”ACM比赛 Round #18 ABC题解

    A -- 计算几何你瞎暴力 Time Limit:5s Memory Limit:256MByte Submissions:1597Solved:301 DESCRIPTION 今天HHHH考完了期末 ...

  6. 玲珑杯”ACM比赛 Round #15 D 咸鱼商店【二分+01背包】

    题目链接:http://www.ifrog.cc/acm/problem/1125 题目大意:中文题目,题意请仔细看题面. 解题思路:二分+01背包     01背包的最终结果与其中的顺序无关,我们要 ...

  7. “玲珑杯”ACM比赛 Round #4

    运气不错有个抱枕. 1046 - chess play 题意: 一个n*m的数组,初始全部是'.',然后3种操作,把一个位置变成'w',或者把一个位置变成'r',或者交换两行. 思路: vector的 ...

  8. “玲珑杯”ACM比赛 Round #22 E【贪心】

    题目: http://www.ifrog.cc/acm/problem/1171?contest=1024&no=4 题意: 输入一个字符串,将他重新排列,使得重排之后的字符串的最小表示法,最 ...

  9. “玲珑杯”ACM比赛 Round #24: C. この戦いが終わったら(BFS+bitset优化暴力)

    C -- この戦いが終わったら 给你一个无向图,每次查询的时候给一堆二元组(xi,yi) 求图中有多少个点u与至少一个这次询问给出的二元组(xi,yi)满足dist(u,xi)<=yi,dist ...

最新文章

  1. Science:睡眠剥夺影响大脑思考竟是因为蛋白质罢工了!
  2. ML之MIC:利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现
  3. 2016江苏省盗取计算机技术,2016年江苏省职业学校技能大赛物联网技术应用与维护公开题库...
  4. sqlalchemy基本类型
  5. 您的计算机已实施了USB存储设备管理策略,设置usb设备管理 【解决步骤】 的教程_...
  6. [小白slam攻略]ROVIO安装运行及保存轨迹用evo评估
  7. CSS3重复渐变(线性和径向渐变)
  8. OS X: Messages Agent wants to use the login keychain
  9. 计算机科学与技术论文选题怎么选,比较好写的计算机科学与技术专业论文选题 计算机科学与技术专业论文题目如何取...
  10. 推荐:雨林木风Linux
  11. Error evaluating ORM mappings block for domain
  12. 深度剖析C语言符号篇
  13. PHP如何把word文档转换为html
  14. xml 以及JSON学习记录
  15. 原创 基于MC3362D的十米波段语音收发机电路图
  16. UIUC罗宇男:AI-assisted Scientific Discovery
  17. 送书来了|Python数据分析必备工具书
  18. [蓝桥杯2022初赛] 砍竹子
  19. Blob 文件下载 ,使用file-saver,判断数据是否为blob
  20. -march= 所带参数(armv4)不正确(2018-07-01)

热门文章

  1. 简单解决 WIN10更新后 远程桌面提示 CredSSP加密Oracle修正的问题
  2. IOS MenuController的部分操作
  3. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
  4. 数据结构上机实践第七周项目1 - 自建算法库——顺序环形队列
  5. glusphere设置球位置_玄武区举办桌上冰壶球比赛暨江苏省桌上冰壶球俱乐部联赛(玄武区站)活动...
  6. mysql空指针异常处理_mysql 查询空指针异常
  7. php 判定是否是数组,php判断一个数组是否为有序
  8. 斑马打印机怎么打印二维码_简单介绍斑马打印机---GX430t
  9. linux ipv4参数查看,Linux内核参数之IPV4变量引用
  10. manual 离线手册 韩顺平php_PHP - Manual: 手册的格式 (官方文档)