<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [題解]P10260 [COCI 2023/2024 #5] Rolete

      信息學不是數學,所以樂子題解當樂子看看就行了 /lh

      思路

      大膽猜測,當查詢的 \(h\) 變小時,用按鈕的次數一定不會減少,于是上決策單調性可以直接秒掉。

      接下來嘗試證明一下。設允許的最高高度為 \(h\),令 \(f(x)\) 表示按 \(x\) 次按鈕的代價,\(g(h,x)\) 表示按 \(x\) 次后還需要單獨操作的貢獻以達到 \(h\),則當詢問 \(h\) 時先按 \(x\) 次按鈕的代價就是 \(c(h,x) = f(x) + g(h,x)\)

      \(f(x),g(h,x)\) 表示出來,其中 \(cnt_i\) 表示 \(a\)\(\leq i\) 的元素數量,\(sum_i\) 表示 \(a\)\(\geq i\) 的元素之和,\(s_i\) 表示 \(a\)\(= i\) 的元素之和,\(v_i\) 表示 \(a\)\(= i\) 的元素數量:

      \[f(x) = f(x - 1) + s + k \times cnt_{x - 1}\\ g(h,x) = (sum_{h + x + 1} - (cnt_m - cnt_{h + x}) \times (x + h)) \times t \]

      考慮 \(c(h,x)\)\(c(h,x + 1)\) 的增量 \(\Delta c(h,x)\)

      \[\Delta c(h,x) = \Delta f(h,x) + \Delta g(h,x) = s + k \times cnt_{x - 1} + (v_{h + x + 1} - s_{h + x + 1}) \times t \]

      顯然 \(\Delta c(h,x)\)\(h\) 的增大而減小,且 \(c(h,x)\) 是一個單谷函數。我們希望對于每一個詢問每一次選擇的 \(c(h,x)\) 都盡量的小,因此我們的決策點 \(p\) 一定為最小的滿足 \(\Delta c(h,x) \geq 0\) 的數。

      由于 \(\Delta c(h,x)\) 單調遞減,因此對于一個較大的 \(h\) 其決策點 \(p\) 一定較小。于是滿足決策單調性的定義,證畢!

      Code

      #include <bits/stdc++.h>
      #define re register
      #define int long long
      
      using namespace std;
      
      const int N = 2e5 + 10;
      const int inf = (int)(1e18) + 10;
      int n,t,s,k,q,m;
      int arr[N],cnt[N],sum[N],cst[N],ans[N];
      
      inline int read(){
          int r = 0,w = 1;
          char c = getchar();
          while (c < '0' || c > '9'){
              if (c == '-') w = -1;
              c = getchar();
          }
          while (c >= '0' && c <= '9'){
              r = (r << 3) + (r << 1) + (c ^ 48);
              c = getchar();
          }
          return r * w;
      }
      
      inline void dfs(int l,int r,int vl,int vr){
          if (l > r) return;
          int mid = l + r >> 1;
          int Min = inf,pos = 0;
          for (re int i = vl;i <= vr;i++){
              int val = cst[i] + (sum[mid + i + 1] - (cnt[m] - cnt[mid + i]) * (i + mid)) * t;
              if (Min > val) Min = val,pos = i;
          } ans[mid] = Min;
          dfs(l,mid - 1,pos,vr); dfs(mid + 1,r,vl,pos);
      }
      
      signed main(){
          n = read(),t = read(),s = read(),k = read();
          for (re int i = 1;i <= n;i++){
              cnt[arr[i] = read()]++; sum[arr[i]] += arr[i];
          } m = *max_element(arr + 1,arr + n + 1);
          for (re int i = 1;i <= 2 * m;i++) cnt[i] += cnt[i - 1];
          for (re int i = m;~i;i--) sum[i] += sum[i + 1];
          for (re int i = 1;i <= m;i++) cst[i] = cst[i - 1] + s + k * cnt[i - 1];
          dfs(0,m,0,m); q = read();
          while (q--) printf("%lld ",ans[read()]);
          return 0;
      }
      
      posted @ 2025-06-25 10:44  WBIKPS  閱讀(16)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 非会员区试看120秒6次| 日本一区二区久久人妻高清| 综1合AV在线播放| 97无码人妻福利免费公开在线视频| 曝光无码有码视频专区| 天堂av最新版中文在线| 夜夜爽妓女8888888视频| 女同性恋一区二区三区视频| 亚洲国模精品一区二区| 四虎影视永久在线精品| 无码日韩人妻精品久久| 免费无码AV一区二区波多野结衣| 都市激情 在线 亚洲 国产| 老子午夜精品888无码不卡| 不卡国产一区二区三区| 国产精品自在自线视频| 亚洲国产片一区二区三区| 男人的天堂av社区在线| 婷婷国产成人精品视频| 高清无码爆乳潮喷在线观看| 99国产欧美另类久久久精品| 精品国产午夜福利在线观看 | 蜜桃久久精品成人无码av| 日韩老熟女av搜索结果| 91中文字幕一区在线| 日韩精品一区二区三区激情视频| 国产免费午夜福利在线观看| 久久永久视频| 夜夜躁狠狠躁日日躁| 国产69久久精品成人看| 67194亚洲无码| 日本边添边摸边做边爱喷水| 久久精品丝袜高跟鞋| 国产99久久无码精品| 婷婷色香五月综合缴缴情香蕉| 中文国产成人精品久久一| 青草99在线免费观看| 午夜福利影院不卡影院| 精品精品久久宅男的天堂| 国产精品天堂蜜av在线播放| 97久久久精品综合88久久|