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

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

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

      【題解】Luogu P7432 [THUPC 2017] 欽妹的玩具商店

      分塊,設塊長為 \(B\),預處理 \(f_{l,r,x}\) 表示僅考慮 \([1,l]\cup[r,\frac{n}{B}]\) 中的玩具,花 \(x\) 元的最大愉悅度。詢問時向 \(f_{bel_l-1,bel_r+1}\) 中加入 \(l\)\(r\) 所在塊內的玩具即可。\(bel_l\) 表示 \(l\) 所在塊。

      使用二進制優化多重背包,分析時間復雜度:

      • 預處理 \(O(\frac{n^2m\log{n}}{B})\)
      • 詢問 \(O(qmB\log{n})\)

      \(B=\sqrt{n}\),時間復雜度為 \(O((n+q)m\sqrt{n}\log{n})\),空間復雜度 \(O(nm)\)。

      #include<bits/stdc++.h>
      #define int long long
      #define il inline
      
      using namespace std;
      namespace asbt{
      namespace cplx{bool begin;}
      const int maxn=1e3+5,maxm=40,mod=1e8+7;
      int T,n,m,q,blen,bnum;
      int a[maxn],b[maxn],c[maxn];
      int bel[maxn],st[maxm],ed[maxm];
      struct DP{
      	int f[maxn];
      	il void init(){
      		for(int i=0;i<=m;i++){
      			f[i]=0;
      		}
      	}
      	il int operator[](int x){
      		return f[x];
      	}
      	il void upd(int x){
      		int a=asbt::a[x],b=asbt::b[x],c=asbt::c[x];
      		for(int i=1;i<=c;i<<=1){
      			for(int j=m;j>=i*a;j--){
      				f[j]=max(f[j],f[j-i*a]+i*b);
      			}
      			c-=i;
      		}
      		for(int i=m;i>=c*a;i--){
      			f[i]=max(f[i],f[i-c*a]+c*b);
      		}
      	}
      }dp[maxm][maxm];
      il void solve(){
      	cin>>n>>m>>q;
      	for(int i=1;i<=n;i++){
      		cin>>a[i];
      	}
      	for(int i=1;i<=n;i++){
      		cin>>b[i];
      	}
      	for(int i=1;i<=n;i++){
      		cin>>c[i];
      	}
      	blen=sqrt(n);
      	bnum=(n+blen-1)/blen;
      	for(int i=1;i<=bnum;i++){
      		st[i]=ed[i-1]+1;
      		ed[i]=min(ed[i-1]+blen,n);
      		for(int j=st[i];j<=ed[i];j++){
      			bel[j]=i;
      		}
      	}
      	for(int i=0;i<=bnum;i++){
      		if(!i){
      			dp[i][bnum+1].init();
      		}
      		else{
      			dp[i][bnum+1]=dp[i-1][bnum+1];
      			for(int j=st[i];j<=ed[i];j++){
      				dp[i][bnum+1].upd(j);
      			}
      		}
      		for(int j=bnum;j>i;j--){
      			dp[i][j]=dp[i][j+1];
      			for(int k=st[j];k<=ed[j];k++){
      				dp[i][j].upd(k);
      			}
      		}
      	}
      	int ans1=0,ans2=0;
      	while(q--){
      		int l,r;
      		cin>>l>>r;
      		l=(l+ans1-1)%n+1;
      		r=(r+ans1-1)%n+1;
      		if(l>r){
      			swap(l,r);
      		}
      		DP ans=dp[bel[l]-1][bel[r]+1];
      		for(int i=st[bel[l]];i<l;i++){
      			ans.upd(i);
      		}
      		for(int i=ed[bel[r]];i>r;i--){
      			ans.upd(i);
      		}
      		ans1=ans2=0;
      		for(int i=1;i<=m;i++){
      			ans1+=ans[i];
      			ans2^=ans[i];
      		}
      		ans1%=mod;
      		cout<<ans1<<" "<<ans2<<"\n";
      	}
      }
      namespace cplx{
      	bool end;
      	il double usdmem(){return (&begin-&end)/1048576.0;}
      }
      signed main(){
      //	cout<<cplx::usdmem();
      	ios::sync_with_stdio(0),cin.tie(0);
      	cin>>T;
      	while(T--){
      		solve();
      	}
      	return 0;
      }
      }
      signed main(){return asbt::main();}
      
      posted @ 2025-02-08 10:45  zhangxy__hp  閱讀(12)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 东北妇女精品bbwbbw| 国产在线精品中文字幕| 亚洲乱亚洲乱妇50p| 国产亚洲精品第一综合| 久久丁香五月天综合网| 日韩精品一区二区亚洲专区| 甘谷县| 精品一卡2卡三卡4卡乱码精品视频 | 国产一区二区三区不卡自拍| 午夜无码国产18禁| 99在线精品国自产拍中文字幕| 日日碰狠狠添天天爽不卡| 中文文字幕文字幕亚洲色| 无码任你躁久久久久久老妇| 国产成人午夜精品影院| 日韩高清在线亚洲专区国产| 天美传媒xxxxhd videos3| 久久一区二区中文字幕| 久久国产精品老人性| 久热爱精品视频线路一| 饶平县| 国内外精品激情刺激在线| 韩国无码AV片午夜福利| 在线无码中文字幕一区| 99久久精品国产一区二区| 老太脱裤子让老头玩xxxxx| 国产成人亚洲精品狼色在线 | 久久日产一线二线三线| 亚洲一区二区国产av| 亚洲中文字幕无码专区| 国产成人毛片无码视频软件| 国产欧美va欧美va在线| 久久99热只有频精品6狠狠 | 亚洲一区二区三级av| a男人的天堂久久a毛片| 国产极品粉嫩学生一线天| aa级毛片毛片免费观看久| 国产情侣激情在线对白| 中文字幕自拍偷拍福利视频| 免费黄色大全一区二区三区| 国产一区二区日韩在线|