- 博客(18)
- 收藏
- 关注
原创 bzoj3295: [Cqoi2011]动态逆序对 树状数组套线段树
题目bzoj3295 Description对于序列A,它的逆序对数定义为满足i< j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。Input输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正整数,即初始排列。以下m行每行一个正整数,依次为每次删除的元素
2016-01-21 21:03:27 483
原创 不基于旋转的treap
介绍最近看到有一种不用旋转的treap,好像还可以持久化,于是就学了一下。treap就是tree+heap。它的每个节点的权值data满足排序二叉树的性质,随机权值key满足堆的性质。由于key是随机的所以它大致是平衡的。 不基于旋转的treap有两个基本操作:merge(a,b):返回一个treap,包含a,b两个treap中的所有节点,但要保证b中所有节点权值都大于等于a。split(a,n)
2016-01-18 14:14:42 3973 3
原创 spoj LCMSUM
题目题目链接 给定N,求∑Ni=1Lcm(i,N)\sum_{i=1}^NLcm(i,N)。 共T组测试数据。 1 <= T <= 300000 1 <= n <= 1000000题解我们考虑将lcm变为gcd,再枚举gcd的值。 ∑i=1Nlcm(i,N)=∑i=1Ni∗Ngcd(i,N)=∑d|N∑i=1Ni∗Nd[gcd(i,N)=d]=∑d|NN∑i=1N/di[gcd(i,N/d
2016-01-18 13:41:33 709
原创 Poj2417 大步小步算法
题目poj2417 Given a prime P,2<=P<231P, 2 <= P < 2^{31}, an integer B,2<=B<PB, 2 <= B < P, and an integer N,1<=N<PN, 1 <= N < P, compute the discrete logarithm of NN, base BB, moduloP P. That is, find an
2016-01-16 14:27:25 790
原创 bzoj2741: 【FOTILE模拟赛】L 可持久化trie
题目bzoj2741DescriptionFOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和。 即对于一个询问,你需要求出max{AixorAi+1xorAi+2...xorAj}\{A_i xor A_{i+1} xor A_{i+2} ... xor A_j\},其中l<=i<=j<=r。 为了体现在线操作,对于一个询问(x,y): l = min
2016-01-15 13:34:03 850
原创 poj2104区间K大 主席树
题目poj2104DescriptionYou are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structure that would be
2016-01-15 13:17:26 373
原创 bzoj2733: [HNOI2012]永无乡
题目bzoj2733 Description永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛 b 是连 通的。现在有两种操作:B x y 表示在岛 x 与岛 y 之间修建一
2016-01-15 13:06:34 269
原创 bzoj2809: [Apio2012]dispatching
题目链接bzoj2809 Description在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方式发送。现在你要招募一批忍者,并把它们派遣给顾客。你需要为每个被派遣的
2016-01-15 12:54:55 353
原创 bzoj3720: Gty的妹子树
题目链接bzoj3720题意维护一棵初始有n个节点的有根树(根节点为1),树上节点编号为1-n,每个点有一个权值wi。 支持以下操作: 0 u x 询问以u为根的子树中,严格大于x的值的个数。(u^=lastans,x^=lastans) 1 u x 把u节点的权值改成x。(u^=lastans,x^=lastans) 2 u x 添加一
2016-01-15 12:01:54 913
原创 BZOJ1509: [NOI2003]逃学的小孩
题目bzoj1509 Input第一行是两个整数N(3<=N<= 200000)和M,分别表示居住点总数和街道总数。以下M行,每行给出一条街道的信息。第i+1行包含整数Ui、Vi、Ti(1<=Ui, Vi<= N,1<= Ti<= 1000000000),表示街道i连接居住点Ui和Vi,并且经过街道i需花费Ti分钟。街道信息不会重复给出。Output仅包含整数T,即最坏情况下Chris的父母
2016-01-14 13:32:11 699
原创 [BZOJ1072][SCOI2007]排列perm
题目bzoj1072题意给出一个数s<101110^{11}和一个数m<=1000,求数s的各位的所有排列中有多少个可以被m整除。题解我们考虑数位dp,用二进制表示某个位置上的数是否使用。 f[i][j]表示数码使用情况为i时组成的数模m为j的数的个数。 转移时我们只有考虑在后面添加一个数码即可。 我们可以用队列维护,按使用数码的个数从小到大DP。for(int i=0;i<len;i++)
2016-01-14 13:09:17 613
原创 1833: [ZJOI2010]count 数字计数
题目bzoj1833 Description给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。Input输入文件中仅包含一行两个整数a、b,含义如上所述。Output输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。Sample Input1 99Sample Output9 20 20 20 20 20 20 20 20 20
2016-01-12 13:23:08 873
原创 bzoj2243: [SDOI2011]染色
题目bzoj2243 Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 Input 第一行包含2个整数n和m,分别表示节点数和操作数; 第二行
2016-01-12 08:02:29 306
原创 bzoj2555: SubString SAM+LCT
题目bzoj2555 Description懒得写背景了,给你一个字符串init,要求你支持两个操作(1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串)你必须在线支持这些操作。 Input第一行一个数Q表示操作个数第二行一个字符串表示初始字符串init接下来Q行,每行2个字符串Type,Str Type是ADD的话表示在后面插入
2016-01-11 20:28:53 576
原创 bzoj2049: [Sdoi2008]Cave 洞穴勘测
题目链接bzoj2049题意初始时给定一个n个点的森林,支持3个操作。 Connect x y:将x与y间连一条边。 保证连边之后任然是一颗树。 Destroy x y :将x与y间的边删去。 保证x与y有边相连。 Query x y :询问x与y是否联通。 N<=10000。 询问M<=200000。题解link-cut tree。 学习请点这里。 需要注意的有连接两棵树x与y时之前深度
2016-01-10 19:12:46 337
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人