自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

山外小楼夜听雨

老年选手瑟瑟发抖_(:з」∠)_

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 [BZOJ 2875 & Vijos 1725] NOI 2012 随机数生成器 · 矩阵乘法+快速乘法

矩阵乘法+快速乘法 话说这种NOIP的题能出现在NOI里吓谁呢。。。 x0=x x1=a*x0+c=a*x+c x2=a*x1+c=a^2*x+a*c+c x3=a*x2+c=a^3*x+a^2*c+a*c+c 依次类推可以得到:xn=a^n*x+a^(n-1)*c+a^(n-2)*c+.....+a*c+c 一开始笔者自己写了个矩阵结果挂掉了。。。然后看了一下CCF的题解觉得这个矩

2015-03-27 13:08:09 1007

原创 [Vijos 1603] 迷宫 · 矩阵乘法

矩阵乘法 本来准备按顺序把VJ上矩乘的题按顺序A掉的,结果一看到这题顿时就感觉应该先做这题再做Domino那题的。。。 对于一开始的矩阵G,G[i][j]=1表示i到j可以走,同时也表示从i走一步到j的方案数=1;如果G变成G*G,G[i][j]就表示从i走两步到j的方案数;依次类推。那么要求从s到f走m步的方案数,我们只需要将一开始的矩阵自乘m次,G[i][j]就是所求的结果。 #incl

2015-03-26 22:42:02 686

原创 [Vijos 1194] Domino · 矩阵乘法 (附运算符优先级表)

对新手来说也算是很好的一条矩阵乘法题。 基础应该是状压DP,但是n<10^9,所以要用矩阵快速幂来加速。

2015-03-26 12:32:03 1008

原创 [Vijos 1067] Warcraft III 守望者的烦恼 · 矩阵乘法

