日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爱之箭发射(las)

發布時間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爱之箭发射(las) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

愛之箭發射(las)

目描述

?

小海是弓道部的成員,非常擅長射箭(Love Arrow Shoot)。今天弓道部的練習是要射一棵樹。一棵樹是一個nn個點n?1n?1條邊的無向圖,且這棵樹的第ii個點有一個值wiwi,wi∈[1,m]wi∈[1,m]。每一次小海會射中樹的一條邊,并將這條邊移除。此外,小海定義一棵樹的las值為∑vi?i∑vi?i,vivi為這棵樹中第ii小的wiwi。現在小海會告訴你她射中的邊的順序,你需要回答每一次她射中的邊所在的樹的las值,之后被射中的邊會被移除。答案mod998244353mod998244353

?

輸入

?

第一行兩個數n,mn,m

第二行nn個數wiwi

接下來n?1n?1行每行兩個數ai,biai,bi,表示初始的樹第ii條邊連接aiai和bibi。

接下來n?1n?1行每行一個數表示射中的邊。

?

?

輸出

?

n-1行每行一個數表示射中的邊的樹的las值

?

?

樣例輸入

5 4396 2 3 1 4 5 1 2 1 3 2 4 2 5 4 1 2 3

樣例輸出

55 30 5 11

提示

?

數據范圍

前20% n<=1e3

另外20% m<=10

另外20%?保證第i條邊連接i和i+1

另外20% n<=1e5

100% n<=5e5 wi<=m<=1e4

下發一個樣例滿足第一個部分分。

?

?

來源

noip2018模擬-robinliu


solution

把操作倒過來,看成加邊。

對于每個連通塊可以用一棵值域線段樹維護每個值出現的次數,值的和,還有la值。

合并時,新的la值可以由值的和*之前的值出現的次數得到。

比如 1*1+2*2+3*3? +2*(1+2+3) -> 3*1+4*2+5*3

線段樹合并維護即可

注意x,y均沒有左右兒子的特殊情況

#include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<algorithm> #include<cmath> #define maxn 500005 #define mod 998244353 #define ll long long using namespace std; int n,m,st[maxn],ed[maxn],w[maxn],id[maxn]; int fa[maxn],root[maxn*18],tot; int ls[maxn*18],rs[maxn*18],num[maxn*18]; ll ans[maxn],sum[maxn*18],s[maxn*18]; void build(int &k,int l,int r,int pl){if(!k)k=++tot;if(l==r){num[k]=1;sum[k]=s[k]=pl;return;}int mid=l+r>>1;if(pl<=mid)build(ls[k],l,mid,pl);else build(rs[k],mid+1,r,pl);num[k]=num[ls[k]]+num[rs[k]];sum[k]=sum[ls[k]]+sum[rs[k]];s[k]=s[ls[k]]+s[rs[k]]; } int getf(int k){if(fa[k]==k)return k;fa[k]=getf(fa[k]);return fa[k]; } int merge(int x,int y,int la){if(!x||!y){return x+y;}ls[x]=merge(ls[x],ls[y],la);rs[x]=merge(rs[x],rs[y],la+num[ls[x]]);//printf("x:%d y:%d sumx:%d sumy:%d la:%d\n ls:%d %d %d rs:%d %d %d\n",x,y,sum[x],sum[y],la,sum[ls[x]],num[ls[x]],s[ls[x]],sum[rs[x]],num[rs[x]],s[rs[x]]);if(!ls[x]&&!rs[x]){sum[x]=sum[x]+sum[y]+(num[x]*s[y])%mod;sum[x]%=mod;num[x]=num[x]+num[y];s[x]=s[x]+s[y];return x;}sum[x]=sum[ls[x]]+sum[rs[x]]+(num[ls[x]]*s[rs[x]])%mod;sum[x]%=mod;num[x]=num[ls[x]]+num[rs[x]];s[x]=s[ls[x]]+s[rs[x]];//cout<<sum[x]<<' '<<num[x]<<endl;return x; } int main(){cin>>n>>m;for(int i=1;i<=n;i++){scanf("%d",&w[i]);fa[i]=i;build(root[i],1,m,w[i]);}for(int i=1;i<n;i++){scanf("%d%d",&st[i],&ed[i]);}for(int i=1;i<n;i++)scanf("%d",&id[i]);for(int i=n-1;i>=1;i--){int x=getf(st[id[i]]),y=getf(ed[id[i]]);//cout<<"---------\n";//cout<<x<<' '<<y<<endl;root[x]=merge(root[x],root[y],0);ans[i]=sum[root[x]];fa[y]=x;}for(int i=1;i<n;i++)printf("%lld\n",ans[i]);return 0; } /* 5 5 2 2 1 4 5 1 2 1 3 2 4 2 5 4 1 2 3 */

