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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【LCT】Tree II(luogu 1501)

發布時間:2023/12/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【LCT】Tree II(luogu 1501) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Tree II

luogu 1501

題目大意

給出一棵樹,讓你進行若干操作,操作如下:
1.把兩個點路徑上的所有點權值加k
2.把兩個點路徑上的所有點權值乘k
3.把一條邊斷開,連上另一條邊
4.查詢兩個點路徑上的權值和

輸入樣例

3 2 1 2 2 3 * 1 3 4 / 1 1

輸出樣例

4

數據范圍

1?n,q?105,1?c?1041\leqslant n, q\leqslant 10^5, 1\leqslant c \leqslant 10^41?n,q?105,1?c?104

解題思路

LCT模板
多了兩個計算的值
在下傳lazym的時候把lazya乘上lazym即可(lazya為加值的lazy,lazym為乘值的lazy)

代碼

#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define ll long long #define N 100010 #define wyc 51061 using namespace std; ll n, q, x, y, z, s[N], v[N], p[N], sz[N], la[N], lm[N], fa[N], son[N][2]; char c; bool NR(ll x) {return son[fa[x]][0] == x || son[fa[x]][1] == x; } bool IRS(ll x) {return son[fa[x]][1] == x; } void pushr(ll x) {swap(son[x][0], son[x][1]);p[x] ^= 1;return; } void pushm(ll x, ll y)//下傳乘 {lm[x] = lm[x] * y % wyc;la[x] = la[x] * y % wyc;//把a的乘上,這樣就不會有問題了s[x] = s[x] * y % wyc;v[x] = v[x] * y % wyc;return; } void pusha(ll x, ll y) {la[x] = (la[x] + y) % wyc;s[x] = (s[x] + y * sz[x] % wyc) % wyc;v[x] = (v[x] + y) % wyc;return; } void push_down(ll x) {if (lm[x] != 1) pushm(son[x][0], lm[x]), pushm(son[x][1], lm[x]), lm[x] = 1;if (la[x]) pusha(son[x][0], la[x]), pusha(son[x][1], la[x]), la[x] = 0;if (p[x]){if (son[x][0]) pushr(son[x][0]);if (son[x][1]) pushr(son[x][1]);p[x] = 0;}return; } void push_up(ll x) {s[x] = (s[son[x][0]] + s[son[x][1]] + v[x]) % wyc;sz[x] = sz[son[x][0]] + sz[son[x][1]] + 1;return; } void rotate(ll x) {ll y = fa[x], z = fa[y], k = IRS(x), g = son[x][!k];if (NR(y)) son[z][IRS(y)] = x;if (g) fa[g] = y;son[x][!k] = y;son[y][k] = g;fa[x] = z;fa[y] = x;push_up(y);return; } void push_hall(ll x) {if (NR(x)) push_hall(fa[x]);push_down(x);return; } void Splay(ll x) {push_hall(x);while(NR(x)){if (NR(fa[x]))rotate(IRS(x) == IRS(y) ? fa[x] : x);rotate(x);}push_up(x);return; } void access(ll x) {for (ll y = 0; x; y = x, x = fa[x])Splay(x), son[x][1] = y, push_up(x);return; } void make_root(ll x) {access(x);Splay(x);pushr(x);return; } ll find_root(ll x) {access(x);Splay(x);while(son[x][0]) push_down(x), x = son[x][0];Splay(x);return x; } void Split(ll x, ll y) {make_root(x);access(y);Splay(y);return; } void link(ll x, ll y) {make_root(x);if (find_root(y) != x) fa[x] = y;return; } void cut(ll x, ll y) {make_root(x);if (find_root(y) == x && fa[y] == x && !son[y][0]){fa[y] = son[x][1] = 0;push_up(x);}return; } int main() {scanf("%lld%lld", &n, &q);for (ll i = 1; i <= n; ++i)sz[i] = lm[i] = v[i] = 1;for (ll i = 1; i < n; ++i){scanf("%lld%lld", &x, &y);link(x, y);}while(q--){cin>>c;if (c == '+'){scanf("%lld%lld%lld", &x, &y, &z);Split(x, y);pusha(y, z);}else if (c == '-'){scanf("%lld%lld", &x, &y);cut(x, y);scanf("%lld%lld", &x, &y);link(x, y);}else if (c == '*'){scanf("%lld%lld%lld", &x, &y, &z);Split(x, y);pushm(y, z);}else if (c == '/'){scanf("%lld%lld", &x, &y);Split(x, y);printf("%lld\n", s[y]);}}return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的【LCT】Tree II(luogu 1501)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 波多野结衣福利 | 永久免费毛片 | 久久久女人 | 色播av | 91av网址| 2020国产精品视频 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 爱爱的网站 | 精品人妻无码一区二区色欲产成人 | 国产一级淫 | 又大又粗又爽18禁免费看 | 国产白袜脚足j棉袜在线观看 | 在线观看日韩一区 | 木下凛凛子av一区二区三区 | 麻豆精品在线观看 | 一本色道久久综合亚洲精品 | 国产精品日韩欧美一区二区三区 | 女教师高潮黄又色视频 | 亚洲视频免费在线播放 | 成人a视频在线观看 | 性久久久久久久久 | 欧美日韩人妻精品一区二区 | 精品国产乱码久久久久久闺蜜 | 麻豆免费在线观看 | av在线免费观看网站 | xxxxⅹxxxhd日本8hd | 精品国产三级a∨在线 | av不卡在线播放 | www.尤物 | 欧美黄色一级视频 | 久久曰视频 | 男男做爰猛烈啪啪高 | 欧美中文字幕在线视频 | 素人女裸体 | 日韩成人高清 | 爱情岛论坛av | 亚洲一区二区三区观看 | 五月婷婷丁香在线 | 麻豆成人入口 | 亚洲aa在线 | 大乳丰满人妻中文字幕日本 | 国产人妻黑人一区二区三区 | 丰满少妇一区二区三区 | 精品区一区二区 | 国产成人免费观看 | 欧美风情第一页 | 亚洲色图国产视频 | 中文在线观看免费高清 | 丰满人妻一区二区三区四区 | 我爱avav色aⅴ爱avav | 国产精品不卡在线 | 床戏高潮呻吟声片段 | 日韩a级在线观看 | 亚洲欧美在线一区 | a免费看| 国产中文视频 | 91亚洲免费| 国产福利视频一区二区 | 日韩一区二区三区免费视频 | 一区二区不卡视频 | jizzzxxxx| 黄色一级视频免费看 | 三级黄色在线 | 欧美videossex另类 | 狠狠久久婷婷 | 污污免费视频 | 少妇久久久久久被弄到高潮 | 精品一区在线观看视频 | 亚洲蜜臀av| 激烈娇喘叫1v1高h糙汉 | 草草影院在线 | 色干综合| 欧美日韩一区二区视频在线观看 | www.国产精品视频 | 国产无套内射又大又猛又粗又爽 | 一级a毛片 | 精一区二区 | 国产一区二区三区乱码 | 免费精品无码AV片在线观看黄 | 亚洲v欧美v另类v综合v日韩v | 小明天天看 | 中文字幕在线播放一区二区 | 久久夜色精品国产欧美乱极品 | 日本啪啪网站 | 91成人精品视频 | 国产亚洲精品久久久久久青梅 | 懂色av一区二区三区四区五区 | 小黄网站在线观看 | 毛片女人 | 一区二区自拍偷拍 | 特级毛片av | 亚洲jlzzjizz少妇 | 日韩av地址 | 天干夜夜爽爽日日日日 | 欧美综合自拍亚洲综合图片区 | 在线成人免费 | 五月婷婷影院 | 国产又黄又爽又色 | 小视频成人 |