矩阵乘法。 首先,0~k-1这一段的方案要预处理出来(别问我为什么)。 之后用DP做的话递推式很简单: ,但是N 那么我们对于这个递推式,我们很容易可以建立一个k*k的矩阵: f[i+1][i]=1(i=1~k-1),f[1..k][k]=1,例如k=4时: Matrix= 这时我们用一开始预处理的[f0 f1 f2 .. fk-2 fk-1]*Matrix,得到的是[f1 f2 f

2015-03-22 21:23:38 918

原创 [Vijos 1049] 送给圣诞夜的礼品 · 矩阵乘法

置换是循环往复的,并且我们可以发现虽然K很大,但是m#include #include #include #include using namespace std; const int maxn=105; struct matrix{ int n,m,num[maxn][maxn]; void init(int i,int j){ n=i;m=j; memset(num,0,

2015-03-22 09:36:41 723

原创 [POJ 3070] Fibonacci · 矩阵乘法

搞了几年OI从来没见过这么裸的模板题……虽然说矩阵很好推,但是题目都仁慈地把模板给你了……那就拿这题练手了 那剩下来的还能有什么呢?不就是个模板吗,还是个弱化版的……ans表示最后结果的矩阵,unit表示单位矩阵,矩乘一般是用结构体的方式定义(详见struct matrix部分代码)#include #include #include #include using namespace s

2015-03-21 06:41:53 479

原创 树状数组初探

这两天笔者学习了一下树状数组,感觉真的是非常神奇的数据结构。(ORZ发明者) 如果我们要求带修改的序列区间和,可以直接用数组或者用前缀和做,但是数组求和是O(N),前缀和修改是O(N),两者的劣势也非常明显了,这时——树状数组出现了,这可以形象地比喻为连接数组和前缀和的桥梁:树状数组修改和求和操作都是O(logN)级别的。

2015-03-18 15:25:55 450

原创 [NOIP 2012] 同余方程 · 拓展欧几里得

初探拓展欧几里得

2015-03-14 16:29:15 1735

原创 [NOIP 2012] 借教室 · 线段树

水题,但是裸的线段树复杂度太高,要用带标记的线段树,第一次写这种题,也算来打个备忘。 没访问到一个结点就先传一下标记,然后每次修改某个点的标记时再传一下标记。 不过我各种常数优化都试过可怎么就第20个点还超15ms……(难不成是蒟蒻光环专属特效?) #include #include #include using namespace std; #define read freopen(

2015-03-14 16:23:59 1773 2

原创 [Vijos 1279] Leave-绿光 · 模拟

一开始还有点看不懂题目,后来发现实在是太水了,最优解一定是优先切大的正方形(别问我为什么,自己在草稿纸上画画),那么接下来怎么做应该无需多言了。   毕竟大天朝有句古话说得好:简单题总是做得太仓促……    记得开long long…… #include using namespace std; long long a,b,ans,r; int main(){ for (int i

2015-03-13 21:45:25 653

原创 [BZOJ 1008] HNOI 2008 越狱 · 快速幂

刚开始做这道题的时候,笔者朝着类似全排列的方向思考,想直接求出答案,发现通项会很繁琐,然后再反过来思考一下,即越狱方案数=总方案数-未越狱方案数,突然就发现这题是如此之水……如果你做这题的时候感觉有点困难,不要灰心,答案公式是很容易推出来的,如果实在还是不会的话题解在代码中。 /* 当直接推通项很繁琐的时候,试着换一种思路。 总共有N个人,每个人有M种可能,所以总方案数=M^N

2015-03-12 22:31:10 626

原创 欧拉函数

欧拉函数今天蒟蒻的笔者学习了一下高大上的欧拉函数,写个博客打个备忘防止以后脑子一抽又不会了-_-|| 如果有什么写的不对的地方欢迎指出~ 欧拉函数phi(x)等于在[1,x]区间内和x互质的数有多少个,设p1,p2,…..,pn是x的所有不重合的质因数,那么phi(x)=x(1-1/p1)(1-1/p2)…..(1-1/pn),并且欧拉函数是个积性函数,即若满足p与q互质,则phi(pq)=ph

2015-03-12 10:24:53 756

原创 [BZOJ 2818] gcd · 欧拉函数

欧拉函数。 随意感受一下,大概就是要你求这个东西: 但是N    其中K是从[1,N]的素数。 再稍微观察一下就又发现,其实这个公式后面半部分就是phi(i),那么公式就进一步简化为: 求phi(i)可以用筛法O(N)预处理,后面枚举部分是O(K*(N/K))即O(N),所以总复杂度就是O(N),对于题中N#include #include #include #incl

2015-03-11 23:14:43 732

转载 公式编辑器

打个备忘。 本文转载自:http://blog.csdn.net/gateway6143/article/details/23134225 CSDN博客编辑框中没有自带的公式编辑器,之前我都是在word中用mathtype编辑好,然后截图,再上传图片.... 非常的麻烦,并且整个博文的排版会很难看。 只需要记住一个网址:http://www.codecogs.com/lat

2015-03-11 23:01:41 609

原创 [BZOJ 1854] SCOI 2010 游戏 · 二分图匹配

二分图匹配。   左边的点表示属性,右边的点表示武器编号,每次读入将武器和对应属性之间连边,然后从1-10000枚举属性值,如果某个属性值没有匹配到武器那么就退出循环,输出上一个属性值。为了防止第10000属性也可以满足,要枚举到10001。另外笔者蒟蒻……第一遍交跑出个TLE,然后重新看了一下匈牙利发现,对于每个点记录一下上一次访问的位置(把vis数组从bool类型改成了int类型),这

2015-03-10 21:26:46 463

原创 [BZOJ 1072] SCOI 2007 排列perm · 动态规划

状压DP 读入一个大数再取模和一位一位读取模效果是一样的,今年NOIP Day2T3就用到这个,当时笔者太蒟蒻了还不知道有这么神奇的东西……例如读入125再对7模,和(((1%7)*10+2)%7*10+5)%7得到的值是一样的。 知道这个以后这题就很水啦~一开始读入的数字串为n,i对应的二进制数表示n里面我们取了哪几位,j表示这些位组合的值mod D以后的余数,f[i][j]就表示在这种状态

2015-03-07 19:14:51 470

原创 [BZOJ 1293] SCOI 2009 生日礼物 · 单调队列

单调队列。 初始按照位置顺序将n个珠子排序,然后维护一个单调队列:每次删除第Left号珠子,如果发现当前串中该颜色的珠子数为0,就将Right往后更新直到找到一个颜色与Left号珠子相同,查找过程中如果Right>N则直接退出。需要注意的是,一个位置上可能有多个珠子,每次删除要将这个位置上的珠子全部删去。 #include #include #include using namesp

2015-03-05 21:37:07 515

原创 [BZOJ 1012] JSOI 2008 最大数maxnumber · 线段树

做法很多,单调队列、单调栈、平衡树什么的都能做,不过还是线段树看了比较直观一点。 一开始为一颗空树,tot为当前已经插入的节点数,对于每个Q操作就是log的插入,每个A操作就是从[tot-k+1,tot]区间里找最大值,总复杂度O(NlogN). #include #include #include using namespace std; #define ll long long c

2015-03-05 10:01:22 534

NOI2015试题

day1和day2的都在里面

2015-07-20

空空如也

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

TA关注的人

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