嗯。

嗯。

自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZOJ 3538 Arrange the Schedule / 矩阵快速幂

老师开的DP专题 说题目不难 我看了这题 n很大 以前做过很多n很大的 然后是矩阵快速幂加速的DP DP方程很好推 打了一下草稿 2*2的01矩阵 要是没有m个限制那就是水题了 m最多才10 我想了下 可以分成m+1段矩阵快速幂来求 遇到那几个限制的天数的时候就单独用一个矩阵乘一下 这样的题目做...

2014-03-31 18:17:21

阅读数 1058

评论数 0

Ural 1303. Minimal Coverage / 最小区间覆盖

求最小区间覆盖0-m 以前做过 现在墨迹半天写出来 弱爆了 像这样的1 9 和 2 7 根据贪心原理后者不需要 然后按照起点 在按照终点 从小到大排序 贪心模拟一下每次能不选就不选 #include #include #include using namespace std; const ...

2014-03-31 14:35:11

阅读数 1046

评论数 2

URAL 1260. Nudnik Photographer

虽然是简单递推 找规律 这种DP还是做得少 没有感觉 参考http://hi.baidu.com/xiaozhao_club/item/aec3d7c898d56d390831c6da #include __int64 a[60]; int main() { a[1]=1; a[...

2014-03-31 11:35:39

阅读数 907

评论数 0

HDU 1520 Anniversary party / 树形DP水题!!!

考虑取和不去 dp[u][0]代表u为根的树不取 儿子v可以取可以不取dp[u][1]代表取u 然后儿子v不能取 水题1A #include #include #include #include using namespace std; const int maxn = 6010; vec...

2014-03-30 17:26:00

阅读数 897

评论数 0

ZOJ 1163 The Staircases / 01背包

每个物品选一次 完全背包 #include #include const int maxn = 510; double dp[maxn]; int main() { memset(dp, 0 ,sizeof(dp)); dp[0] = 1; for(int i = 1; i <= ...

2014-03-30 15:47:53

阅读数 1062

评论数 0

POJ 2063 Investment / 体积变大的完全背包

完全背包  体积都是1000的倍数 所以可以除以1000 可能你会想价值是1000的倍数啊 这没关系 买股票 买x元的股票1年可以增加y元 现在总共有m元 求k年后 最多有多少钱 每年做一次完全背包 #include #include #include using namespace st...

2014-03-28 17:40:31

阅读数 1086

评论数 0

POJ 3260 The Fewest Coins / 混合背包

给钱+找钱花的硬币最少 给钱多重背包 找钱01背包 然后背包上限不知道 据说是抽屉原理 我还没学过 然后有空在学 多重背包我用2进制优化 01背包 以为是要在多重背包的基础上减 背包的价值是负数所以 我是倒过来处理的 #include #include #include using nam...

2014-03-28 13:38:31

阅读数 889

评论数 0

POJ 1787 Charlie's Change / 完全背包

多重背包 不过用完全背包来做 加个判断当前硬币的数量是否超过限制 还有就是打印路径 觉得打印路径都差不多 UVa打印路径的题目很多 要是字典序要求就更高了 #include #include using namespace std; const int maxn = 10010; int d...

2014-03-28 11:24:56

阅读数 910

评论数 0

ZOJ 3469 Food Delivery / 区间DP

区间DP 这题也是看着别人的代码写下来的 效果也不是很大 鄙视下自己  主要是自己作业还没做完 心急了一点 还被人催着做C#实验 有空写一下记忆化搜索版本 区间DP一般都是dp[l][r] 表示l到r这段区域的最优值 然后区间逐渐扩大 可以写成递推的 也可以记忆化搜索 这题还要加一维 代表当前的位...

2014-03-27 17:16:44

阅读数 817

评论数 0

POJ 3345 Bribing FIPA / 树形DP

基本题吧 错了好几次 G[0]没清空 从1开始清空了 伤不起 其他没什么难度 #include #include #include #include #include #include using namespace std; const int maxn = 210; vector ...

