2个小时的人参orzzzzzzzzzzzzzzz ...
分类:
编程语言 时间:
2016-12-22 00:13:52
阅读次数:
150
描述 Flappy Bird 是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败。 为了简化问题,我们对游戏规则进行了简化和改编: 游戏界面是一个长为 n,高为 m 的二维平面 ...
分类:
编程语言 时间:
2016-11-29 23:04:11
阅读次数:
241
前缀和、滚动数组优化dp f[i][j]表示前i个数,逆序对数为j的方案数 我们知道,在第k个位置放第i个数,单步得到的逆序对数为i-k 则在前i个数,最多能产生的逆序对数为i个,最少0个,均可转移到j 所以我们得到:f[i][j]=sum(f[i-1][j...j-i]) 所以我们可以通过前缀和优 ...
分类:
其他好文 时间:
2016-11-15 10:38:26
阅读次数:
139
题意:给一个正整数数列,可将其相加或相减,问是否有一个结果能被K整除。 解法:似上一题“糖果”的状态定义,f[i][j]表示是否有一个选了前 i 个数的结果模K余j。 P.S. 可以用滚动数组。 ...
分类:
其他好文 时间:
2016-10-07 23:11:49
阅读次数:
155
题目链接:51nod 1043 幸运号码 题解:dp[i][j]表示 i 个数和为 j 的总数(包含0开头情况) dp[i][j] = dp[i-1][j-k] i & 1 :这里用滚动数组节省内存 非0开头的情况 * 0开头的情况:(dp[n&1][i]-dp[(n-1)&1][i]) *dp[n ...
分类:
其他好文 时间:
2016-10-01 21:39:18
阅读次数:
190
题目链接:http://codeforces.com/contest/712/problem/D A初始有一个分数a,B初始有一个分数b,有t轮比赛,每次比赛都可以取[-k, k]之间的数,问你最后A比B大的情况有多少种。 dpA[i][j]表示第i轮获得j分的情况数。因为第i轮只和第i-1轮有关, ...
分类:
编程语言 时间:
2016-09-22 21:24:11
阅读次数:
269
Description A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to writ ...
分类:
编程语言 时间:
2016-09-16 22:38:02
阅读次数:
172
背包dp入门,需要滚动数组; 1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<cstring> 5 #include<algorithm> 6 #include<iomanip> 7 #include<cst ...
分类:
其他好文 时间:
2016-09-06 18:18:29
阅读次数:
161
题目链接 http://acm.hust.edu.cn/vjudge/problem/19210 解题思路 就是0-1背包问题。只是不止一个背包。 可以用滚动数组降成一维。 代码 ...
分类:
其他好文 时间:
2016-08-20 16:12:26
阅读次数:
113
1.读入优化 我们平时所使用的scanf,cin速度都较慢,当读入的数据达到10^5规模以上时,就会开始显现劣势 而c中自带的getchar函数读入速度较快,可以用来优化数字的读入速度。 2.滚动数组 写Dp经常需要大家开高维数组,比如F[t][i][j]。有的时候转移仅需要上一维数组,如F[t-1 ...
分类:
编程语言 时间:
2016-08-16 21:45:06
阅读次数:
364