Melancholy(磨懶蟲主義)

2022-05-09 13:06:09 字數 1280 閱讀 9274

題目大意:給出n個地點和q個詢問。其中每個地點有距離和權值,每個詢問給出l,r,k,表示在[l,r]區間內不取最小點的情況下任取k個,求所有情況權值之積之和(n,q<=1e5,k<=6)。

能看出來是區間操作,先考慮樹狀陣列,發現維護比較難。於是用線段樹維護。

每個節點記錄7個值,分別為minv和不算minv任取1~6個所得值。dalao的正解用了rmq+容斥,但我都沒用。

#include#include

using

namespace

std;

#define n 100050

#define ui unsigned int

intn,q;

struct

plap[n];

bool

cmp(pla a,pla b)

struct

segtree

tr[4*n];

segtree

operator *(segtree s0,segtree s1)

ret.mn =min(s0.mn,s1.mn);

ui mx =max(s0.mn,s1.mn);

for(int i=6;i>=2;i--)

ret.v[

1]+=mx;

return

ret;

}void update(int

u)void build(int l,int r,int

u)

int mid = (l+r)>>1

; build(l,mid,u

<<1

); build(mid+1,r,u<<1|1

); update(u);

}segtree query(

int l,int r,int u,int ql,int

qr)}

ui jc[8];

int mi[24

];int findl(int

d)

returna;}

int findr(int

d)

returna;}

intmain()

segtree ans;

ans = query(1,n,1

,l,r);

printf(

"%u\n

",ans.v[k]*jc[k]);

}fclose(stdin);

fclose(stdout);

return0;

}

mysql懶載入 mybatis懶載入

1.概念 懶載入就是按需載入,我們需要什麼的時候再去進行什麼操作。而且先從單錶查詢,需要時再從關聯表去關聯查詢,能很大提高資料庫效能,因為查詢單錶要比關聯查詢多張表速度要快。在mybatis中,resultmap可以實現高階對映 使用association collection實現一對一及一對多對映...

你的斧頭磨利了嗎

美國在幾十年前經濟非常不景氣,所以年輕人的失業率很高。美國 為了提供更多的工作機會,也為了鍛鍊年輕人的體魄,在落磯山裡騰出一塊林地,由年輕人負責伐木。工人並不利用電鋸或其他有效率的工具來砍伐樹木,而是使用傳統的斧頭,以達到強健身體的目的。有一位年輕人經由申請後,來到山里工作。第一天領到斧頭,相當興奮...

路由懶載入與元件懶載入

一 為什麼要使用路由懶載入 為給客戶更好的客戶體驗,首屏元件載入速度更快一些,解決白屏問題。二 定義 懶載入簡單來說就是延遲載入或按需載入,即在需要的時候的時候進行載入。三 使用 常用的懶載入方式有兩種 即使用vue非同步元件 和 es中的import 1 不用懶載入,vue中路由 如下 impor...