【xdoj难题集】1102 xry111挂灯笼

原创 2018年04月14日 22:55:11

这道题虽然做对的不多,但是我倒是做的异常顺利,直接一遍过,感觉在经历了pfunction之后已经领悟了新一层的dp技巧。

说说思路,就是dp递推,关键是掌握如何递推,首先考虑只有一个挂钩的情况,这时候对于灯笼i的情况,只要把两个儿子数量相加为i-1的情况相乘的结果加起来即可(也就是一个卷积),然后考虑挂钩,如果有k个挂钩,那么这时候总挂钩数量为i的情况就是1的时候和k-1的时候的一个卷积。所以只要200的三次方即可完成(当然用fft更快,不过没必要)。

感觉这道题主要是想法很重要。代码倒是没什么细节问题。

# include <stdio.h>

typedef long long ll;

const int Mod = 1e9 + 7;
const int MAX_N = 205;

ll d[MAX_N + 1][MAX_N + 1];

int main()
{
	int i, j, k;
	
	for(i = 1 ; i <= MAX_N ; i++)
		d[i][0] = 1;

	for(i = 1 ; i <= MAX_N ; i++)
	{
		for(j = 0 ; j < i ; j++)
		{
			d[1][i] += d[1][j] * d[1][i - 1 - j];
			d[1][i] %= Mod;
		}
	}

	for(k = 2 ; k <= MAX_N ; k++)
	{
		for(i = 1 ; i <= MAX_N ; i++)
		{
			for(j = 0 ; j <= i ; j++)
			{
				d[k][i] += d[k - 1][j] * d[1][i - j];
				d[k][i] %= Mod;
			}
		}
	}

	int N, M;
	while(~scanf("%d %d", &N, &M))
		printf("%lld\n", d[N][M]);
	
	return 0;
}

【xdoj难题集】1092Puzzle V8

# include &amp;lt;stdio.h&amp;gt; # include &amp;lt;string.h&amp;gt; int box[5][8]; int N; bool kil...
  • qq_40772738
  • qq_40772738
  • 2018-04-08 23:45:26
  • 38

【xdoj难题集】前言

开这个主要目的是造福后人,有时候求索是非常费时而浪费的,之前做poj,看到丰富的discuss以及网上的大量讲解,让我有了这个打算。xdoj作为一个不错的题库,缺少一些对难题系统的讲解和提示,以至于这...
  • qq_40772738
  • qq_40772738
  • 2018-04-08 23:22:44
  • 15

【xdoj难题集】1067: P-Function

省赛题,不但是英文的而且有一定的难度。之前一直陷入冥思苦想,结果不知道为什么今天再看到的时候突然灵光一现,一下子就20分钟一遍秒杀了。所以说,对于找方法,找bug这种np问题,运气还是有点重要的。先分...
  • qq_40772738
  • qq_40772738
  • 2018-04-14 15:19:17
  • 9

【xdoj难题集】1116 Dominator Orz Pandas

不知道为什么做的人很少,其实是一道思维题,想通了很简单,另外吐槽一下这道题坑人的m,竟然里面的重要城市可能会重复,这不是存心害人吗?我就不知道谁平常说话说有m个重要城市还能有重复的,当时没看见搞了我2...
  • qq_40772738
  • qq_40772738
  • 2018-04-17 11:49:00
  • 39

【xdoj难题集】1203 Happy to Eliminate

题点击打开链接又沉浸在了模运算的海洋中了。。。这个模运算真的太恶心了,有时候又神奇又复杂,还是经验不够丰富,导致了很多错误。在此我也得到一个教训,对于涉及模运算的问题,宁可写的复杂一些,难看一些,也不...
  • qq_40772738
  • qq_40772738
  • 2018-04-14 00:38:58
  • 12

【xdoj难题集】1202 The Offer - Lunatic

说实话2017年的校赛挺难的,最后三道都不简单,这道题一开始吓了我一大跳,想着如果用最短路算法,魔法阵怎么也要上千万条路径,不过之后看到海拔最高只有100之后总算是安心了。先说一说大体思路,首先肯定想...
  • qq_40772738
  • qq_40772738
  • 2018-04-10 23:48:58
  • 8

八十年代 人们在玩什么游戏~你都玩过吗?

八十年代 人们在玩什么游戏~你都玩过吗?八十年代的中国,没有电脑,没有网络游戏,没有PSP,没有萝莉,也没有机会看美国大片。对于现在25~35岁这个年龄段的人来说,下面的20种“游戏”便成了他们休闲娱...
  • wangjh422
  • wangjh422
  • 2008-02-29 14:04:00
  • 799

Lucas定理的应用

//此处暂时只到笔者目前接触过的题 Lucas定理适用于long long范围内(无法打表,且单次求时间较短)大整数组合数求模,且除数p不超过6位。使用时先写好板子,求C(n,m)时只需由函数luca...
  • wy_2016
  • wy_2016
  • 2016-10-11 22:28:35
  • 248

正月十五放灯笼,小时候用酒盒,罐头瓶,萤火虫自制的灯笼

内容来自:怀旧网 小时候记得过了年,过上几天又可以放灯笼了。我家那叫“放蜡”,应该就是蜡烛的那个蜡。那时候在农村还没有卖灯笼的,不像现在卖的都是电灯笼。所以我们就自己做一个。做好了就拿到村里大街上亮...
  • no_this
  • no_this
  • 2015-01-01 10:14:44
  • 2269

2017暑训摸底(xdoj1045,xdoj1173,xdoj1007,xdoj1038)

dp 博弈搜索 sg值 黑白棋 寻找orz man 实验鸟蛋破碎楼层 裁玻璃 网格转移 状态压缩...
  • Owen_Q
  • Owen_Q
  • 2017-08-07 23:13:23
  • 176
收藏助手
不良信息举报
您举报文章:【xdoj难题集】1102 xry111挂灯笼
举报原因:
原因补充:

(最多只允许输入30个字)