自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 51nod算法马拉松20

先写一下做出的题吧(感觉自己好弱。。。。。) A: 拆分贡献,组合数搞一搞;#include<bits/stdc++.h> #define rep(i,k,n) for(int i=k;i<=n;i++) #define rep2(i,k,n) for(int i=k;i>=n;i--) using namespace std; typedef long long ll; const int N

2016-11-28 00:06:53 383

原创 bzoj1893&2371

2004年的论文《优化,再优化》 中所讨论的题的加强版(其实并没有加强多少……); 论文最后给出了n−√\sqrt{n}的复杂度; 其实可以用生成函数给出一种logn\log{n}的做法,而且更加清晰; 首先有递推式: g(i,j)=g(i−1,j)+g(i−1,j−1)+1g(i,j)=g(i-1,j)+g(i-1,j-1)+1 g(1,j)=1g(1,j)=1 1<i,j1<i,j

2016-11-27 19:10:59 306

原创 hdu5760

区间Dp,经典问题最长上升公共子序列的变式; 计数需要去重,思想在于对于本质相同的序列均将其表示到最大的哪个; 然后dp时依据包含关系就可以去重啦;#include<cstdio> #include<algorithm> #include<cstring> #define rep(i,k,n) for(int i=k;i<=n;i++) #define rep2(i,k,n) for(int i

2016-11-17 09:08:13 270

原创 sd省队集训二轮tree

感觉这题应该跟hdu5290很像,结果它们果然系出同源; 这个题应该处于更根源的位置; 根据算法3的思想,令dp[i][j][k]表示以i为根的子树且已经使用了j个黑点,最深未被覆盖的长度或者沿着根最多能覆盖多少长度。 但是这样状态会很多无法存下。 考虑将k表示成还拥有一个黑点k,使得点i为根的子树全被保护。 令T[i]表示[i不是黑点] 枚举k,当点u枚举到一个儿子v

2016-11-14 18:04:30 438 1

原创 hdu5290

tree dp; 考虑祖先对孩子的影响: 有g(i,j)表示 i 这个节点获得先祖的 j 深度的赏赐覆盖全部子树的最小代价 考虑孩子对祖先兄弟等的影响: 有f(i,j)表示 i 这个节点覆盖了全部子树且向外延伸j的最小代价 转移显然;#include<cstdio> #include<algorithm> #include<cstring> #define rep(i,k,n) for(i

2016-11-13 11:33:16 318

原创 bzoj4603 sdoi2016 r2 d2 dice

感觉题目考察的有些偏; 满中国oj都见不到类似的(晚半年的吐槽。。。。) 其实掌握了相关知识还是很裸的;#define rep(i,k,n) for(int i=k;i<=n;i++) #define rep2(i,k,n) for(int i=k;i>=n;i--) using namespace std; typedef double db; const int N=73; const db

2016-11-06 23:39:00 396

原创 poj3468 zkw线段树

这里使用了zkw线段树; 使标记永久化,并维护sum数组:仅考虑子树的区间和; 这样一个节点对答案的贡献就是子树和加上上方祖先的标记和; 代码中L,R数组均可省去(但由于笔者太懒。。。。。。) 这样就给出了一个与论文中不太一样的sb方法,但各种复杂度还是一样的;#include<cstdio> #define rep(i,k,n) for(int i=k;i<=n;i++) #define

2016-11-06 19:06:53 439

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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