- 博客(6)
- 收藏
- 关注
原创 hdu2296
今天机房断网,结果回来才交果不其然WA掉了。然后又是各种调各种弄,最后竟然A了。真是畸形。个人觉得字符串上的DP基本都是按照字符串的位进行的。当然我也没有做几道题。这个也是一个很简单的DP但是对于预处理方面可能需要考虑一下,以及它最后的要求是输出字典序最小。而且之前也没有看到最后答案可能会有空串什么的,改了就过了。上代码:#include#include#include#inc
2012-07-29 00:52:33 494
原创 zoj3228
这是一道很有意思的字符串的题。大部分的人都是用AC自动机过的。但是在看HH大神的博客的回复下面看到一种很有意思的解法。通常对于tire树的构造都是用字串构造。母串匹配。但是今天看到有人用母串构造tire树。但是这样构造需要一些前提。首先已经知道子串的最大的长度,其次这样的方法的构造不会MLE。开始的时候我用new node但是MLE了后来改为静态的方式构建tire就过了。我两种方法都写了一下。最开
2012-07-27 21:14:22 403
原创 HDU2825
解题思路:首先按照正常的思路将自动机模型建立起来。然后就在上面进行DP其中DP[i][j][k].i表示字符串的字符的个数j表示的是最后一位是什么状态.k表示magic string的状态这是用状态压缩记录的也就是2^10。通过每一位01表示该个magic string是否被表示。这道题开始的时候是TLE,是memset的问题。改了之后就狂WA。后来找到了WA的原因,但是没有办
2012-07-26 21:15:52 1257 1
原创 SGU489
不知道是什么原因,别人的o(n^2)是600ms,我的却是900ms擦边过。这个题的状态方程如下:dp[i][j][0]=sigma(dp[i-1][x][1])(j=j的所有可能的和。同理可以推出1状态的情况。但是这个dp需要一些小地方注意优化。。减少时间什么的。上代码:#includeusing namespace std;int dp[4][10010][2];mai
2012-07-21 13:16:20 432
原创 关于SG函数
一年前的博文了。时间过得真快啊~~~现在又不会SG了。 一直觉得博弈是一个很是神秘的东西,现在在看博弈,觉得很是有趣,尤其是SG函数,昨天今天做了几道题,尤其 是上周的多校给了我很多不一样的东西。开始的时候做的是HDU上的两道取石子的题目。基本上都是给你几堆石子然后有规定你只能取几颗什么的。多校的那道题我按同样的思路来写WA掉了,现在才终于理解所谓的前继后继。明明是很明显的一个
2012-07-14 14:19:15 2871
原创 codeforces-Problem 193B - Xor
这道题的减枝很好。如果是我自己写肯定不会写这样的减枝。这个减枝主要是剪掉了连续的两次异或的所有情况。代码如下:#includeusing namespace std;int b[50],p[50],k[50];__int64 ans;int n,u,r;void dfs(int step,int a[],int way){ int a1[50]; i
2012-07-02 21:01:37 544
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人