自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一点一点的进步

  • 博客(16)
  • 资源 (4)
  • 收藏
  • 关注

原创 HDU 3641 Treasure Hunting

这道题貌似是10年杭州网络赛的题,乍一看挺唬人的,数据范围那么大。实际上就是个简单数论,看完题就想到解法了,只不过细节上要注意很多。下面是详细解法:a1^b1*a2^b2*a3^b3…*an^bn ,对于这个序列,我们把每个a都质因子分解,然后整个序列中质因子的种类和个数就都知道了,然后就要求X了,对于某个X的阶乘中含有的某个质因子的个数,这个有个很简单的结论,也很好理解,log(n)时间

2011-10-31 11:48:47 1103

原创 线段树几题 --------- 成段更新

线段树的成段更新,需要用到延迟标记就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候否则就会退化到O(n)的复杂度1.hdu 1698  Just a Hook大意是每次把某一段所有数的值改变成某个值,最后求总和。#include #include #include #include #include #include

2011-10-29 11:32:00 958

原创 Codeforces Beta Round #89 (Div. 2) C. Fancy Number

C. Fancy Numbertime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputA car number in Berland consists of exactly

2011-10-29 09:22:49 1311

原创 POJ 多重背包专题

POJ 1014  Dividing这道题用背包做有两种解法,一种是拆分法,另一种是很神的O(VN)的DP法。拆分法:#include #include #include #include #include #include #include #include #include #include #include #include #include #in

2011-10-26 21:11:20 1633

原创 2011 ACM/ICPC 北京赛区 J题 Gem and prince

这道题很暴力,各种搜索都能过关键是怎么搜。很重要的剪枝是开一个数组存所有颜色的个数,然后每次搜的时候相应减掉消除的个数,然后比较剩余的分数与当前最大得分,小的话直接返回。 不加这个就会TLE。然后搜索也不要很裸的每个位置都搜,应该是一块一块的搜,否则会TLE;16180247Accepted2378ms144kbG

2011-10-26 10:56:16 2380

原创 2011年 ACM/ICPC 北京赛区 A题 Qin shi huang's national road system

现场其实想到了找两点间最大边,但是一直在想DFS找的方法,期间我也想了想预处理的可行性,可是想岔道了,觉得不可行,结果今天用类似DP的预处理终于给过了,我擦了,铁牌第一名,要多点背有多点背。莫非是RP用光了,希望明年能好点吧。Run IDProblem IDStatusTimeMemoryLanguageCodeSub

2011-10-25 08:56:27 2172

原创 POJ 2063 完全背包

话说POJ这完全背包的题并不多,而且这个也不是很裸,因为股票的价格都是1000的倍数,所以价格都除以1000,整个背包的容量也除以1000, 这样复杂度就降下来了,然后每年的话,由于有收益,所以背包容量还会变化基本原理参考背包问题九讲。其核心部分与0-1背包中里面那层循环是反过来的F[0::V ] = 0for i = 1 to Nfor v = Ci to VF[v] = m

2011-10-24 16:44:33 1871

原创 POJ 3734 Blocks 矩阵乘法

依旧是神奇的矩阵乘法,构思很巧妙,虽说看着很简单,但是确实没练过矩阵题,所以就没这个意识去想到状态转移矩阵了。依旧是参考的别人的思路,也坚定了我要学好矩阵的决心。有四种颜色,其中红色和绿色必须是偶数,那么我们可以分四种状态,一,红为偶数,绿为偶数二,红为奇数,绿为偶数,三,红为偶数,绿为奇数四,红为奇数,绿为奇数那么我们构造一个矩阵2 1 1 01 2 0 1

2011-10-20 10:32:30 1184

原创 POJ 3735 Training little cats

很神奇的一道矩阵题,这也说明了矩阵的神奇之处。  构造矩阵的方法,我是想不出来了,只能从网上找了找思路。因m的数据范围较大,用矩阵连乘。构建矩阵模型,peanut[N] = {0,0,。。。。0,1}:即前n个数为0,最后一个数取1matrix[N][N],初始化

2011-10-19 15:26:44 1019

原创 HDU 3234 Exclusive-OR 09年武汉区域赛E题

