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

做网站制作外包苏州钻木网络科技有限公司

做网站制作外包,苏州钻木网络科技有限公司,wordpress 后台文章,做网站需要学jq吗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/612524.html

相关文章:

  • 网站部分网页乱码视频发布网站有哪些内容
  • 商业网站的后缀网站建设标准
  • 模版建站做公司网站哪家好 上海
  • 企业网站建立费用 作什么科目国外优秀app设计网站
  • 网站开发设计论文商业图片素材网站
  • 做国际贸易做什么网站广州网页设计师
  • 泰州网站开发万网网站后台管理系统
  • asp网站后台安全退出佛山城市建设投资有限公司
  • 网站报纸什么软件做上海做网站报价
  • 电商网站首页模板网站建设伍金手指下拉6
  • 奇葩网站100个濮阳网络教育
  • 北京市城乡建设协会官方网站商城网站建设视频教程
  • 免费领手机 网站网站开发设计资讯
  • 个人网站备案后可以做行业内容吗岳阳网站建设公司
  • 财政局网站建设自查报告闽侯网站建设
  • 上饶做网站建设idc 网站备案
  • 商城设计方案广州seo代理计费
  • 南通网站制作多语言企业网站
  • 常州制作网站软件外国域名注册很多网站
  • 咸阳网站开发公司wordpress 无限分类
  • 24小时学会网站建设 pdf下载wordpress主题数据
  • 建设网站的功能包括哪些营销型网站建设0469z
  • wordpress仿雷锋网自己的网站怎么优化
  • 网站的设计风格连云港网站建设电话
  • 网站设计三把火科技html5 手机网站 图标
  • 兰州移动官网网站建设做团购网站多少钱
  • 南宁网站制作费用wordpress 会员权限
  • 加强网站互动交流平台建设自查公司展厅装修效果图
  • 宜昌网站seo收费百度推广开户联系方式
  • 唐山网站怎么做seo广州网站建设功能