自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RMQ—Sparse_Table算法 poj 3264

题目:http://poj.org/problem?id=3264这个题目意思就是给你一个包含你个数列,然后问你m(m200000)次i到j之间的最大值和最小值的差值。显然典型的Sparse_Table算法。一年前就看过着个算法,当时只是很浅显的浏览了一遍,一直感觉这个方法很巧妙,一直想看看,结果忘记是什么知识了,终于在看RMQ时看到了,所以就好好看了了,这个方法真的很伟大,想出来这个方法

2012-05-04 23:18:37 678

原创 POJ2409 染色问题

题目:http://poj.org/problem?id=2409这个题目 也是比较裸的题目了。在做这个题目的时候突然想到一个问题,polya定理是不是必须要把所有的颜色用完呢?于是想了几个数据测试了一下才明白,并不是把所有颜色用完,而是用小于等color的颜色用于染色,至于怎么计算必须把所有颜色用完的情况,想了很久也 每想出来,就留以后想吧,如果哪位又想法可以留言交流呀!以下是这个题目的

2012-05-04 16:17:33 1301 2

原创 Polya定理染色问题 (poj 1286)

题目:http://poj.org/problem?id=1286这个题目感觉是最裸的题目了很简单!关于polya定理大家可以参考这里,讲的比较详细,我就说了。以下是poj1286的代码:#include #include #include using namespace std;int gcd(int a,int b){ return b==0?a:gcd(b,a%

2012-05-04 16:11:42 1558

原创 树状数组(插线问点)NYOJ123士兵杀敌(四)

题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=123这道题目可以用树状数组做,是很典型很裸的插线问点的题目,可能也可以用险段树写吧。其中插线的过程可以这样理解:如果向[star,end]这个区间加value,就可以看做是向[o,end]加value,然后向[0,star-1]加-value。这样就实现了~~~~题意很简单,一看就

2012-05-03 16:14:39 1266

原创 出题心得

刚才过了 一个题目,纠结了好久终于过了,如果是以前,可能会很高兴,很激动,这个心情相信搞这个的大家都体验过!但是!!!!这次却没有一点高兴和激动,心里反而很低落,因为错了一天了,才从后台数据里知道题意和数据不一样,其实开始就写对,结果错了一天、、、、、知道后,首先是很气愤,接着就是失落、、、无尽的失落、、、、、、、、、、、、、、其实以前在oj上做题时就看到过讨论区有许多人遇到过许多这个样的事,当时

2012-05-03 16:08:44 1146

原创 NYOJ228士兵杀敌(五)

题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=228题意很简单,就不说了。这个题目如果用线段树和树状数组都不好过,甚至过不了,因为不是在线问的,所以用在这里很浪费。这个题目可以用数组直接来做。解题思路:首先数组初始化为0,如果第i到第j个人平均杀敌k,那么就让数组shu[i]加k,而shu[j+1]减k。更新输入结束后,用以个变量v

2012-05-03 15:56:03 869

原创 HDU 1159 最长公共子序列

题意就是给两个字符串,找最长公共子序列。由于是最裸的题了,就不讲了。有关最长公共子序列的详细讲说,请到http://blog.csdn.net/jiang199235jiangjj/article/details/7466667。代码如下:#include #include #include #define N 1000using namespace std;char str1[

2012-04-17 11:09:01 551

转载 最长公共子序列(动态规划)

有关最长公共子序列的详细解释请看百度百科http://baike.baidu.com/view/2020307.htm。动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用

2012-04-16 17:50:51 637

原创 hdu 1502解题报告(动态规划+大数)

解题:设函数dp[i][j][k]表示该序列中有i个A,j个B,k个C组成,则dp[i][j][k]是有dp[i-1][j][k],dp[i][j-1][k],dp[i][j][k-1]这三个添加过来的,所以动态转移方程式dp[i][j][k]=dp[i-1][j][k]+dp[i][j-1][k]+dp[i][j][k-1];同时注意,dp的结果很大,要用到大数。设sum[i

2012-04-12 10:41:15 1418

原创 hdu 1502 动态规划+大数

首先说,我的代码很省时间,就如大家都看到了,我用的是打表,并且是真的把表打出来贴到代码里了。题意:给一个字符串,只有ABC组成,并且A、B、C的个数都是n(0解题:设函数dp[i][j][k]表示该序列中有i个A,j个B,k个C组成,则dp[i][j][k]是有dp[i-1][j][k],dp[i][j-1][k],dp[i][j][k-1]这三个添加过来的,所以动态转移方程式dp[i

2012-04-12 09:51:02 1183

转载 HDU动态规划专题

Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋);

2012-04-11 17:43:31 721

转载 ZOJ、POJ题目大体分类

无法考证最初的作者是哪些大牛,就不注明转自哪里了ZOJ题目分类初学者题:1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 1334 1337 1338 1350 1365 1382 1383 1394 1402 1405 1414

2012-04-11 11:14:43 1769

转载 动态规划 HDU 动态规划题集1\

1.Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955     背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱  最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的

2012-04-11 10:10:01 812

原创 n个a和m个b的排列

n个a和m个b有几种排列方法可以用公式直接算即:(n+m)!/(n!*m!);也可以理解为每次都是n-1个a和m个b排列以后把一个a放进去+把m-1个b和n个a排列后把一个b放进去,可用递归实现:#includeint f(int x,int y){ if(!x||!y) return 1; return f(x-1,y)+f(x,y-1);}int main(){ whi

2012-04-06 15:47:07 3591 1

原创 poj 1032 Parliament 整数拆分

题意:简单说,就是给你一个数n(5=解题:无意中在一个奥数网站上看到整数拆分这个知识,觉得不错就搜了一个水题试试,结果果然很神奇;根据均值不等式得,可知最好拆分后的数相差不要太大。可以从自然数2加起,用sum(n)表示和,sum(2)=2,使其满足sum(n-1)=N;则sum(n)-N的差值只可能是0,1,……n-1。1、当差值是0,就讲a拆分成2,3,……n-1,n;2、当

2012-04-06 15:15:13 2589 1

空空如也

空空如也

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

TA关注的人

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