「SDOI 2009」E&D

  • 局面 (x,y)   x,y>0(x,y)~~~ x,y>0
  • 操作 (x,y)(a,b)   a+b=x(x,y)\rightarrow(a,b)~~~a+b=xa+b=ya+b=y

x,y2×109x,y\le 2\times 10^9

先手必败还是必胜?

阅读更多

「洛谷 P1290」欧几里德的游戏

  • 局面 (x,y)   x,y0(x,y)~~~x,y\geq0
  • 操作 (x,y)(xλy,y)  (xλy,y0)(x,y)\rightarrow(x-\lambda y, y)~~(x-\lambda y,y\geq0)
  • (x,0)(x,0) 是败

给出 (x,y)(x,y) 求是否为先手必胜

阅读更多

「洛谷 P1631」序列合并

给定两个长度为 nn 的序列 a,ba,b ,定义 ci,j=ai+bjc_{i,j} = a_i+b_j ,输出 ccn×nn\times n 个元素中前 kk

n105n\le10^5

阅读更多

「Comet OJ 58D」菜菜种菜

题目链接

ii 个点,给定 xiiyix_i\le i\le y_i 和权值 aia_i

qq 个询问,回答

ai[LiR  xi<L  yi>R] \sum a_i[L\le i \le R\ \wedge\ x_i < L\ \wedge \ y_i>R]

n,q106n,q\le 10^6

阅读更多

「SDOI 2010」地精部落

我们称一个排列是合法的,当且仅当每一个数都满足这个数比它相邻的数都要大或都要小。

求长度为 NN 的合法排列数量。

阅读更多

「洛谷 P4275」萃香的请柬

给定一个只含 B, L 的字符串序列

定义一次变换为:B 扩展为 BL,L 变成 B,例如 BBLBL -> BLBLBBLB

求经过无数次变换后,i=lr[si=B]\sum_{i=l}^r [s_i=\text{B}] ( lr263)(~l\le r\le 2^{63})

阅读更多

「NOIP 2017」列队

首先感受到这是数据结构题

然后发现你需要用数据结构维护序列,支持

  • 删除第 kk 个数
  • 在末尾加入一个数

考虑用平衡树维护

注意到 n=m=q=3×105n=m=q=3\times 10^5 ,肯定不能把点一个一个开出来,所以一个节点就表示一个区间 [l,r][l, r] ,用 prefix 表示 ll 的编号

发现 FHQ-Treap 可以比较自然地维护 因为我只会写无旋 Treap

新增一种操作 unfold(u, x) ,调用时保证 u->l <= x <= u->r

表示将 uu 分裂成 [l,x1]  [x,x]  [x+1,r][l,x-1]~~[x, x]~~[x+1, r] 三部分,且 [x,x][x,x] 为子树的根

并且保证分裂后 u->l == u->r == x

阅读更多