当前位置: 首页 > news >正文

做网站制作外包公司网站表达的内容

做网站制作外包,公司网站表达的内容,竞价托管公司联系方式,温州网站定制Problem - 1891F - Codeforces 动态维护比较困难,可以发现一个节点的权值只跟他后面的2操作有关,我们可以先把树建好,记录所有操作,倒着枚举操作,如果当前操作是2,则修改x整个子树的值;如果当前…

Problem - 1891F - Codeforces

动态维护比较困难,可以发现一个节点的权值只跟他后面的2操作有关,我们可以先把树建好,记录所有操作,倒着枚举操作,如果当前操作是2,则修改x整个子树的值;如果当前操作是1,则记录下当前节点的权值为答案。

对于一个已经建好的树,如何修改整个子树的值?我们可以记录下这个树的dfs序,在这个过程中,回溯的时候可以记录下当前节点子树所对应dfs序的截止位置。我们直接对这个区间进行修改就可以了。可以使用差分树状数组

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6 + 10;
const int mod = 1e9 + 7;
#define pii pair<int, int>
#define lowbit(x) (x & (-x))
int sz;
struct node
{int opt, v, x;
};
vector<int> e[N];
vector<int> path; // 记录dfs序
int idx[N];       // 节点u在path中的下标
int las[N];       // 节点u的子树在path中的最后截止位置
void dfs(int u)
{path.push_back(u);for (int v : e[u])dfs(v);las[u] = path.size() - 1; // u的子树到此为止
}
int tr[N]; // 树状数组作差分,单点修改和区间查询
void add(int x, int k)
{for (int i = x; i <= sz; i += lowbit(i))tr[i] += k;
}
int ask(int x)
{int sum = 0;for (int i = x; i > 0; i -= lowbit(i))sum += tr[i];return sum;
}
void solve()
{int q;cin >> q;sz = 1;vector<node> a(q + 1);for (int i = 1; i <= q; i++){cin >> a[i].opt;if (a[i].opt == 1){cin >> a[i].v;e[a[i].v].push_back(++sz);a[i].x = sz;}elsecin >> a[i].v >> a[i].x;}path.push_back(0);dfs(1);for (int i = 1; i < path.size(); i++)idx[path[i]] = i;vector<int> res(sz + 1, -1);for (int i = q; i >= 1; i--){if (a[i].opt == 1)res[a[i].x] = ask(idx[a[i].x]);elseadd(idx[a[i].v], a[i].x), add(las[a[i].v] + 1, -a[i].x);}res[1] = ask(1);for (int i = 1; i <= sz; i++)cout << res[i] << ' ';cout << endl;path.clear();for (int i = 1; i <= sz; i++){tr[i] = idx[i] = las[i] = 0;e[i].clear();}
}signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t = 1;cin >> t;while (t--)solve();
}
http://www.dtcms.com/a/551439.html

相关文章:

  • 要怎么做自己的网站视频教学建网站要买服务器吗
  • 哪个网站是自己销售佛山刚刚发生的事
  • 扬州电子商务网站建设应用公园制作的app归谁
  • python采集数据wordpress做搜狗网站优化排名
  • 韩国购物网站网站设计psd模板
  • 品牌网站开发特点最大的软件公司
  • 郑州 制造 网站四川省微信网站建设
  • 海外网站推广方案网站营销建设方案
  • 2019银川住房建设规划信息网站wordpress本地播放器
  • 网站的宽度中国建筑公司企业排名
  • 百度快照比网站上线时间早物流网络
  • 东莞邦邻网站建设深圳推广服务
  • 张家口市建设局网站做网站都需要服务器吗
  • 网站推广一般多少钱网站搭建教程视频
  • 移动网站在线开发工具wordpress图片目录
  • 建网站怎么挣钱的大德通众包 做网站怎么样
  • 网站首页二级下拉框怎么做帝国cms商城
  • 网站开发实验心得张店专业网站优化哪家好
  • 网站建设公司logo新手做销售怎么开发客户
  • 公司建设网站价格多少钱企业宣传网站
  • 如何建立一个网站英语作文网站搭建平台源码
  • 如何在微信公众号中导入wordpressseo优化行业
  • 做网站开发的有哪些公司好jsp开发网站
  • 福州网站制作计划官网站内优化怎么做
  • [Linux] 内核红黑树实现详解
  • wordpress 快站浏览器小游戏在线玩
  • 漳浦网站设计vue框架 wordpress
  • 足球哪个网站做的比较好网站可以不备案吗
  • 营销型网站 案例南京网站推广费用
  • 建设网站入不入无形资产吉林省吉林市邮政编码