随笔分类 -  dp

摘要:inputT 132,输出Impossible,否则输出x做法:dp,d(x,y)=d(x,y-1)+d(x-1,y-1),x:egg,y:floor求出下限,即x个鸡蛋至少要试多少次 1 # include 2 # include 3 #define INF 2000000010 4 int... 阅读全文
posted @ 2015-12-21 20:06 cdongyang 阅读(330) 评论(0) 推荐(0)
摘要:inputn,k 1 2 #include 3 struct node 4 { 5 int b;//a[i]作为i1的种数 6 long long c;//a[i]作为i2的种数 7 }; 8 using namespace std; 9 int a[200010], n, k;... 阅读全文
posted @ 2015-12-04 19:54 cdongyang 阅读(237) 评论(0) 推荐(0)
摘要:inputn,p,q 2#include #include #include #include #include #include #include #include #include #include #include #define MAX 63000#define LL long longus... 阅读全文
posted @ 2015-12-02 13:07 cdongyang 阅读(184) 评论(0) 推荐(0)
摘要:inputn s 10 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #define MAX 1000... 阅读全文
posted @ 2015-11-25 20:48 cdongyang 阅读(283) 评论(0) 推荐(0)
摘要:input长度不大于3*10e5的数字串output不含前导0的能整除64的字串的个数(0算一个,064不算)一般数组中找能整除一个数的字串都是用取余来做的用一个a[64]来存下从1-i位累加到第i位的余数为0-63的个数,每次都加上余数为0的个数,第一位为0的只统计一次,不加入a数组中 1 #in... 阅读全文
posted @ 2015-11-02 17:11 cdongyang 阅读(166) 评论(0) 推荐(0)
摘要:用一个数组记下递增子序列长度为i时最小的len[i],不断更新len数组,最大的i即为最长递增子序列的长度 1 #include 2 #include 3 #define MAX 40010 4 using namespace std; 5 int a, T, n, len[MAX]; 6 in... 阅读全文
posted @ 2015-10-15 10:54 cdongyang 阅读(192) 评论(0) 推荐(0)
摘要:题意为抛n个骰子凑成的点数和大于或等于x的概率,刚开始用暴力枚举,虽然AC了,但时间为2.227s,然后百度了下别人的做法,交了一遍,靠,0.000s,然后看了下思路,原来是dp,在暴力的基础上记忆化搜索,把所有可能枚举出来再累加,然后自己也打了一遍,0.000sA了,做法是开一个二维数组,第一... 阅读全文
posted @ 2015-10-06 12:14 cdongyang 阅读(272) 评论(0) 推荐(0)
摘要:inputu1 v1 w1u2 v2 w2...un vn wn 1 2 #include 3 #include 4 #include 5 #include 6 #define MAX 10010 7 8 using namespace std; 9 10 struct node11 {1... 阅读全文
posted @ 2015-10-05 10:20 cdongyang 阅读(228) 评论(0) 推荐(0)