![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hdu
文章平均质量分 76
允雨琉
永远的萌新
展开
-
hdu5558 Alice's Classified Message (后缀数组)
后缀数组 首先计算出sa, rank, height数组, 易知,不妨设x, y(rank[x] 利用这个这个性质,便很容易在枚举的时候做出一些剪枝: 假设当前位置为p,则可以从rank[p]开始分别向两边进行枚举,当枚举到minHeight 这样的话可以在1s内运行完 #include #include #include using namespace std; //后缀原创 2015-11-14 17:37:44 · 928 阅读 · 0 评论 -
hdu5550 Game Rooms (动态规划)
表示制杖,参考了一下别人的题解,做完发现自己整个人都不好了,竟然没有发现这么弱的dp方程,(我不知怎么的,一开始居然想了一个n^3的dp方程) 设dp[i][s]表示计算到第i个且将其放在该段的最后一个,这一段全为s(0和1分别表示两种运动) 那么dp方程就是dp[i][s] = min{dp[j][s^1] + valueSum(j+1, i)}, j valueSum(i, j)表示原创 2015-11-07 18:14:30 · 1175 阅读 · 0 评论 -
hdu5521 Meeting (最短路)
最短路 我的构图方式是: 将每个集合也抽象成一个点,将集合中的每个点向集合连一条权值为t的有向边,集合向其中的每个点连一条权值为0的有向边,这样 以1和n为起点各做一遍最短路。 枚举中间点便可以得到最后答案了。 #include #include #include #include using namespace std; struct Edge { int v;原创 2015-11-02 12:20:17 · 304 阅读 · 0 评论 -
hdu5536 Chip Factory (暴力+优化)
暴力+优化 话说网上有字典树的正规解法,不过hdu重现赛时并不会,于是直接暴力了。 优化方式直接在代码注释中标注了,这里不详解了。 #include #include using namespace std; const int MAXN = 1005; int a[MAXN]; inline int lowbit(int x) { return x & -x; } i原创 2015-11-01 21:44:29 · 1114 阅读 · 0 评论