上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 71 下一页
摘要: 1495牵扯一点数位 保存数的时候我是按2进制保存的 把1当作0算 把2当作1算 滚动数组dp[i][j][(g*10+j)%n] = min(dp[i][j][(g*10+j)%n],dp[i-1][1][g]*2+j-1,dp[i-1][2][g]*2+j-1) j取1,2 *2+j-1是因为我按二进制算的时限给出的2S就是给我这种毫无优化又笨又戳的代码的 跑了1.39s0xfffffff的范围 是2Y多 还是少用好了 太容易超了 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using name.. 阅读全文
posted @ 2014-02-10 17:46 _雨 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 1513这题好久之前就看过了,悲催的是当时看题解都没看懂,今天又看了看so easy...n个B里不能出现超过连续k个L的情况 一维递推就可以 两种情况 1、dp[i] += dp[i-1] 在i-1的串后面直接加一个B 2、dp[i]+=dp[i-2]+dp[i-3]+...+dp[i-k-1] 这部分的意思是在串后面补连续1个L 2个L 3个L。。K个L的情况 那补一个L的情况要取决于dp[i-1]里面最后一位为B的个数 正好为dp[i-2],依次可做。 1 import java.text.*; 2 import java.io.*; 3 import java.util.*; 4 im 阅读全文
posted @ 2014-02-10 16:15 _雨 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1900二维dp挺好推 dp[i][j] = max(dp[i][j],dp[g][j-1]+o[i][i+1]-o[g][i+1])(i>g>=j-1) dp[i][j]表示第i个站台开放第j次设备 预处理出来通过i-j的人数 包括 i-1~j+1等等的 用o[i][j]表示的没睡好 %>_ 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 #define LL long long10 int dp[510][510],q[510];11 in 阅读全文
posted @ 2014-02-10 16:09 _雨 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 进制构造 这里用了十进制 有点像串并联 每一位代表的数分开表示出来再把每一位的数并起来 比如892 就是800+90+2 800又可分为8*10*10。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 int w[1010][1010],s[20],en[20];11 int a[20];12 int main()13 {14 int k,i,j;15 cin>>k;16 int g = ... 阅读全文
posted @ 2014-02-09 19:00 _雨 阅读(257) 评论(0) 推荐(0) 编辑
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1221算是枚举的 题目意思是必须划出这样的 11011 10001 00000 10001 11011注意中间必须是完整的0,不多不少,旁边的1也是如此 不多不少 才可以题目很简单 预处理出1的个数 以及以当前0为最低顶角的最大正方形的边长 判断一下1的个数是否满足就可 1 #include 2 #include 3 #include 4 #include 5 #in... 阅读全文
posted @ 2014-02-02 23:14 _雨 阅读(358) 评论(0) 推荐(0) 编辑
摘要: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2169感觉是有递归思想的 dp[j]表示从1到j分成了i段 最多分成m段 肯定是分的越多越小的 第一重循环为(1,m)dp[j] = min(dp[j],dp[g]+pow(sum[g..j]); 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define N 1010 9 #define INF 0xfff 阅读全文
posted @ 2014-01-18 18:31 _雨 阅读(185) 评论(0) 推荐(0) 编辑
摘要: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2164贴一篇写组合数求mod比较好的帖子这里的n,m比较小 直接利用公式递推求解即可c(n,m) =c(n - 1,m) + c(n – 1, m – 1) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace std;11 #define LL long long1 阅读全文
posted @ 2014-01-18 17:06 _雨 阅读(175) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1961对于next数组只能说略懂,其中精髓还是未完全领会大体是本串相同前缀与后缀的最大长度,读不懂?看串abcdab 这里所说前缀与后缀都为ab这题核心就一句话if((i+1)%(i-next[i])==0) 输出 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define INF 0xfffffff11 #define N 100001012 char s[. 阅读全文
posted @ 2014-01-17 21:16 _雨 阅读(623) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1860模板提 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define INF 0xfffffff11 double dis[110],v;12 int n,m;13 struct node14 {15 int r,c;16 double r1,c1,r2,c2;17 }p[110];18 int bell_ford(int s)19 {20... 阅读全文
posted @ 2014-01-17 15:56 _雨 阅读(192) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3295这几天补一补poj之前落下的题吧枚举 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 char s[101],ko[510]; 9 int f[10],ta[110],ff[10],p[10]; 10 int main() 11 { 12 int i,j,k; 13 ko['p'] = 1; 14 ko['q'] = 2; 15 ko['r'] = 3.. 阅读全文
posted @ 2014-01-16 20:45 _雨 阅读(165) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 71 下一页