2014-03-27 14:08:23

阅读数 815

评论数 0

POJ 2441 Arrange the Bulls / 状态压缩DP

还是比较简单的 入门的DP #include #include const int maxn = 22; int dp[2][1<<maxn]; int pre[1<<maxn]; int a[maxn][maxn]; int main() { int n, m; ...

2014-03-27 12:11:38

阅读数 942

评论数 0

POJ 2752 Seek the Name, Seek the Fame / KMP

做了HDU 3336 这题小case k=next[n] 是最长的前缀 这题还要求不是最长的前缀 那么就 k = next[k] #include #include const int maxn = 400010; const int mod = 10007; char a[maxn]; in...

2014-03-25 16:16:01

阅读数 941

评论数 0

HDU 3746 Cyclic Nacklace / KMP

首先 t = n-next[n]是周期 n是字符串长度 如果 n%t = =0 那么该字符串是一个周期串 如果n%t !=0  t还是周期 只不过末尾多一部分 话句话说 该字符串是由若干个t和一段字符x组成 如果没有x那么它就是一个周期串 并且x和t的开头是相同的 就是x是t的前缀 那么x的长度是...

2014-03-25 12:42:53

阅读数 815

评论数 0

HDU 3336 Count the string / KMP

都是找和前缀一样的有多少个 想到KMP 然后要求的不是最长的前缀 只要是前缀都算 因此巧妙的借助Next数组 再来一个dp 有点前缀和的思想不好说 慢慢揣摩 #include #include const int maxn = 200010; const int mod = 10007; ch...

2014-03-25 11:00:30

阅读数 757

评论数 0

POJ 3461 Oulipo / KMP

基础KMP 开始学AC自动机了 先搞清楚KMP #include #include using namespace std; const int maxn = 1000010; char a[maxn], p[maxn]; int f[maxn]; void getFail() { int ...

2014-03-24 16:09:59

阅读数 726

评论数 0

TOJ 3886 Simplifying the Farm / 最小生成树+计数

懒得讲了 #include #include #include #include #include using namespace std; const int maxn = 100010; const int mod = 1000000007; struct edge { int...

2014-03-23 21:47:55

阅读数 852

评论数 0

HDU 1561 The more, The Better / 树形DP

树形DP 选m个节点权值加起来最大 因为可能是森林 就是都没有限制就可以选 去一个超级源点0 这样就是一棵树了 然后就是基础的树形DP了 DP方程很好想 也很好转移 #include #include #include using namespace std; const int maxn ...

2014-03-21 22:55:52

阅读数 847

评论数 0

POJ 1155 TELE / 树形DP

树形DP 其中有分组背包 第一个循环是每一组 就是以u为根的若干子树 然后第二个循环是枚举背包体积 从大到小 因为是滚动 第三个循环是枚举每一组的物品 3个循环不能颠倒 以为是分组背包 每组的物品只能选一个 具体这题就是子树不能有重叠 每个点不能选多次 #include #include #...

2014-03-21 20:19:30

阅读数 925

评论数 0

POJ 1837 Balance / 分组背包

n个位置放m个砝码 求天平的平衡有几种方案 分组背包 每个物品是一个组 总个m个物品m组 每个组有n个 因为每个物品可以在n个位置中任何一个 此外这题又是与负数 还是平移 可以滚动 因为不卡内存 所以没写滚动 写滚动还要考虑正负 #include #include #include cons...

2014-03-20 15:56:36

阅读数 919

评论数 0

HDU 3033 I love sneakers! / 分组背包

有k类物品 至少每种选一个 求最大价值 考虑只有一类物品 那么就是01背包了 现在k类 那就多加一维好了 dp[i][k] = max(max(dp[i][k], dp[i][k-x]+y), dp[i-1][k-x]+y); #include #include #include #inc...

2014-03-20 12:43:08

阅读数 898

评论数 0

提示
确定要删除当前文章?
取消 删除