LZY_caiji

机房最菜,没有之一。


  • Home

  • Tags

  • Categories

  • Archives

  • Search

(模板)Luogu3380-2B平衡树

Posted on 2019-01-29

Problem

传送门

一个长度为n的序列,支持一堆操作,大致操作如下:

1.k在区间的排名(由小到大)2.区间第k小;3.单点修改;4&5:k的在区间上的前驱/后继。

Read more »

2019-1-29-C

Posted on 2019-01-29

Problem

统计$a, b \in [1, n] (a \leq b)$中,有多少个数对$(a, b)$满足$gcd(a, b) = a \bigoplus b$

Solution

来一波XCY的证明

如果$gcd(a, b) = a \oplus b​$,那么$a \oplus b = b - a​$

又$\because xor$有一个性质:

$|a - b| \leq a \oplus b \leq a + b$

$\therefore a \oplus b = b - a​$

所以我们只要找到所有$a \oplus b = b - a$的情况,那么我们再判断一下$gcd(a, b) = a \oplus b$即可

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <bits/stdc++.h>

using namespace std;

#define DEBUG(...) fprintf(stderr, __VA_ARGS__)
#define mp make_pair
#define fst first
#define snd second

template<typename T> inline bool chkmin(T &a, const T &b) { return a > b ? a = b, 1 : 0; }
template<typename T> inline bool chkmax(T &a, const T &b) { return a < b ? a = b, 1 : 0; }

inline int read(){
int res = 0, fl = 1;
char r = getchar();
for (; !isdigit(r); r = getchar()) if(r == '-') fl = -1;
for (; isdigit(r); r = getchar()) res = (res << 3) + (res << 1) + r - 48;
return res * fl;
}
typedef long long LL;
typedef pair<int, int> pii;
int main()
{
freopen("C.in", "r", stdin);
freopen("C.out", "w", stdout);
int n = read();
int ans = 0;
for (int i = 1; i <= n; ++i)
for (int j = i << 1 ; j <= n; j += i){
if(j - i == (j ^ i)){
++ans;
}
}
printf("%d\n",ans);
return 0;
}

LuoguP4735最大异或和(可持久化Trie)

Posted on 2019-01-28

Problem

题目传送门

给一个序列${ a}$,长度为n.

有m个操作.

1.在序列末尾添加一个x.

2.找到一个$p∈[l,r]$,使得$a[p]⊕a[p+1]⊕…⊕a[N]⊕x$最大,其中N为序列的长度。

Read more »

Luogu3302森林

Posted on 2019-01-28

Problem

题目传送门

给你一片森林。

支持两个操作。

1,查询x,y路径中点权的k小。

2,连接x,y.保证连接之后仍然是一片森林。

询问强制在线。

$n,m,t<8×10^4$

Read more »

2019-1-27-食物

Posted on 2019-01-27

Problem

$n$种物品,每种物品有三个参数$t,u,v$分别代表:贡献,大小,数量。

$m$种背包,每种背包有三个参数$x,y,z$分别代表:容量,花费,数量。

要求贡献和大于等于p时的最小花费。

若花费超过50000或贡献无法不小于p则输出TAT。

PS:对于一份物品来说,它可以被拆开,分成几份运输,但是只有该份物品被运输完全才可以获得贡献。

$n,m<200;p<50000;t,u,v,x,y,z<100$

Read more »

树上两点期望距离

Posted on 2019-01-27

Problem

求树上两点之间的期望距离。

Read more »

Luogu Count on a tree(链上第k小)

Posted on 2019-01-26

Problem

给一颗n个节点的树,节点有权值,求以u,v为端点的条上权值第k小。

$n,m<1e5$询问在线。

Read more »

2019-1-26-对联

Posted on 2019-01-26

Problem

给你n个数$a_{1…n}$,问你这n个数用加法组成的所有数中∈[1,p]的数的个数。

询问有m次。每次询问给定一个 $p_i$

$n<13,m<1e6,p_i<1e18,a_i<5e5$

Read more »

2019-1-23 尔

Posted on 2019-01-25

problem

给一个长度为n的序列。

支持两个操作

1.给区间[L,R]第i项加上斐波那契数列的第i项。

2.查询区间[L,R]的异或和。

$n,m<3e5$

Read more »

UOJ最强跳蚤

Posted on 2019-01-25

problem

给一颗树,边有边权。求经过的边权积为完全平方数的路径条数。

$n<1e5,a_i<1e8$

Read more »
12
LZY_caiji

LZY_caiji

20 posts
23 tags
Links
  • EndSaH(Na2S2O3)
  • GCCCCCCC(巨佬)
  • Caosiyu(大师)
  • Qrsikno(勇矢博士)
  • xunzhen(真真)
  • 某caiji的博客园
© 2019 LZY_caiji
本站访客数:
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4