?

轉載于:https://www.cnblogs.com/liankewei/p/10358822.html

總結

以上是生活随笔為你收集整理的爱之箭发射(las)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美乱做爰xxxⅹ久久久 | 无码日韩人妻精品久久蜜桃 | 性生交大片免费看女人按摩 | 国产美女激情视频 | 国产欧美一区二区三区精品酒店 | 国产一区影院 | 欧美一区二区在线视频 | 国产成a人亚洲精v品在线观看 | 丁香花婷婷 | 欧美在线综合 | 美女扒开内看个够网站 | 日韩中文一区 | 欧美自拍偷拍一区 | 日韩综合一区 | 中国女人裸体乱淫 | 中文字幕少妇 | 中文字幕一区二区三区人妻四季 | 国产一区二区久久久 | 香蕉黄色网 | 最近中文字幕mv免费高清在线 | 777久久久 | 91官网入口 | 手机av免费在线观看 | 打开免费观看视频在线 | 少妇裸体视频 | 欧美久久久一区二区三区 | 男阳茎进女阳道视频大全 | 精品人妻在线播放 | 麻豆视频精品 | a级欧美| 国产第一页屁屁影院 | 在线观看免费黄视频 | 日本v片 | 91视频免费观看网站 | 丝袜人妻一区 | 天天爽夜夜爽视频 | 日日干av| 成人黄色一区二区 | 欧洲美女粗暴牲交免费观看 | 国产日产欧美一区二区 | 欧美亚洲综合在线 | 一区二区三区视频在线播放 | 日本中文字幕在线免费观看 | 网站久久久 | 一区二区三区欧美视频 | 国产精品不卡一区 | 久艹在线视频 | 欧美精品动漫 | 在线观看日韩一区二区 | 亚洲ⅴ国产v天堂a无码二区 | 人人澡人人爱 | 国产一区二区三区在线 | 欧美天天 | 精品三级在线观看 | 朋友的姐姐2在线观看 | 最新中文字幕2019 | 国内av网站 | 中文字幕色 | 午夜精品一区二区三区在线 | 欧美一级片在线免费观看 | 免费色网址 | 久久久国产精品成人免费 | 欧美黄色一级生活片 | 好吊视频一区二区三区四区 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 18在线观看免费入口 | 久久免费国产精品 | 男女互操在线观看 | 欧美另类xxxxx| 日本三级2019 | 亚洲福利网 | 欧美用舌头去添高潮 | 一区在线观看 | 你懂的网站在线观看 | 青青草.com| 日本裸体动漫 | 国产福利免费 | 日韩黄色网 | 色.com | 天天草天天干 | 成人黄色在线免费观看 | 免费av在线网| 日韩首页 | 麻豆视频免费在线观看 | 天天做日日干 | v片在线观看 | 色婷婷激情五月 | 国产精品一级黄片 | 伊人久久九 | 寂寞d奶大胸少妇 | 中文在线观看免费网站 | 亚洲av无码久久精品色欲 | wwwwww在线观看 | www久久精品 | 激情综合影院 | 精品91视频 | 免费看女生隐私 | 黄页嫩草 | 国产在线观看av |