2014年4月7日

【HDOJ】2065 "红色病毒"问题

摘要: 刚开始看这道题目的时候,完全没看出来是递推。看了网上大牛的分析。立刻就明白了。其实无论字符串长度为多少,都可以将该长度下的组合分成四种情况S1(A偶数C偶数)、S2(A偶数C奇数)、S3(A奇数C偶数)、S4(A奇数C奇数)。因此,可以由n-1长度情况下的各种情况数目推导出n长度下的数目。fn(S1) = 2*fn-1(S1) + fn-1(S2) + fn-1(S3),同理可推导其它状态的数目fn(S2) = 2*fn-1(S2) + fn-1(S1) + fn-1(S4)fn(S3) = 2*fn-1(S3) + fn-1(S1) + fn-1(S4)fn(S4) = 2*fn-1(S4) 阅读全文

posted @ 2014-04-07 23:21 Bombe 阅读(270) 评论(0) 推荐(0) 编辑

【HDOJ】2059 龟兔赛跑

摘要: 经典DP,虽然参数比较多,不要被迷惑了。 1 #include 2 3 #define MAXNUM 105 4 #define INF 0xffffff 5 6 double dists[MAXNUM]; 7 double dp[MAXNUM]; 8 9 double l;10 int n;11 double c, t, vr, vt1, vt2;12 13 int main() {14 int i, j;15 double tmp, t0, dist;16 17 while (scanf("%lf", &l) != EOF) {18 s... 阅读全文

posted @ 2014-04-07 23:04 Bombe 阅读(261) 评论(0) 推荐(0) 编辑

【HDOJ】1251 统计难题

摘要: 使用STL实现。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int main() { 9 char ch;10 string str="";11 map words;12 13 while (1) {14 scanf("%c", &ch);15 if (ch == '\n') {16 scanf("%c", &ch);17 str = "";18 ... 阅读全文

posted @ 2014-04-07 22:59 Bombe 阅读(123) 评论(0) 推荐(0) 编辑

【HDOJ】1074 Doing Homework

摘要: 最开始以为是贪心,不过写到一半发现不对,看了一下讨论,知道需要使用状态压缩DP,现在还没有使用深搜实现(据说可以)晚上实现一下,道理应该是类似的。前面做八数码,至今未果,就说需要状态压缩。这个太神奇了,因为题目的数据量为15,所以采用移位压缩。即100代表第三个(注意index)的转台为完成。RE了很多次,才发现异或后求得的不是index。。。而且原来的输入数据本身就是字典序,不需要再strcmp,就一直RE在那个if了。 1 #include 2 #include 3 #include 4 5 #define MAXNUM 16 6 #define MAXDP 1>... 阅读全文

posted @ 2014-04-07 22:56 Bombe 阅读(172) 评论(0) 推荐(0) 编辑

导航