自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宝树啊宝树

非谢家之宝树

  • 博客(10)
  • 收藏
  • 关注

原创 MODULE

·4.7 伸展树(splay) 结构体: SplayTree 成员函数: void split(int &x,int &y,int a); //x 为分裂前的树根,a为分裂之后的前半部分部分大小 //输出 x,y 分别为两颗树的树根 时间复杂度:O(logN)O(logN) void join(int &x,int &y); //x,y为合并之

2016-11-29 23:01:57 395

原创 CodeForces 733D - Kostya the Sculptor

题目大意: 给定nn个长方体的长宽高,你可以选择一个,或者选择两个长方体拼成一个完整的长方体。 问你最后想要的长方体有最大的内接圆,问你如何选择?思路: 长方体的内接圆取决于它的最短边。 所以,每次必然是两个长方体的长边和次长边组成的面进行合并,然后组成的新的长方体的最短边就是这个长方体能得到的最大直径。用一个map<pair<ll,ll>,pair<ll>>map<pair<ll,ll>,pa

2016-11-29 16:47:34 541

原创 CodeForces 733C - Epidemic in Monstropolis

题目大意: 对于给定的一个序列AA,每个位置上的数字当 大于左边的数字或者右边的数字的时候,他能够将这个数字合并,并且结果为两个数字之和。再给定一个结果序列BB ,问是否能从AA变成BB,如果可以,输出方式,如果不可以,输出NONO思路: 首先AA 序列的某些连续子区间之和等于BB的对应元素。如果这样的划分不非法则代表无法分配。如果能够分配,我们需要找到这个区间的最大值,并判断这个最大值能否将左边右

2016-11-29 15:55:35 372

原创 CodeForces 733B - Parade

题目大意: 对于给定的两个序列 L[n],R[n]L[n] , R[n] ,你能够交换一次L[i],R[i] L[i],R[i] ,问,交换哪一位,或者不交换,能够使得|L−R| |L-R| 最大。首先能够知道 |L−R|=∣∣∣∑i=0nL[i]−∑i=0nR[i]∣∣∣|L-R|=\left|\sum_{i=0}^nL[i]-\sum_{i=0}^nR[i]\right| 那么问题就变

2016-11-28 21:21:33 857

原创 CodeForces 733A - Grasshopper And the String

题目大意: 对于给定的一个字符串序列,找到最大的两个元音字符之间的距离我们可以比较容易的得到公式f(x)={now=0,now+=1,s[i] is vowelss[i] is not a vowelsf(x)=\begin{cases} now=0 , & \text{s[i] is vowels} \\ now+=1, &\text{s[i] is not a vowels} \end{c

2016-11-28 20:41:50 452

原创 CodeForces 450D - Jzzhu and Cities (dij + heap )

题目链接:http://codeforces.com/problemset/problem/450/D 题目大意: 给定一个无向图,其中从起点1开始到其他的点 i 有路相连。同时从1开始还有特殊的边连向i。现在问,最多能删除多少条特殊的边,使得这个无向图从起点出发到其他任意点的最短路径不变。 思路: 比较显然的是这道题目不能用 O(n2)O(n^2) 的dij最短路来做,我们需要用一个优先队列来优化

2016-11-28 17:23:15 481

原创 POJ 2796 Feel Good (单调上升栈)

链接地址:http://poj.org/problem?id=2796题目大意:对于给定的一个数列,要求找到一个区间[l,r][l,r] 使得ans=sum[l,r]∗min[l,r]ans=sum[l,r]*min[l,r] 尽可能的大。观察范围可以发现,对于任意一个aia_i 我们能找到一个区间[l,r][l,r] ,使得aia_i 是这个区间上的最小值。那么现在问题就变成如何对于每一位的aia

2016-11-27 22:45:08 445

原创 HDU 2971 Tower (矩阵快速幂)

对于一个数列 求前n相的平方和 设 可得到 对于前n相和  可以发现重复项和 可得 根据得到的不变项可得 需要注意将负数加mod取模之后处理成正数 数据很大  连续取mod可能超时 #include #include #include #include #include #include #includ

2016-11-23 16:16:52 417

原创 Uva 10288 Coupons

对于n种不同的coupons,每次得到每种coupons的概率相同。为得到所有的coupons的期望 当已经得到了k种coupons时,得到另外一种的概率是  所以每一步的期望是 总的期望是 接下来只需要模拟分数计算即可 #include #include #include #include #include #include #include

2016-11-23 14:35:38 408

原创 HDU 5863 cjj's string game(矩阵快速幂)

对于给定的k个不同的字符,问对于用这k个字符构造出的长度为n的字符串,他们的对应位置子串长度最大值为m的数目是多少 对于dp[i][j]=dp[i-1][j-1]*k dp[i][0]=(dp[i-1][0]+dp[i[1]+...+dp[i][m])*(k-1)*k 这几两个公司可以用矩阵来优化 #include #include #include #include

2016-11-01 13:34:09 429

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除