自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 bzoj 1820: [JSOI2010]Express Service 快递服务

直接写状态的话,可以用dp[i][j][k][l]表示位置在j,k,l,当前完成的是第i个任务。发现j,k,l一定有一个和p[i]相同,可以再减掉一维。这样的话复杂度就是m^2n的。但是空间只有64M,所以还需要再滚动数组压掉一维。#include<bits/stdc++.h>#define N 1010#define M 210using namespace std;int ...

2018-04-26 19:19:10 282

原创 BZOJ 3158&3275

WA了无数次后,发现自己的板子挂了。。#include<bits/stdc++.h>#define N 3010#define M 1001000using namespace std;int beg[N],cop[N],dis[N];long long a[N],b[N];int to[M],ll[M],nex[M];int n,len=1,S,T;long long...

2018-04-26 19:16:34 211

原创 BZOJ 1819: [JSOI]Word Query电子字典

建出Trie树暴力扫一遍。#include<bits/stdc++.h>#define N 200100using namespace std;int s[N][26];int cx[N],en[N];char c[N];int n,m,cnt,l;void insert(int &p,int w){ if(!p) p=++cnt; if(w==l){ e...

2018-04-26 15:36:27 310

原创 BZOJ 1569: [JSOI2008]Blue Mary的职员分配

随便记一下状态,然后再随便转移一下,没了。Tips:1.第三天招来的人第四天才能工作2.当天赚的钱可以用来招人#include<bits/stdc++.h>using namespace std;int dp[41][101][41][4][2];int n,x,y,z,A,B;int bes=1008610086;int dfs(int rs,int jq,int sy,i...

2018-04-25 21:39:32 177

原创 BZOJ 1568: [JSOI2008]Blue Mary开公司

李超线段树裸题,每个区间维护覆盖当前区间中线的线段,发现答案必然在这些线段中。复杂度听说是两只log,但感觉实际上只有一只?#include<bits/stdc++.h>#define N 100100using namespace std;double s[N<<2],p[N<<2];int done[N<<2];int n;char ...

2018-04-25 20:16:09 131

原创 bzoj 1560: [JSOI2009]火星藏宝图

考虑DP,朴素的DP是N^2发现如果有路径A->B,B->C,A->C,那么一定是A->B,然后再B->C也就是说,对某个点有影响的点位于一个凸包上。由于坐标范围只有[1,M],所以复杂度应该是O(NM),实际上可以通过此题。似乎转移的斜率还有单调性,但是懒得再推了。#include<bits/stdc++.h>#define M 1010#defin...

2018-04-24 21:06:17 140

原创 bzoj 4421: [Cerc2015] Digit Division

水题#include<cstdio>char s[1<<20];int n,m,i,a=(1e9+8)/2,t;main(){ scanf("%d%d%s",&n,&m,s); for(;i++<n;){ t=(t*10+s[i-1]-'0')%m; if(!t)a=(a<<1)%int(1e9+7); } if(t)...

2018-04-24 21:01:10 140

原创 BZOJ 3182: [Coci2012]BLOKOVI

感性认识一下,发现方案必然是这样的:也有可能是从下往上一直往右的。这样我们就有了一种O(N^2)做法:枚举转折点,然后计算最右方块的坐标减去最下方块的坐标。考虑从上往下枚举转折点。发现一个方块只有两种放法:往能放的最右放,或者往能放的最左放,也就是说,两种方案坐标的差值为2。还有一个性质:一个方块放左还是放右,对其下的方块的整体形状没有影响。可以得到一个式子:从放在一边转到另一边,相当于其下所有方...

2018-04-22 18:49:16 226

原创 BZOJ 4349

最小树形图模板#include<bits/stdc++.h>#define N 550#define M 10100using namespace std;int n,m,f,len;int t[N],done[N];int rs[N],pla[N];int l[M],r[M];double va[M],zx[N],ans;inline void Add(int a,...

2018-04-19 20:36:28 211

原创 BZOJ 3522&4543

题意:求一棵树上有多少个三元组{x,y,z}满足x<y<z且两两距离相同。解法1:启发式合并,每个点继承最大的孩子的信息,用指针O(1)转移,其余孩子O(size)加入,这样可以维护子树中所有节点的深度信息和所有二元组{x,y},x,y深度相同且在同一棵子树中的个数。然后就可以算了,复杂度是O(nlogn)#include<bits/stdc++.h>#define N ...

2018-04-18 22:02:34 259

原创 BZOJ 1302 ZOJ 2271

简单概率题,新加SPJ,注意n可能是偶数=。=#include<bits/stdc++.h>#define N 110using namespace std;int n;double dp[N][N][N];int main(){ while(scanf("%d",&n)!=-1){ for(int i=0;i<=n;i++) ...

2018-04-17 15:04:04 201

原创 HNOI2018题解(转盘暂缺)

道路简单的难以置信的树上dp,一度以为自己看错题了#include<bits/stdc++.h>#define N 20010using namespace std;int a[N],b[N],c[N];int gl[N],tl[N];long long dp[N][42][42];int n,tot;long long dfs(int p,int x,int y){ ...

2018-04-17 14:51:59 335 1

原创 bzoj 1468

点分模板,答案随便加加减减(为啥计划里留了一题最简单的没写)#include<cstdio>#include<algorithm>#include<cstring>#define N 16384using namespace std;inline void read(int &a){ int f=a=0;char ch=getchar();...

2018-04-08 23:31:47 158

空空如也

空空如也

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

TA关注的人

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