zoukankan      html  css  js  c++  java
  • BZOJ1012: [JSOI2008]最大数maxnumber

    SB题。。

    为了一些东西。。。我彻底堕落了。。。

      1 //{HEADS
      2 #define FILE_IN_OUT
      3 #define debug
      4 #include <cstdio>
      5 #include <cstring>
      6 #include <cstdlib>
      7 #include <cmath>
      8 #include <ctime>
      9 #include <algorithm>
     10 #include <iostream>
     11 #include <fstream>
     12 #include <vector>
     13 #include <stack>
     14 #include <queue>
     15 #include <deque>
     16 #include <map>
     17 #include <set>
     18 #include <bitset>
     19 #include <complex>
     20 #include <string>
     21 #define REP(i, j) for (int i = 1; i <= j; ++i)
     22 #define REPI(i, j, k) for (int i = j; i <= k; ++i)
     23 #define REPD(i, j) for (int i = j; 0 < i; --i)
     24 #define STLR(i, con) for (int i = 0, sz = con.size(); i < sz; ++i)
     25 #define STLRD(i, con) for (int i = con.size() - 1; 0 <= i; --i)
     26 #define CLR(s) memset(s, 0, sizeof s)
     27 #define SET(s, v) memset(s, v, sizeof s)
     28 #define mp make_pair
     29 #define pb push_back
     30 #define PL(k, n) for (int i = 1; i <= n; ++i) { cout << k[i] << ' '; } cout << endl
     31 #define PS(k) STLR(i, k) { cout << k[i] << ' '; } cout << endl
     32 using namespace std;
     33 #ifdef debug
     34 #ifndef ONLINE_JUDGE
     35     const int OUT_PUT_DEBUG_INFO = 1;
     36 #endif
     37 #endif
     38 #ifdef ONLINE_JUDGE
     39     const int OUT_PUT_DEBUG_INFO = 0;
     40 #endif
     41 #define DG if(OUT_PUT_DEBUG_INFO)
     42 void FILE_INIT(string FILE_NAME) {
     43 #ifdef FILE_IN_OUT
     44 #ifndef ONLINE_JUDGE 
     45     freopen((FILE_NAME + ".in").c_str(), "r", stdin);
     46     freopen((FILE_NAME + ".out").c_str(), "w", stdout);
     47 
     48 #endif
     49 #endif
     50 }
     51 typedef long long LL;
     52 typedef double DB;
     53 typedef pair<int, int> i_pair;
     54 const int INF = 0x3f3f3f3f;
     55 //}
     56 
     57 const int maxn = 200000 + 10;
     58 
     59 int m, d;
     60 
     61 struct Things {
     62     int pos, val;
     63     Things() {}
     64     Things(int pos, int val):pos(pos), val(val) {}
     65     void print() {
     66         printf("%d %d
    ", pos, val);
     67     }
     68 }S[maxn];
     69 int tail = 0;
     70 /*{ 获取字符*/
     71 char gchar() {
     72     char ret = getchar();
     73     for(; ret == '
    ' || ret == '
    ' || ret == ' '; ret = getchar());
     74     return ret;
     75 }
     76 /*}*/
     77 
     78 int main() {
     79     FILE_INIT("BZOJ1012");
     80 
     81     scanf("%d%d", &m, &d);
     82     char ope;
     83     int t, rec = 0, cnt = 0;
     84     REP(i, m) {
     85         ope = gchar();
     86         scanf("%d", &t);
     87         if(ope == 'A') {
     88             S[++tail] = Things(++cnt, (rec + t) % d);
     89             DG S[tail].print();
     90             for(; 1 < tail && S[tail - 1].val <= S[tail].val; S[tail - 1] = S[tail], --tail);
     91             DG S[tail].print();
     92         } else {
     93             int l = 1, r = tail;
     94             DG printf("l = %d r = %d
    ", l, r);
     95             while(l < r) {
     96                 int mid = (l + r) >> 1;
     97                 if(cnt - S[mid].pos + 1 <= t) {
     98                     r = mid;
     99                 } else {
    100                     l = mid + 1;
    101                 }
    102             }
    103             rec = S[l].val;
    104             printf("%d
    ", rec);
    105         }
    106     }
    107 
    108     return 0;
    109 }
    View Code
  • 相关阅读:
    Vue中data数据,使用v-model属性绑定第三方插件(例如Jquery的日期插件)无法自动更新
    Mybatis的XML文件调用静态方法
    将博客搬至CSDN
    深入理解Java:类加载机制及反射
    JDBC中Statement与PreparedStatement的区别
    响应实体类
    MD5加密
    idea的注入和自动编译配置
    mybatis三剑客之插件---MyBatis plugins
    通过git从码云克隆项目到本地
  • 原文地址:https://www.cnblogs.com/hzf-sbit/p/3880543.html
Copyright © 2011-2022 走看看