DP
文章平均质量分 53
July_ing
这个作者很懒,什么都没留下…
展开
-
dp:注意列方程
AVL树的种类 平衡二叉树(AVL树),是指左右子树高度差至多为1的二叉树,并且该树的左右两个子树也均为AVL树。 现在问题来了,给定AVL树的节点个数n,求有多少种形态的AVL树恰好有n个节点。 Input 一行,包含一个整数n。 (0 Output 一行表示结果,由于结果巨大,输出它对1000000007取余数的结果。 Input示例 1原创 2016-05-22 20:14:01 · 324 阅读 · 0 评论 -
UVA 116记忆化搜索
从矩阵左边到矩阵右边,最上最下两行算作相邻,可以 ↗ → ↘ 走。所以记录路径的时候列不用记(+1),输出字典序路径,所以始终从行数最小的行开始找,(从n列开始倒序向前就不会有顺序问题),正序需要判断行数。 #include #include #include #include #include #include using namespace std; const i原创 2017-05-20 15:15:06 · 329 阅读 · 0 评论 -
uva 103
#include #include #include #include #include using namespace std; int a[30 + 5][30 +5]; struct node{ int o; int po; }dis[30 + 5]; bool vis[30 + 5][30 + 5]; int n,k; bool isOk(int x[],i原创 2017-05-16 21:26:28 · 263 阅读 · 0 评论 -
hdu 5135
???: #include #include #include #include #include #include using namespace std; double a[15]; double dp[5][15]; bool isOk(double a, double b, double c) { if((a+b)>c && (a+c)>b && (b+c)>a)原创 2017-05-15 21:52:41 · 369 阅读 · 0 评论 -
多校1.Abandoned country1001
点击打开链接 Problem Description An abandoned country has n(n≤100000) villages which are numbered from 1 to n. Since abandoned for a long time, the roads need to be re-built. There are m(m≤10000原创 2016-07-22 16:16:38 · 460 阅读 · 0 评论 -
Codeforces Round #369 (Div. 2) C. Coloring Trees 三维dp
C. Coloring Trees time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output ZS the Coder and Chris the Baboon has arrived at Ud原创 2016-09-08 15:26:55 · 502 阅读 · 0 评论 -
M.LCS打印
#include #include #include #include #include using namespace std; char a[1000 + 5],b[1000 + 5]; int dp[1000 + 5][1000 +5]; int dis[1000 + 5][1000 + 5][2]; int main() { scan原创 2016-09-08 15:25:12 · 261 阅读 · 0 评论 -
Codeforces#363 (Div. 2) C.Vacations
Vasya has n days of vacations! So he decided to improve his IT skills and do sport. Vasya knows the following information about each of this n days: whether that gym opened and whether a contest was原创 2016-07-29 20:30:32 · 254 阅读 · 0 评论 -
05:字符环
总时间限制: 1000ms 内存限制: 65536kB 描述 有两个由字符构成的环。请写一个程序,计算这两个字符环上最长连续公共字符串的长度。例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环;字符串“MADJKLUVKL”的首尾连在一起,构成一个另一个环;“UVKLMA”是这两个环的一个连续公共字符串。 输入一行,包含两个字符串,分别对应一个字符环。这两个字符原创 2016-07-14 17:33:27 · 780 阅读 · 0 评论 -
02:最大上升子序列和
总时间限制: 1000ms 内存限制: 65536kB 描述 一个数的序列bi,当b1 你的任务,就是对于给定的序列,求出最大上升子序列和。注意,最长的上升子序列的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上升子序列和为100,而最长上升子序列为(1, 2, 3) 输入输入的第一行是序列的长度N (1 输出最大上升子序列和样例输入 7 1 7 3 5 9 4 8原创 2016-07-14 17:02:14 · 315 阅读 · 0 评论 -
饭卡:先挑出最大的再把剩下的背包
HDU 2546 饭卡余额大于等于5都可以买,给出饭卡买各种菜后使余额最小(可为负) 最优法:先挑出最大的,饭卡金额减5再背包剩下的。原创 2016-05-22 21:05:54 · 327 阅读 · 0 评论 -
uva 147 拆钱(完全背包)
#include #include #include #include #include using namespace std; int a[] = {1,2,4,10,20,40,100,200,400,1000,2000}; long long dp[30000 + 5]; int main(){ dp[0] = 1; for(int i = 0; i < 11原创 2017-05-21 15:14:34 · 329 阅读 · 0 评论