自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

藏经阁 | 玄苦

技术博客: https://chenguolin.github.io/

  • 博客(82)
  • 资源 (2)
  • 收藏
  • 关注

原创 【ICPC-255】poj 3735 Training little cats

点击打开poj 3735思路: 矩阵快速幂分析:1 题目给定n只猫,每只猫的初始的花生的数量为0。现在有三种操作,g i 第i只猫加一个花生,e i 把第i只猫的所有花生全部吃完 s i j 把第i 和 j只猫的花生数进行交换2 根据上面的三种操作那么我们能够举例n = 3的时候的三种操作。 对于g 1,我们把第一行的最后一位加1,这里增加了一列目的是为了能够求出和,因为初...

2013-08-31 17:14:03 1821

原创 【ICPC-254】poj 3150 Cellular Automaton

点击打开poj 3150思路: 矩阵快速幂分析:1 题目给定n个数每个数在0~m-1之内,题目规定两个数之间的距离为min(|i-j| , n-|i-j|)。现在给定d和k,表示做k次的变换,每一次变换过后每个数变成了一个新的数。这个新的数等于和它距离小于等于d的所有数的和%m2 这题和之前做的两道题很像hdu2276 和 FZU1692,都是属于循环同构的问题 那么我们先...

2013-08-31 14:40:40 1611

原创 【ICPC-253】hdu 3658 How many words

点击打开hdu 3658思路: 递推+矩阵快速幂分析:1 题目的意思是在52个英文字母里面选择m个字母组成一个字符串,满足以下两个条件。第一是相邻的两个字符的ASCLL码的绝对值小于等于32,第二至少要有一对的字符的绝对值为322 那么不考虑第二个条件的时候,我们可以求出所有的符合的个数。假设f(n)(j)表示的是前n个字符最后一个字符为j,那么我们可以求出所有满足第一个条件的所有...

2013-08-31 10:42:25 1799

原创 【Linux-64】Linux扩展权限

1 默认权限 1 每一个终端都有一个umask权限来确定新建文件和新建文件夹的默认权限 2 umask使用数字权限来表示,比如022 3 目录的默认权限是777-umask,文件的默认权限是666-umask 4 普通用户的umask是0002,root用户的umask是022 5 那么新建文件的权限为666-000...

2013-08-30 19:55:14 1544

原创 【ICPC-252】hdu 2855 Fibonacci Check-up

