自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AAAAAAAAAAAAAAC

一个弱渣的ACM

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

原创 hihocoder 1342 二分

#include #define Mem(a,b) memset(a,b,sizeof(a)) #define eps 1e-6 #define ll long long #define l(x) (x<<1) #define r(x) (x>>1) #define lson root<<1 #define rson root<<1|1 #define Mid int mid=(l+r)>>1 #

2017-04-01 16:19:03 375

原创 hihocoder 1503 二分贪心

跟周赛的有道题目比较像 双线性指针在上面跑 对于二分到的mid值 枚举每个点 在可以差值的地方不断的插 直到达到上届mid #include #define FREI freopen("in.txt","r",stdin) #define FREO freopen("out.txt","w",stdout) #define inf 0x3f3f3f3f #define Mem(a,b)

2017-03-29 22:21:55 409

原创 计蒜客上周赛的题 恶魔包毁灭世界

二分图建图+tarjan强联通 #include #define Mem(a,b) memset(a,b,sizeof(a)) #define N 10000 using namespace std; vector G[10000]; set ans[4000]; struct edge { int v,next; edge() {}; edge(int _v,int _

2017-03-28 23:22:00 303

原创 二分答案加DP判断

题意:给定数列{an},任意改动其中至多k项,求相邻两项差的绝对值的最大值的最小值。 思路:二分答案(二分的区间可以优化),对于某一个二分值mid,采用DP检验其可行性。 设dp[i]表示考虑前i个数,且第i个数不变,至少需要改多少个才能使得答案不大于mid。 那么考虑下一个不变的数是a[j],则a[i+1]~a[j-1]这些数可以任意改变,前提是abs(a[i]-a[j]) 接下来枚举最

2017-03-27 22:28:21 479

原创 HDU 5726 区间GCD=k的个数

不知为何改了了ll就过了 感觉Int应该不会有问题才对 做了两道区间GCD的 也算有点收获#include #define N 101000 #define FREI freopen("in.txt","r",stdin) #define FREO freopen("out.txt","w",stdout) #define Mem(a,b) memset(a,b,sizeof(a)) #def

2017-03-18 09:31:12 323

原创 HDU 5869 区间不同GCD的个数

GCD的预处理 区间GCD的种类数肯定小于LogN(每次增一个数 产生新的GCD必定小于原来GCD的1/2或者不增加) 类似HDU 3333的插入修改离线法#include #define N 101000 #define FREI freopen("in.txt","r",stdin) #define FREO freopen("out.txt","w",stdout) #define M

2017-03-17 15:25:30 568

原创 HDU 4521

参考神犇的博客的题目刷下来吧 线段树DP 最长上升子序列的扩展#include #define N 101000 #define lson root<<1 #define rson root<<1|1 using namespace std; int dp[N<<2],n,d; struct mark{ int val,id; }; mark a[N]; bool cmp(mark a,

2017-03-16 21:32:53 311

原创 hihocoder 1158 二分图

转化为求最大独立集 #include #define Mem(a,b) memset(a,b,sizeof(a)) #define lson root<<1 #define rson root<<1|1 #define Mid int mid=(l+r)>>1 #define FREI freopen("in.txt","r",stdin) #define N 500100 #define ll

2017-03-13 22:41:10 235

原创 hihocoder 1329 splay 伸展树

#include #define N 101000 #define FREI freopen("in.txt","r",stdin) #define FREO freopen("out.txt","w",stdout) #define Mem(a,b) memset(a,b,sizeof(a)) #define lson root #define rson root #define

2017-03-11 23:05:47 275

原创 BZOJ 2243 树链剖分+线段树

#include #define N 101000 #define FREI freopen("in.txt","r",stdin) #define FREO freopen("out.txt","w",stdout) #define Mem(a,b) memset(a,b,sizeof(a)) #define lson root<<1 #define rson root<<1|1 #defin

2017-03-10 21:47:08 237

原创 树链剖分 SPOJ375 线段树的维护

参考ACdream的 用深度较深的点表示边 故build过程为(1,2,n) 关于修改的关系 注解里还有些待解决的和深入理解的地方#include #define N 10100 #define FREI freopen("in.txt","r",stdin) #define Mem(a,b) memset(a,b,sizeof(a)) #define lson root<<1 #defi

2017-03-09 22:03:14 224

原创 树链剖分 HDU 3966

树链剖分模板题 把链映射到线段树上 询问的过程中 在一条链上的询问才是有效的 所以有个change操作(不是随意的划分区间) 注意区间连续和离散的区#pragma comment(linker, "/STACK:1024000000,1024000000") #include #define N 50100 #define FREI freopen("in.txt","r",stdin) #

2017-03-09 14:13:36 310

原创 HDU 3333 线段树+离散化

只查询区间不同的数的和(思路好题) 对查询离线 不断的往每个位置插值 并把前面位置的值置为0 每查到一个右端点 查询一下 (等价操作的转换) 离散化一下#include #define Mem(a,b) memset(a,b,sizeof(a)) #define lson root<<1 #define rson root<<1|1 #define Mid int mid=(l+r)>>1

2017-03-08 18:51:44 282

原创 2-SAT入门(tarjan强连通分量)hihocoder 1467

本质 是否存在布尔表达式的结果为真 用图论的知识解决#include #define Mem(a,b) memset(a,b,sizeof(a)) #define lson root<<1 #define rson root<<1|1 #define Mid int mid=(l+r)>>1 #define N 100100 using namespace std; int n,m,cnt; i

2017-03-07 18:00:47 376

原创 ACdream 1101 线段树维护LCIS

线段树维护LCIS  主要是Merge操作#include #define Mem(a,b) memset(a,b,sizeof(a)) #define lson root<<1 #define rson root<<1|1 #define Mid int mid=(l+r)>>1 #define N 100100 using namespace std; struct segtree {

2017-03-06 22:34:33 265

原创 HDU 5942 (杭州赛)

看的题解 写了下 数论思维好题 附上题解 https://async.icpc-camp.org/d/621-2016 #include #include #include using namespace std; typedef long long ll; const ll mod=1e9+7; const int maxn=1e6+10; ll n,cnt=0;

2016-10-29 22:01:16 460

空空如也

空空如也

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

TA关注的人

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