「ZJOI2019」线段树

偷一张图

By Sooke

定义 fuf_u 为:tagu=1\mathrm{tag}_u = 1 的概率。

定义 gug_u 为:uu 的祖先存在 tag=1\mathrm{tag} = 1 的概率。

  1. 白色: g=g/2,f=f/2g=g/2,f=f/2
  2. 橙色: f=(g+f)/2f=(g+f)/2
  3. 深灰: g=(1+g)/2,f=(1+f)/2g=(1+g)/2,f=(1+f)/2
  4. 浅灰: g=(1+g)/2g=(1+g)/2
  5. 黄色:(啥都不用干
阅读更多

Codeforces Round #625

翻译

A. Contest for Robots

给出长度为 1n1001\le n\le 100 的两个序列 r,br,b,且满足 ri,bi{0,1}r_i, b_i\in\{0, 1\},你需要确定 pip_ipi1p_i\ge 1)。

满足 i=1nripi>i=1nbipi\sum_{i=1}^n r_ip_i > \sum_{i=1}^n b_ip_i,并且最小化 maxi=1npi\max_{i=1}^n{p_i}

如果不可能,输出 1-1

B. Journey Planning

给出长度为 1n21051\le n\le 2\cdot 10^5 的序列 bb1bi41051\le b_i\le 4\cdot 10^5

称合法序列为,c1,,ckc_1,\cdots,c_k,满足 ci<ci+1c_i<c_{i+1}ci+1ci=bci+1bcic_{i+1}-c_i = b_{c_{i+1}}-b_{c_i}k=1k=1 时也是合法的),定义其美丽值为 i=1kbci\sum_{i=1}^k b_{c_i}

求最大美丽值。

阅读更多
雅礼集训瞎做

雅礼集训瞎做

  anomalous by Alcxome

2017

「雅礼集训 2017 Day1」市场

支持区间减,区间整除,区间最小查询,区间和查询。

线段树,考虑一个区间的最大值 aa 和最小值 bb

k=aa/d=bb/dk=a-\lfloor a/d \rfloor = b-\lfloor b/d \rfloor, 则对于 a<c<ba<c<bcc/d=kc-\lfloor c/d\rfloor=k

事实上满足上述的只有 a=ba=ba=b+1a=b+1

证明可令 a=αk+p1,b=βk+p2a=\alpha k+p_1,b=\beta k+p_2 具体略

阅读更多

牛客 CSP-S 提高组赛前集训营 1 题解

体验还是比较好的 230 只有 100 名差评,没有享受到大样例x

比赛实录

6:30:看 T1,这个博弈我好像推不出来SG,这是 ICG 吗?

滚去看 T2,理解题意 5min ,这个乘积怎么维护啊。。。

DP式子推推搞搞搞

阅读更多

「USACO 2007 Dec. Gold」Sightseeing Cows

给定一张 n1000n\le1000 个点、m5000m\le5000 条边的有向图

每个点都有一个权值 fif_i ,每条边都有一个权值 tit_i

求图中的一个环,使“环上各点的权值之和”除以“环上各边的权值之和”最大

阅读更多

「POJ 1151」Atlantis

求多个矩形的面积并

沿 xx 轴扫描,用数据结构维护 yy

这题用到的数据结构很有意思

维护长度为 nn 的序列,支持

  • 区间加法
  • 求序列中大于 00 的数的个数

但是这道题目存在一个特殊的性质:每个数不会减到负,所以问题就简单了

下面是线段树节点合并

1
2
3
4
5
// s 是当前节点
s.sum = s.t
? raw[s.r] - raw[s.l-1]
: (s.l == s.r ? 0 : T[ls].sum + T[rs].sum);

阅读更多