又是一道神奇的并查集,话说以前在POJ上做并查集,就使用过所谓偏移向量,儿子跟父亲的关系用一个向量值表示出来,然后儿子和儿子之间的关系也能通过一些向量关系转化,而这道题也应该是并查集的偏移向量的运用,只不过复杂了那么一点,变成了异或运算,然后插入的时候有一些小的精妙想法,后来看别

2011-10-18 10:06:46 4240

原创 SPOJ 5 The Next Palindrome

题目大意就是给出一个数,就比他大的最近的一个回文数,而数据范围到了10^1000000,所以暴搜之类的肯定不行的。所以就要用字符串处理了。首先如果输入数包含的数字全是9的话,那么显然应该输出100......0001这样的数,也只有这个情况会出现结果比输入的长度增1。

2011-10-17 12:59:29 952

原创 poj 2886 Who Gets the Most Candies?

N 个小孩围成一圈,他们被顺时针编号为 1 到 N。每个小孩手中有一个卡片,上面有一个非 0 的数字,游戏从第 K 个小孩开始,他告诉其他小孩他卡片上的数字并离开这个圈,他卡片上的数字 A 表明了下一个离开的小孩,如果 A 是大于 0 的,则下个离开的是左手边第 A 个,如果是小于 0 的,则是右手边的第 -A 个小孩。游戏将直到所有小孩都离开,在游戏中,第 p 个离开的小孩将得到 F(p) 个糖

2011-10-16 21:21:01 1753

原创 POJ 2828 Buy Tickets

本题使用了一个巧妙的构造方法,首先,如果按顺序插队的话,序列是无法确定的,因为插队的时候被插的人的位置会改变。所以可以倒过来想,最后一个人的位置必然可以确定,然后接着是倒数第二的,依次的位置就都出来了。然后线段树的功能是统计区间内可插的位置数吧,我们可以先想想叶子节点,如果这个位置被确定了,那么该叶子节点的值应该变为0了,就相当于有了一个新的队列,是不包含值为0的叶子节点的队列,那么再插的时候

2011-10-15 22:28:25 734

原创 线段树水题几枚

最近接触了一下线段树,按理来说这个半年前就该看了,实际上自己却总想刷水题而躲避难题,不过,该来的还是要来的,既然选择了数据结构,就让各种树来的猛烈些吧。以下为最初级的线段树,只更新点,没有delay操作1.HDU 1166 敌兵布阵这道题用线段树或者树状数组都可以做,HDU上的数据貌似很弱,模拟竟然都能过首先是线段树版 ,线段树所带信息为当前区间所有点的值的和

2011-10-15 21:57:29 2007

原创 POJ 2607 Fire Station

又是一道最短路的题,为了提高效率,我用的邻接链表+SPFA做的,速度很快,0ms过的。首先,初始化完dist数组后,对每个消防站作为起点都求一次最短路,期间不再初始化dist数组,这样最后得到的dist数组就是每个居民到最近的消防站的距离。然后枚举每个点,每次求一下最短路,用其中的最大值比较一下。 然后这个代码贴到zoj上是过不了的,因为那里的输入很恶心人。还有空行神马的。/*I

2011-10-04 13:32:32 1605

原创 第36届ACM大连赛区I题 The Boss on Mars

今天现场赛模拟来着,D题做的很快,15分钟就出了,然后就一直死磕I题了,刚开始想到了要减去不互素的数,结果不知道容斥原理,只能赛后AC了。大体思路就是,先算出1到n的四次方和,然后减去不互素的四次方和,然后计算这个就比较麻烦了,首先把n给素数分解,然后就运用容斥原理,各种减减加加,目的就是防止减掉重复的,比如2的倍数有2,4,6,8……,3的倍数有3,6,9……,然后2和3中都有6,所以这

2011-10-02 19:05:36 4613

归并排序实现

使用C++实现了归并排序,有注释,简明易懂

2013-06-11

堆排序实现

使用C++实现了堆排序,有注释,简明易懂

2013-06-11

插入排序实现

使用C++实现了插入排序,有注释,简明易懂

2013-06-11

java 俄罗斯方块源码

代码可直接运行, 主要功能有基本的俄罗斯方块,加速,开始,暂停等

2011-12-19

空空如也

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

TA关注的人

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