自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 acm二进制运算技巧

运算方法有六种:& 与运算 | 或运算 ^ 异或运算 ~ 非运算(求补) >> 右移运算  运用这些基本的运算,我们可以解决acm所需的各种运算,给Bit赋1,赋0,给他的值取反,还有好多段操作。如下: 功能 | 示例 | 位运算----------------------+----------------------

2017-08-11 20:24:41 463

原创 (矩阵快速幂)fzu1911 Construct a Matrix

考察很简单的矩阵快速幂应用,但是很有新意的一道题。题目链接:传送门——fzu1911 Construct a Matrix题意:给出n和m,f[i]为斐波那契数列,s[i]为斐波那契数列前i项的和。r = s[n] % m。构造一个r * r的矩阵,只能使用-1、0、1。使得矩阵的每行每列的和都不相同,输出方案,不行的话输出No。首先S(n)很容易求出来,∑Fi = F(i+2)

2017-08-10 23:00:44 289

原创 (矩阵快速幂)hdu4686 Arc of Dream

(写了三天博客之后,终于学会了插入链接~hhhhhh)题目链接如下:传送门——hdu4686 Arc of Dream(也学会了复制题目!23333)题目描述:(居然是watashi大佬出的题,赶紧膜一发....)Problem DescriptionAn Arc of Dream is a curve defined by following function:

2017-08-10 21:43:12 231

原创 (矩阵快速幂)hdu1575 Tr A

最简单的一道矩阵快速幂入门题,题意是求一个A矩阵的k次幂的迹(即主对角线的和)%9973的值,看懂模板了秒过——WA了无数次,一个多小时后,我对自己说道。ac代码如下:#includeusing namespace std;typedef long long ll;const int mod = 9973;const int maxn = 10;int cas, n, k;

2017-08-09 22:03:43 302

原创 (矩阵快速幂)hdu2157 How many ways??

题意大概是给出一个图的邻接矩阵,求出从a点走到b点长度恰好为k的路的条数。很基础的离散数学知识,这种路的条数即是邻接矩阵乘k次幂后对应位置a[i][j]的值,只不过数据范围较大,需要用矩阵快速幂来实现。其实是套模板稍加修改就可以过的一道题,但因为刚接触,天生愚钝,WA了无数次调了一个多小时才勉强ac,伤不起......#includeusing namespace std;typedef

2017-08-09 21:58:39 219 2

原创 (矩阵快速幂)hdu5950 Recursive sequence

今天的专题是矩阵快速幂,其实就是把快速幂算法应用到矩阵中去,把普通的乘法重载成矩阵相乘,从而解决一些实际问题。基本操作如下:快速幂取模:应用的是取模运算对乘法的可结合性,以及二进制的原理——一个数可以被拆分成若干个2的幂相加之和。具体代码如下:int qpow(int a, int b, int p) { int res = 1; while(b) {//循环到b为0时,所

2017-08-09 21:37:06 259 2

原创 (树状数组)hdu1556 Color the ball(区间更新,单点查询)

树状数组最基本的应用是单点更新,区间和查询,但本题略有不同,本题是区间更新,单点查询。我建立树状数组时用的是向上更新,向下求和,因此,只需在输入时将a到n这一区间都+1,再将b+1到n这一区间都-1即可完成数组的维护。最后输出每点对应的sum值即为被染色的次数。具体代码如下:#includetypedef long long ll;const int maxn = 100010;in

2017-08-09 10:53:28 291

转载 搞懂线段树

引用请注明出处:http://blog.csdn.net/int64ago/article/details/7506179前段时间写了篇“搞懂树状数组”,如果说树状数组是优雅的,那么线段树就是万能的。有句话就叫:树状数组能做的线段树都能做,但是树状数组能做的坚决用树状数组!因为线段树本来的内容狠丰富的,主要有单点跟新、区间跟新,最值询问、区间询问…………反正就是对于区间进行的动

2017-08-07 20:41:05 269 2

原创 (树状数组)hdu1166 敌兵布阵

今天学习了树状数组,看了能解决的问题之后觉得跟线段树非常像,不过后来了解到线段树的用途其实很广泛,如单点更新、区间更新、区间查询、最值查询等问题,都能够高效的解决。而树状数组则是一种空间占用率很低、且算法效率高(O(logn))的一种数据结构。并且,代码很简洁,只用短短几行代码便完成了所有的操作。首先是lowbit操作——树状数组的核心。这个操作的作用是把一个二进制数变为只保留最低位的1后形成

2017-08-07 20:40:02 312

转载 搞懂树状数组

引用请注明出处:http://blog.csdn.net/int64ago/article/details/7429868      写下这个标题,其实心里还是没底的,与其说是写博帖,不如说是做总结。第一个接触树状数组还是两年前,用什么语言来形容当时的感觉呢?……太神奇了!真的,无法表达出那种感觉,她是那么的优雅,10行不到的代码,却把事情干的如此出色!没有了解她原理的前提下即使把代码倒背

2017-08-07 17:24:02 174

原创 (线段树)POJ2828 Buy Tickets

一道并不是太难的线段树练习题。题意大概是将一些数字插入一个序列中,每当插到一个位置之后,会把当前以及后面的数字都往后移一格,最后输出他们的顺序。由于每次插入都会影响到其他数字的位置,因此越靠后的插入,自身的位置越不容易被影响——而最后一个数插到哪,最终位置就是哪。因此最好的办法就是从后往前推。假设一共有n个人,对于倒数第i个人而言,如果他要插在第k个位置上,那么只需要从前往后数到第k个空位

2017-08-06 21:52:58 290

空空如也

空空如也

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

TA关注的人

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