摘要:三种操作1.区间加上某个数 增加add域表示加值懒惰标记2.区间翻转 增加rev域表示翻转懒惰标记3.返回区间最值 增加mx域表示以当前节点为根节点的子树的最大值更新的 时候一定要先把当前节点更新,再加懒惰标记。pushup的时候最好是判断下左右节点是否存在(这个题是必须判断),这是一个很良好的习...
阅读全文
摘要:不知道哪里来的一个什么OJ上的题,考的是一个叫做pell方程的东西x^2-ky^2=1求这个东西的最小的解无意中翻数学模板翻到的这个本来用C++写的,但是最后的结果会爆long long所以用JAVA写了但是用Java写了之后又发现,,,,,这个奇葩OJ根本不能用Java交,考虑到输入总共才1000...
阅读全文
摘要:看的题解,感觉都不好说什么,,但是据说这个题是某年河南省,一个人都没正解?数学还是太弱,感觉这个题还是通过数学推导,强行将枚举范围缩小缩小小。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespac...
阅读全文
摘要:今晚BC的一道题,用JAVA写的,但正解并不是这个这里主要是拿了一个读入优化的模板,存一下,或许以后能用到呢。 还没有进行太多的测试,以后有机会再测吧。这是这个题。 1 import java.io.*; 2 import java.util.*; 3 import java.math.*; 4 ...
阅读全文
摘要:这个是BZOJ1005的简化版因为不会爆long long所以不需要高精度了,但是如果直接计算,中间过程会爆long long一个很好的方法就是分解质因数了,最后算完,把所有因子都乘起来 1 /*****************************************************...
阅读全文
摘要:用到的一个东西叫做树的prufer编码,百度百科的就挺好,很好懂然后就是组合数了,分成确定度和自由度两类进行计算,具体不说了。需要特判无解的情况,大概就是n为1的时候,度不为0。或者n>1的时候度有小于1的或者确定的度大于n-2。需要高精度,偷懒直接用JAVA写了。 1 import java.io...
阅读全文
摘要:记录下模板。刚学了一下,看了别人的一份模板,自己打了一下,以后就用这个吧 1 #include 2 #include 3 char s[1000005],ss[10005]; 4 int next[10005],ans; 5 void getNext(int len){ 6 int i ...
阅读全文
摘要:SPLAY题 4个操作I 加入一个人,直接插就好了,////!!!!如果新来的人工资小于工资下界,那么他就会立刻离开,这个人是不加到最后离开公司人总数的,就是这里错了,一直找不到A add 懒标记,在那些往下推的过程中pushdown一下,///这些过程例如说是,getk,Find,Ins等S 这个...
阅读全文
摘要:SPLAY 翻转,删除段,添加段操作 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 300005; 6 int fa[maxn],son[2][maxn],val[maxn],s...
阅读全文
摘要:水题用set和splay都写了一下set版 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int maxn = 300005; 7 struct node 8 { 9 int va...
阅读全文
摘要:就SPLAY翻转操作呢 还是第一次写纯手打。 1 /************************************************************** 2 Problem: 3223 3 User: round_0 4 Language: C...
阅读全文
摘要:从6点调到了现在22:19:07。。脑子晕倒死。用splay做,一开始怎么想也不知道该怎么play。想了个办法,用pos[i]表示编号为i的书在树上的节点编号s[i]表示树上的节点i代表的是哪本书。val[i]表示节点i的权值,这里的权值按照书从上到下的大小顺序来赋值,用来建树TOP:先把树里面代表...
阅读全文
摘要:题目描述有问题,应该对于是每个纸条上的数,有多少个别的纸条上的数是他的约数。筛法。记录下每个数出现的次数,然后这个数推后面是他倍数的数。。 1 #include 2 #define max(a,b) a>b?a:b 3 const int maxn = 1000005; 4 5 int cnt[...
阅读全文
摘要:水题,但是有东西,一开始一直以为是先二进制算一下,剩下的如果是2的次幂就拆成1+某个数实在是错到不行,看了别人的才发现原来最后多出来一个钱袋是没必要的。。。。对于n,只要求出第一个2^k>=n 就是答案,9是一个很好的例子,9可以拆成1,2,3,5Ps:这题还特意玩了一下,最短把代码缩到了100B实...
阅读全文
摘要:普通的splay,熟悉板 1 /************************************************************** 2 Problem: 1208 3 User: round_0 4 Language: C++ 5 ...
阅读全文
摘要:splay,各种初级操作。一个麻烦的地方就是可以有重复数字,可以用想办法标记下来,如果用数组的话需要开的空间太大,可以用map标记,虽然慢了点。还是第一次写着个东西,有一个地方写了很多次每次都错,就是insert的时候,最后把刚加进来的节点伸展到根节点,应该是spaly(tot,0);每次都写成sp...
阅读全文
摘要:裸splay,最近刚学了一下。下面是一篇关于学splay的很不错的文章http://wenku.baidu.com/view/a202e27931b765ce05081416.html现在只看到了插入操作。到目前为止发现了这篇文章两个错误的地方第一个是在splay函数里的22行,应该是左旋第二个是在...
阅读全文
摘要:先统计出在b后面位置为i时,大于b和小于b的数字个数之差,然后枚举b前面的数字,在b后面找对应的方案数有多少,做一系列的加法就好 1 #include 2 #include 3 using namespace std; 4 typedef long long LL; 5 int a[100005...
阅读全文
摘要:只是一简单的减法。。ans = 总的方案数-不会发生越狱的方案数一开始正着推,,,写了一灰常复杂的式子,都开始想怎么写矩阵快速幂了T^T 1 #include 2 using namespace std; 3 typedef long long LL; 4 const LL mod = 10000...
阅读全文
摘要:有两种方法第一种,用set。开两个set,第一个开multiset保存MIN_GAP的值,并逐步更新。第二个开set保存数列的值,并一步步更新MIN_SORT_GAP。其实第二个开multiset好像更好写一点? 1 #include 2 #include 3 #include 4 #incl...
阅读全文
摘要:暂时不知道别的,直接上了线段树 1 #include 2 #include 3 #include 4 using namespace std; 5 #define lson l,m,rt>1;18 if(pos>1,ans = -1;25 if(L<=m)ans = max(a...
阅读全文
摘要:可以找规律,题目大概的意思就是求给定的图的不同的生成树的个数可以求出n为1到10时的答案1 5 16 45 121 320 841 2205 5776 15125规律是设odd[]为奇数项的平方根那么odd[i] = odd[i-1]*3-odd[i-2];(i>=3)偶数项每个除以5也可以得到上面...
阅读全文
摘要:递推+容斥原理这个题做的晕的不行,实在是糟,等回头什么时候在做一次吧。。。 1 #include 2 #include 3 using namespace std; 4 int c[5],d[5]; 5 long long f[100005]; 6 int main() 7 { 8 fo...
阅读全文
摘要:题目意思是给出一无向图,求这个图的最小生成树的个数。这里需要知道两个关于图的最小生成树的性质吧。1.一个图的最小生成树中的某一权值的边的个数是确定的。2.这些边的作用是确定的。简单的证明:最开始的时候初始化所有节点自己为一个集合,然后首先把最小的权值的边全都加入进去,这时候应该会出现环,我们去掉几条...
阅读全文
摘要:有一定的结论需要知道、、、 1 #include 2 #include 3 #include 4 using namespace std; 5 typedef long long LL; 6 LL ans,ans1,n,prime[8] = {2,3,5,7,11,13,17,19}; 7 v...
阅读全文
摘要:带权并查集水题,头一次写这东西,纯手写。。因为n很小,所以还不用路径压缩(其实是不会除了记录父亲节点外,还记录下距离父亲节点的距离,每次查找祖先并且求出这段距离和。 1 #include 2 #include 3 #include 4 using namespace std; 5 const ...
阅读全文