
BZOI
文章平均质量分 79
lagoon0o0
这个作者很懒,什么都没留下…
展开
-
BZOI splay 基础题目
1208: [HNOI2004]宠物收养所容器splay。考察splay对点的操作。查找:查找值为x的点所在的位置。插入:插入值为x的点(各点值唯一)。首先查找树中刚好比要插入的点小(或大)的点的位置,然后将x作为该点的子节点。插入后将x旋转到根。删除:删除值为x的点所在的位置。首先把x旋转到根,再把x的前驱结点旋转到x的左儿子,然后把x的前驱作为根,x的儿子连到新根上,删除x原创 2013-01-01 22:03:09 · 4401 阅读 · 0 评论 -
1257: [CQOI2007]余数之和sum(数学分段统计)
1257: [CQOI2007]余数之和sum如此一道水题,却被边界虐的很惨。给定n和k,求sum = k mod 1 + k mod 2 + k mod 3 + … + k mod n(1枚举商(n/i),之后分出商相同的若干个区间,注意到每个区间都是一个等差数列,分段求和即可;对于商i左端点 l = n/(i+1)+1;右端点 r = min(m,n/原创 2013-01-03 21:39:36 · 760 阅读 · 0 评论 -
BZOJ 1951: [Sdoi2010]古代猪文(Lucas定理 &&中国剩余定理&&费马小定理)
1951: [Sdoi2010]古代猪文求G^Sigma{C(N, i),i | N} mod M的值,其中M = 999911659。M是一个素数,故根据费马小定理G^(M - 1) ≡ 1 (mod M)。则 G^Sigma{C(N, i),i | N} ≡ G^(Sigma{C(N, i),i | N} mod (M-1)) ≡ G^Sigma{C(N, i) mod (原创 2013-01-02 18:23:16 · 1366 阅读 · 0 评论 -
BZOJ 2111: [ZJOI2010]Perm 排列计数(简单组合数学)
2111: [ZJOI2010]Perm 排列计数组合计数求1-n排列中对于任意2P(i/2) 的排列个数 mod 质数 p 的余数;问题等价于求1~n组成一棵满足小根堆性质的完全二叉树的方案数;定义f[i]为当这棵完全二叉树有i个节点时的方案数;则 f[i] = C(i-1,left) * f[left] * f[i-1-left];f[0] = f[1] =原创 2013-01-02 20:29:28 · 1220 阅读 · 1 评论 -
2208: [Jsoi2010]连通数(tarjan + 状态压缩)
2208: [Jsoi2010]连通数水题。。。求一个有向图的连通数;首先在同一个强连通分量上的点可以互达,我们下一步只需求出每个强连通分量能达到那些其他分量;于是先tarjan缩点,得到一个有向无环图,每一个分量所能达到的点可以通过二进制状态记录,最后建反图,在拓扑排序中更新,统计;#include #include #include #include using原创 2013-01-04 22:01:35 · 888 阅读 · 0 评论 -
2786: Ural1142 Relation (递推+高精度)
用=号连接的元素看做一个集合,忽略顺序;定义f[i][j] 为前i个元素分成j组的方案数;第i个元素1、新建一个集合 由 f[i-1][j-1]*j;2、归入原有集合 由 f[i-1][j]*j;#include #include #include using namespace std;struct Q { int l, s[100]; Q () {原创 2013-01-04 22:24:09 · 682 阅读 · 0 评论 -
1934: [Shoi2007]Vote 善意的投票 (网络流)
1934: [Shoi2007]Vote 善意的投票如果把每个人都看做一个节点,题意其实就是等价于求把点集划分为2个独立部分的最小代价;我们把赞成的点都引向汇点一条流量为1的边;从原点向反对的点都引一条流量为1的边;每一对好友之间连一条容量为1的边;那么最小代价就是从源到汇的最小割,而最小割==最大流;#include #include #include #i原创 2013-01-04 22:16:15 · 496 阅读 · 0 评论