点击打开hdu 2855思路: 递推+矩阵快速幂分析:1 题目的意思是给定n和m,要求 2 这一题有两种思路,对于这种的题肯定是有递推式的,那么找不到递推式的时候我们尝试去打表 下面我打出了前几十项,发现了n >= 2的时候有f(n) = 3*f(n-1)-f(n-2),那么我们可以利用矩阵快速幂求f(n) 3 另一种思路是考虑f(n) = f(n...

2013-08-30 18:44:07 1744

原创 【ICPC-251】uva 12470 Tribonacci

点击打开uva12470思路: 矩阵快速幂分析:1 裸题代码:/************************************************ * By: chenguolin * * Date: 2013-08-30 *...

2013-08-30 13:14:19 1622

原创 【ICPC-250】hdu 4291 A Short problem

点击打开hdu 4291思路: 循环节+矩阵快速幂分析:1 题目给定g(n) = 3*g(n-1)+g(n-2) , g(1) = 1 , g(0) = 0 , 要求g(g(g(n)))%10^9+72 最初的想法是从里面一层一层的求出g(n),每一次都利用矩阵快速幂。但是发现嵌套的时候只有最外层是%(10^9+7),但是里面两层如果%(10^9+7)的话答案是错的。 那么...

2013-08-30 12:09:08 1455

原创 【ICPC-249】FZU 1692 Key problem

点击打开FZU 1692思路: 构造矩阵+矩阵快速幂分析:1 题目的意思是有n个人构成一个圈,每个人初始的有ai个苹果,现在做m次的游戏,每一次游戏过后第i个人能够增加R*A(i+n-1)%n+L*A(i+1)%n 个苹果(题目有错),问m轮游戏过后每个人的苹果数2 根据题目的意思我们能够列出一轮过后每个人的苹果数 a0 = a0+R*an-1+L*a1 a1 = ...

2013-08-30 09:39:17 1774

原创 【Linux-63】 Linux权限

1 权限 1 权限是操作系统用来限制对资源的访问的机制,权限一般分为三种,读,写,执行。操作系统中每一个文件都有特定的权限,所属的用户和所属的组,通过的这样的机制来限制哪些用户,哪些组可以对特定的文件进行什么样的操作 2 每一个进程都是以某个用户的身份登录运行,所以进程的权限与该用户的权限一样,用户的权限大,该进程拥有的权限就大 3 文件权限...

2013-08-30 08:32:06 2751

原创 【ICPC-248】light oj 1132 Summing up Powers

点击打开light oj 1132思路: 构造矩阵+矩阵快速幂分析:1 题目给定n和k要求(1K + 2K + 3K+ ... + NK) % 2322 具体的思路见下图 3 对于求组合数,我们可以利用公式C(n , k+1) = C(n , k)*(n-k)/(k+1) ,那么我们可以先打表求出50之内的所有的组合数代码:/**********...

2013-08-29 19:01:33 2297

原创 【ICPC-247】uva 10870 Recurrences

点击打开uva 10870思路:构造矩阵+矩阵快速幂分析:1 题目给定f(n)的表达式 f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n -3) + ... + ad f(n - d)对于n > d的时候2 那么我们可以构造出矩阵 a1 a2 ... an f(n-1) f(n) 1 0 ...

2013-08-29 09:42:31 1733

原创 【ICPC-246】hdu 4565 So Easy!

点击打开hdu 4565思路: 递推+矩阵快速幂分析:1 这一题和hdu 2256 几乎就是一模一样的题目,只是这边要求的是向上取整 那么我们按照hdu2256的思路来做即可点击打开hdu 2256代码:/************************************************ * By: chenguolin ...

2013-08-28 18:53:42 1454

原创 【ICPC-245】poj 3233 Matrix Power Series

点击打开poj 3233思路: 二分求和+矩阵快速幂分析:1 题目给定一个n*n的矩阵A,要求(A+A^2+....A^K)%m后的矩阵2 对于任意的A^x,我们都能够利用矩阵快速幂求出,但是我们现在要求的是和。 仔细观察整个式子,那么我们可以对原式进行变形 如果k为偶数,那么(A+A^2+....A^K) = (A+...+A^K/2)+A^K/2*(A+...+...

2013-08-28 16:25:12 2046

原创 【ICPC-244】UESTC 1335 Fibonacci

点击打开UESTC 1335思路: 矩阵快速幂分析:1 最简单的矩阵快速幂代码:/************************************************ * By: chenguolin * * Date: 2013-08-28 ...

2013-08-28 13:25:49 1444

原创 【Linux-62】Linux用户基础

1 用户和组 1 当我们使用Linux的时候我们都需要以用户的身份登录,一个进程也需要用户的身份运行 2 我们使用用户的目的就是为了限制使用者或者进程哪些资源可以使用或者不可以使用 3 组的相关信息 1 每个用户拥有一个UserID,操作系统使用的实际上是UserID,而不是用户名 2 每一个用户属于一个主组,还可以...

2013-08-28 13:20:33 1586

原创 【ICPC-243】hdu 3306 Another kind of Fibonacci

点击打开hdu 3306思路: 矩阵快速幂分析:1 题目给定另外一种递推式,A(0) = 1 , A(1) = 1 , A(N) = X * A(N - 1) + Y * A(N - 2) (N >= 2).求 S(N) , S(N) = A(0)2 +A(1)2+……+A(n)22 那么我们通过这个式子就可以构造出以下的矩阵 代码:/*****...

2013-08-28 12:49:29 1446

原创 【ICPC-242】FZU 1683 纪念SlingShot

点击打开FZU1683思路: 矩阵快速幂分析:1 题目给定f(n) = 3*f(n-1)+2*f(n-2)+7*f(n-3) , f(0) = 1 , f(1) = 3 , f(2) = 5 ,给定n求f(0)+...+f(n) %20092 矩阵快速幂的水题,我们构造出这样的矩阵,然后利用矩阵快速幂即可 3 2 7 0 f(n-1) f(n) ...

2013-08-27 15:35:11 1814 1

原创 【Linux-29】 Linux文件系统挂载管理

1 挂载操作 1 磁盘或者分区需要创建好文件系统后,需要挂载到一个目录才能够使用 2 windows或者是Mac会自动的挂载文件系统,一旦创建好文件系统后会自动的挂载 3 对于Linux来说我们必须要手动的去挂载或者配置系统进行自动的挂载,比如 2 Mount命令来挂载文件系统 1 mount 要挂载的设备 挂载点...

2013-08-26 23:50:52 1498

原创 【ICPC-241】zoj 3690 Choosing number

点击打开zoj 3690思路: 递推+矩阵快速幂分析;1 题目的意思是有n个人和m个数和一个k,现在每个人可以选择一个数,但是要求如果相邻的两个人选择相同的数,那么这个数要大于k2 假设F(n)表示前n个人第n个人选择的数大于k的个数,G(n)表示的是前n个人第n个人选择的数小于等于k的个数 那么F(n) = F(n-1)*(m-k)+G(n-1)*(m-k) , G(n)...

2013-08-26 19:11:26 1554

原创 【ICPC-240】hdu 4686 Arc of Dream

点击打开hdu 4686思路: 矩阵快速幂分析:1 题目给定一个式子求和,那么根据题目给定的,我们可以求出an*bn = (an-1*Ax+Ay)*(bn-1*Bx+By) => an-1*bn-1*Ax*Bx+an-1*Ax*By+bn-1*Ay*Bx+Ay*By2 那么我们根据上面的等式可以推出矩阵的乘法 3 那么我们要求的是AoD(n)相当于求左边矩阵的n次...

2013-08-26 15:04:36 1996

原创 【Linux-28】文件系统

1 文件系统 1 操作系统通过文件系统来管理文件及数据,磁盘或分区需要创建文件系统之后才能为操作系统使用,创建文件系统的过程称为格式化 2 没有文件系统的设备称为裸设备 3 常见的文件系统有fat32 , NFTS , ext2 , ext3 , xfs , HFS等 4 windows下的主流的文件系统是NTFS,Linux下的主流文件系统为ext...

2013-08-26 11:30:49 1410

原创 【ICPC-236】hdu 2276 Kiki & Little Kiki 2

点击打开hdu 2276思路: 矩阵快速幂分析:1 题目给定一个01字符串然后进行m次的变换,变换的规则是:如果当前位置i的左边是1(题目说了是个圆,下标为0的左边是n-1),那么i就要改变状态0->1 , 1->0 比如当前的状态为100101那么一秒过后的状态为0101112 假设0/1串的长度为n,保存在a数组,下标从0开始 根据上面的规则我们发现...

2013-08-25 20:35:53 1916

原创 【ICPC-233】hdu 2254 奥运

点击打开hdu 2254思路: 矩阵乘法分析:1 题目给定一个有向图,要求t1-t2天内v1-v2的路径的个数2 假设有向图的邻接矩阵为A,那么A表示的是有向图中走一步能够到达哪些点的方案数,那么A^n表示的是走n步能够到达哪些点的方案数3 根据离散数学里面的可达矩阵的性质,我们知道一个有向图的邻接矩阵的前n次幂的和即为可达矩阵,那么要求[t1-t2]之内的路径的条数,因为题目...

2013-08-25 14:01:01 1885

原创 【ICPC-232】hdu 2842 Chinese Rings

点击打开hdu2842思路: 矩阵快速幂分析:1 题目的意思是给定n个环,和一些规则要把所有的环全部拆下最少需要的步数2 题目规定如果要拆第n个环,那么第n-1个要挂着,n-2环要被拆下。那么我们设f(n)表示拆下前n个环的最少的步骤 那么考虑第n个环的情况,第n-1个环必须要挂着,n-2环要拆下,那么这一步就要f(n-2),拆下第n个需要1步。然后只剩下第n-1个环,由于...

2013-08-24 19:27:35 2188

原创 【ICPC-235】hdu 3117 Fibonacci Numbers

点击打开hdu 3117思路: 矩阵快速幂分析:1 题目要求的是求F(n)中如果位数的个数大于8那么要输出前4四位和后四位,没有到8位的时候直接输出2 根据题目的样例我们可以知道当n = 40的时候就超过8位了,所以我们可以知道n <= 39的时候直接去求F(n),超过40的时候我们就要去求前4位和后四位3 我们利用矩阵快速幂可以很快的求出后四位,但是前面四位就很困难了...

2013-08-24 13:31:59 1503

原创 【Linux-27】使用fdisk进行磁盘管理

1 FDISK分区工具 1 fsidk是来自IBM的分区工具,支持绝大多数的操作系统,几乎所有的Linux都装有fdisk 2 fdisk是一个支持MBR的分区工具,如果要使用GPT的话我们无法使用fdisk进行分区 3 fidsk是只有具有超级用户的命令才能使用,比如su 或者sudo 4 使用fdisk -l能够列出所有安装的磁盘...

2013-08-24 08:42:31 1984

原创 【ICPC-234】codeforces 185A Plant

点击打开cf 185A思路: 递推+矩阵快速幂分析:1 题目要求找到在n年后向上三角形的个数2 写出前面的几个数F(0) = 1 , F(1) = 3 , F(2) = 10 , F(3) = 36 , F(4) = 136 通过前面几项我们可以找到通项公式F[n] = 4*F[n-1]-2^(n-1) 那么我们通过够找矩阵 | 4 -1 | * |...

2013-08-23 21:09:54 2087

原创 【ICPC-239】hdu 2604 Queuing

点击打开hdu 2604思路: 递推+矩阵快速幂分析;1 根据题目的意思,我们可以求出F[0] = 0 , F[1] = 2 , F[2] = 4 , F[3] = 6 , F[4] = 9 , F[5] = 152 那么根据上面前5项我们可以求出n >= 5的时候 F[n] = F[n-1]+F[n-3]+F[n-4] 那么我们就可以构造出矩阵 | 1 ...

2013-08-23 16:30:11 2072

原创 【ICPC-238】hdu 2256 Problem of Precision

点击打开hdu 2256思路: 矩阵快速幂分析:1 题目要求的是(sqrt(2)+sqrt(3))^2n %1024向下取整的值 3 这里很多人会直接认为结果等于(an+bn*sqrt(6))%1024,但是这种结果是错的,因为这边涉及到了double,必然会有误差,所以根double有关的取模都是错误的思路代码:/**************...

2013-08-23 12:54:42 2532 1

原创 【Linux-26】磁盘基本概念

1 磁盘的基本概念 1 Track(轨道), Cylinder(柱面), Sector(扇区), Head(磁头) 2 磁盘在Linux系统中的表示 1 Linux所有设备都被抽象成文件保存在 /dev目录下 2 设备的名称一般为hd[a-z]或者sd[a-z],[a-z]为分区号,比如h...

2013-08-22 20:58:40 1815

原创 【ICPC-424】hdu 2688 Rotate

点击打开hdu 2688思路: 树状数组分析:1 题目给定n个数求满足 i < j并且 F[i] < F[j]的个数2 首先我们可以利用树状数组求出起始序列满足条件的个数sum。那么我们考虑如何把区间[s , e]进行交换,通过题目我们可以知道每一次的交换只是把区间的第一个数换到区间的最后一个位置,那么我们可以考虑假设区间第一个数为x ,区间里比x小的为min,比x大的...

2013-08-22 09:27:10 1841

原创 【ICPC-423】hdu 2838 Cow Sorting

点击打开hdu 2838思路: 树状数组分析:1 题目和求逆序数那题很像,裸题代码:/************************************************ * By: chenguolin * * Date: 2013-08-21 ...

2013-08-21 18:51:47 1539

原创 【ICPC-422】hdu 3584 Cube

点击打开hdu 3584思路: 三维树状数组分析:1 点击打开查看论文 建议先看看这篇论文,然后就懂了,裸的三维树状数组代码:/************************************************ * By: chenguolin * * Date: 2013-08...

2013-08-21 16:21:48 1424

原创 【ICPC-421】hdu 2642 Stars

点击打开hdu 2642思路: 二维树状数组分析: 裸题代码:/************************************************ * By: chenguolin * * Date: 2013-08-21 * * ...

2013-08-21 15:06:24 1753

原创 【ICPC-420】hdu 1892 See you~

点击打开hdu 1892思路: 二维树状数组分析:1 题目给定4种操作: S x1 y1 x2 y2 询问以(x1 , y1) - (x2 , y2)为对角线的矩形的面积,但是这个对角线不一定是正对角线。A x1 y1 n 把点(x1 , y1)加上n。D x1 y1 n点(x1 , y1)减去n如果不足n就全部删除即可。M x1 y1 x2 y2 n 把点(x1 , y1)点值中扣...

2013-08-21 14:05:30 1818

原创 【Linux-53】Linux系统常用命令

1 日期时间 1 通过date查看当前系统的时间 date 2 格式化显示时间 date +%Y--%m--%d,中间的连接符号可以是任意的 3 设置系统的时间 sudo date -s "xx:yy::zz" 4 查看日历 5 ...

2013-08-21 09:45:01 3282 2

原创 【ICPC-419】hdu 1556 Color the ball

点击打开hdu 1556思路; 树状数组分析:1 简单的区间更新,单点查询问题代码:/************************************************ By: chenguolin * * Date: 2013-08-20 ...

2013-08-20 11:25:00 1409

原创 【ICPC-418】hdu 2852 KiKi's K-Number

点击打开hdu 2852思路: 树状数组分析:1 题目给定三种操作: 0 x 表示把x插入容器 ; 1 x 表示删除一个x如果没有x则输出 No Elment! ; 2 a k 表示比a大的数中的第k大的数 如果没有输出No Find!2 我们先来看一下树状数组的功能,树状数组能够在在logN的时间内求出某段区间的和,那么对于2 a k这种操作我们可以看成是求是否有x满足[a,x]...

2013-08-20 08:49:52 1634

原创 【ICPC-417】SPOJ 227 Ordering the Soldiers

点击打开SPOJ227思路: 树状数组分析:1 给定一个n个数的序列假设为b数组,那么b[i]表示的是i之前比第i个数大的个数,比如样例的2 1 3对应的b数组是0 1 0,现在要求a数组,已知a数组的值是1~n2 我们通过b数组可以知道a数组的情况,因为前面的数会影响后面的数,那么我们从后面枚举b数组,这样我们可以知道对于第i个数i-b[i]就是剩下的i个数中的第几大的...

2013-08-19 19:36:07 1625

原创 【ICPC-416】hdu 3015 Disharmony Trees

点击打开hdu 3015思路: 树状数组分析:1 题目给定n棵树的横坐标和高度,然后给定横坐标排序后的rank_f已及树的高度排序后的rank_s,规定两颗树的FAR为abs(rank_f[i] , rank_f[j]) , SHORT为min(rank_s[i] . rank[_sj]),那么i和j的组合的值为FAR*SHORT,求所有组合方式的总和2 我们按照树的高度从大到小排...

2013-08-19 14:45:20 1582

STL_详细解释

STL_详细解释 , 有利于大家对STL的更深层次的认识

2012-08-05

uva 50个题解

有uva刘汝佳文件夹的50道题解,从数据结构开始,以后慢慢上传

2012-07-22

空空如也

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

TA关注的人

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