自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HbFS-

Would you like?

  • 博客(9)
  • 收藏
  • 关注

原创 HDU5898 oddeven 数位DP

啊好菜啊知道是数位DP但是不会做最后交了暴力上去改了一年改出来了数位DP:F[ i ][ j ][ mask ]:用来表示第i个数字,j是记录的其他信息,mask是这一位的选择是否受到限制#include #include #include #define N 20using namespace std;typedef long long LL;

2016-09-28 21:04:49 308

原创 BZOJ4012 点分治+排序

点分治:记录每个分支根到它管辖所有节点的距离和颜色,按颜色排序后求前缀和。#include #include #include #include #include #define zw for (int i=head[u];i;i=e[i].next)#define y e[i].b#define INF 2147483647#define N 150050

2016-09-27 11:55:27 440

原创 BZOJ4537 [ HNOI2016 ] 最小公倍数 (按轶合并带权并查集+分块离线)

太弱啦,看了题解才知道怎么做 离线算法: 对于单组询问x , y , a , b,我们可以将边权小于a的点全部加入带权并查集,然后判断x,y所在的并查集里面最大的权值是否为b。 对于多组询问,我们采用分块离线的算法。将边权按a为第一关键字升序排序,每k个分一组,总共有m/k组。 对于在这个分组之前的所有分组和当前分组内的边,按b为第一关键字升序排序,记录下在这个块内需要被统计的答案。对块内询

2016-09-26 19:37:17 560 1

原创 HDU5828 区间开根加法求和 线段树

先需要想到一个结论:对于线段树上的一块,进行整体开根和加法(加法不影响结果)的次数越多,区间的最大值与最小值的差越小。利用这个性质,我们维护一棵线段树,线段树上维护区间最大值、最小值、和、元素个数。对于建树、区间加法(修改)、区间查询,写法就是朴素的线段树对于区间开根:1、若区间最大值和最小值的差为0,即整个区间的所有元素相等。此时开根相当于区间覆盖同一个值。2、若区间最大

2016-09-19 13:27:37 875

原创 BZOJ1188 SG函数学习小记

SG函数用来求博弈过程中某一情况下是先手必败(P-position)还是先手必胜(N-position)性质:所有的先手必败(P-position)当且仅当 SG = 0所有的先手必胜(N-position)当且仅当 SG != 0结束局面(T-position)SG = 0 ,可以理解为无法继续操作了所以先手必败SG(x) = mex{ SG(y) | y是x的后继 } (m

2016-09-15 10:21:50 361

原创 BZOJ2064状态压缩动态规划

n1和n2都小于等于10,考虑状态压缩动态规划预处理:d[ i ][ j ]表示开始状态的子集i,变成结束状态的子集j所需要的步数。(这里需要i的面积和与j的面积和相等,所需要的步数是暴力合并i和暴力拆分j的步数)DP:F[ i ][ j ]表示当前剩余状态开始状态的i,和结束状态的j。枚举i的子集p , j ^ (1         主动递推:F[ i ^ p ][

2016-09-12 13:59:32 390

原创 BZOJ1090记忆化搜索

F[ i ][ j ]表示将字符串压缩 i , j所需要的最小代价枚举转移#include #include #include #define N 105using namespace std;bool vis[N][N];int F[N][N],n;char s[N];bool check(int l,int r,int i) { int t = 0; for

2016-09-12 09:19:15 281

原创 BZOJ1079

http://hzwer.com/1884.html解释得很清楚注意F数组的定义这么多维的DP写记忆化搜索会更好写#include #include #define mod 1000000007LL#define N 16using namespace std;typedef long long LL;int x[10],n;LL F[N][N][N][N][

2016-09-11 23:00:04 349

原创 BZOJ2741分块+字典树

分块+字典树走起F[i][j]表示在第i,j个块间选l,r的答案A[j][i]表示第j个单点到第i个块的答案两边的散点暴力合并加入字典树统计答案注意数组的定义:明确数组的内涵#include #include #include #include #define N 12050#define sizTrie 12050#define sqrtN 500#define dm 30

2016-09-09 21:25:14 307

空空如也

空空如也

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

TA关注的人

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