luogu5358 [sdoi2019]快速查詢
不敢壓行了,調不動\(qaq\)。
注意查詢雜湊表時,如果已經找到了數,但是是在覆蓋以前的,直接返回找不到即可,因為雜湊表的特點是後插入的數先訪問到。
#include#include#include#define n 100005
#define m 105
#define ll long long
#define il inline
#define rint register int
using namespace std;
const int p=10000019;
int n,q,t,nt=0,tot=0,allnum=0,s=0,add=0,mul=1,fr[p+25],nxt[p+25],d1[p+25],d2[p+25],inv[p+5],a[m],b[m];
int cnt=0;
ll ans=0;
struct node
ask[n];
il void add(int x,int y)
il int getpos(int x)
return -1;
}il int rval(int x)
il int tval(int x)
int main()
scanf("%d",&t);
for (rint i=1;i<=t;++i)
scanf("%d%d",&a[i],&b[i]);
for (rint i=1;i<=t*q;++i)
ans=(ans%p+p)%p;
printf("%lld\n",ans);
return 0;
}
P5358 SDOI2019 快速查詢 思維題
戳這裡 隨便來個資料結構直接模擬,但是操作量達到了 1e7 級別,也就是說單個操作必須做到 o 1 觀察發現只有全域性操作和單點操作,所以用到了乙個小 trick 就是維護乙個全域性標記,然後對於單點進行修改,這樣可以做到 o 1 進行全域性修改,然後對於單點修改操作轉化一下也可以做到 o 1 具體...
Luogu2157 SDOI2009 學校食堂
link 給定 n 個學生的口味和忍耐度,若前一道菜的對應的口味是a,這一道為b,則做這道菜所需的時間為 a b a b 而做第一道菜是不需要計算時間的.每個學生可以忍耐忍耐度以下的人在他前面插隊買飯 求最小的做飯時間 n le 1000,b i le 8 令 f 表示第 i 個人前面的狀態是 s ...
luogu3706 SDOI2017 硬幣遊戲
link 硬幣遊戲 對於100分 我們不難想到這個矩陣過大 且沒有用的節點很多我們最後只要n個節點的答案 其他節點的答案可以不要。考慮把沒用的節點的答案壓到一點上。相同的套路 我們設f i 表示經過第i個點的期望次數 由於是到達某個點我們強制停止 所以概率 結果 期望次數。此時結果為1 0 所以這個...