自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 hdu-4605 Magic Ball Game[离散化+回溯+树状数组]

题目大意很简单。有一颗树(10^5结点),所有结点要么没有子结点,要么有两个子结点。然后每个结点都有一个重量值,根结点是1然后有一个球,从结点1开始往子孙结点走。每碰到一个结点,有三种情况如果此球重量等于该结点重量,球就停下了如果此球重量小于该结点重量,则分别往左右儿子走的可能都是1/2如果此球重量大于该结点重量,则走向左儿子的概率是1/8,右儿

2016-04-29 21:51:42 357

原创 nyoj-471 好多的树[容斥定理]

简单直接的,假如一个之间能约分说明被挡住了。需要知道:1、2、。。。。n之间能被m整除的个数位n/m.#include #include #include #include using namespace std;#define MAX_SIZE 110000#define ll_int long long intbool notPrime[MAX_SIZE];in

2016-04-29 19:22:49 461

原创 poj-2104 K-th Number[主席树/函数式线段树/可持久化线段树]

膜拜大神:点击打开链接点击打开链接【题目描述】有n个数字排成一列,有m个询问,格式为:left right k .即问在区间[left,right]第k大的数据为多少?纯属个人理解,有不正确的地方欢迎留言指正:先来设想下如何解决这个问题。把数字在数组中的位置i作为定义域,数字的值v[i]作为值域。假如对于 [left,right]的数我们能知道它们的值域在不同区

2016-04-29 09:44:44 615

原创 hdu-1512 Monkey King [并查集+左偏树]

左偏树学习:点击打开链接题意:有N只猴子, 每只都有一个力量值. 开始的时候互不认识, 它们之间会发生M次斗争. 每次发生a, b的斗争时,a, b都会从各自的朋友圈里拉出一个最强的, 之后两只猴子打, 打完后这两只猴子的力量值各减半. 并且打完后,两只猴子的朋友圈的所有人都互相认识(也就是不会再打).你的任务就是对于每个斗争, 若a, b是朋友, 那么输出-1, 否则输出打完后它们的朋友

2016-04-28 11:00:46 621

原创 hdu-3943[数位dp(记忆化搜索)+二分]

求出区间 (P,Q] 中找到第K个满足条件的数,条件是该数包含X个4和Y个7学习大神的模板后做的之前用递推式感觉要考虑的东西比较多,记忆化搜索就相对简化编程复杂度了链接:模板数位dp是取得每个数它v,0~v之间满足 有(x个4,y个7)条件的数的个数,那么可以知道随着v增大,满足(x个4,y个7)条件的数的个数是增大的。有了这个单调性的条件就可以用二分来查找第k个数的位置。#i

2016-04-26 19:05:35 364

原创 fzu-2113 Jason的特殊爱好[数位dp]

先进行预处理s[pos][val]s[3][5]表示 0~500的1的个数所以s[3][5]+=s[3][4](0~400); s[i][j]+=s[i][j-1];s[3][5]+=s[2][9]+ss[1][9](0~99);for(int k=i-1;k>=1;--k)s[i][j]+=s[k][9];特殊的当 j==1时,s[i][j]+=1;当j==2

2016-04-21 12:18:37 496

原创 hdu-4686 Jzzhu and Sequences 【矩阵快速幂】

其中a0 = A0ai = ai-1*AX+AYb0 = B0bi = bi-1*BX+BY最后的结果mod 1,000,000,007nai*bI=Ax*Bx*ai-1*bi-1+Ax*By*ai-1+AyBxbi-1+AyBy递推式可以构造由矩阵快速幂快速求取。我理解的递推式构造矩阵的形式可以先这样想(说错了板砖轻拍):A*[每个递推式的递推项 ]=[每个递

2016-04-19 17:01:25 322

原创 hdu-4549 M斐波那契数列【矩阵快速幂】

找规律写出f(2),f(3),f(4),f(5) .........可以发先 a b的系数是一系列的fib数列   如果可以求出fib数列 求快速幂就可以了    这样问题就在于如何求fib数列了                          1     1【f[n-1],f[n-2]】 *  1     0     =  【f[n],f[n-1]】 当gcd(A,M)

2016-04-19 12:01:27 913

原创 hdu-3410 Passing the Message[单调队列]

求最左边的人,与最右边的人。最关键的地方就在于高个会把低个挡住。所以维持一个单调递减的单调队列。每个元素都要入队列,出队列就有如下考虑for(i ->n)(1)第i个元素比front大 ,说明队列中所有的人都会被挡住。清空队列(2)第i个元素front小,那他可能挡住队列中的某些人,从rear->front,”弹出“比第i个人矮的,直到遇见比他高的人。(3)队列为空

2016-04-14 18:10:03 443

原创 poj-1094 Sorting It All Out[拓扑排序]

感觉需要注意的细节有点多。(1)先判断是否有环  用used表示能拓扑的点 vis表示能搜索到的点假如两者总数不等说明有环。(2)再判断拓扑序是否唯一假如一次寻找0入度节点有多个即不唯一/*所谓不同值的递增排序的序列,是通过一个小于号的运算符,找出从最小的到最大的元素。例如,有一个有序的序列A,B,C,D。这就意味着,A<B,B<C,C<D。对于这一道问题,我们将为

2016-04-08 18:54:15 345

原创 poj-3580 SuperMemo[splay tree]

学了splay 后 撸的第一道题。是看了大神的教学,引用了大神的核心代码才会的:模板出处刚开始没注意:使用一个节点你需要把他的标记先下压。提供了好多次wa。/*题意:给一个数组,有6种操作:(1)add x y d : [x,y]中所有数加d----x-1---------y+1---[x,y]给y-1的左子树加上+d 标记(2)reverse x y:[x,y

2016-04-07 20:41:33 394

原创 poj-2828 Buy Tickets【线段树】

很经典的一道线段树问题,以前都没想到到线段树可以这样用。/*Description:春节将要到来了。小H希望回家过年。然后大家都知道火车是非常的难买,经常要排很长的队,但是小H为了买火车票拼了,不怕排队。但是小H到了火车站的时候天已经黑了,他感觉非常的冷。他想为什么不找个问题思考来遗忘寒冷呢。然后他就想到了自己排队这个问题。他想如果排队的每个人都有个固定的颜值,并且自己排队的时候经常有人

2016-04-01 12:14:22 379

空空如也

空空如也

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

TA关注的人

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