自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 3720: Gty的妹子树

树分块..#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)using namespace std;const int N=60105;int n,lastans=0,Size,w[N],m,belong[N],cnt=0,fa[N],ans;struct E{ int to,next; E(i

2016-04-30 09:53:17 334

原创 bzoj 4513: [Sdoi2016]储能表

神奇乱搞; “二进制分组”#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;int T,p,ans=0;ll n,m,q,zn,zm,bin[

2016-04-30 09:52:18 1114

原创 2331: [SCOI2011]地板

插头dp; 姿态1;#include<cstdio>#include<algorithm>#include<bitset>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define mod 20110520using namespace std;const int N = 5000000;int n, m;int g[N], ans[N],

2016-04-30 09:50:48 291

原创 bzoj2527: [Poi2011]Meteors

整体二分;#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define inf 0x3f3f3f3fusing namespace std;const int N=300005;typedef long long ll;vector<int> a[N];int n,m,K,p[N],l[N],r[N],

2016-04-30 09:48:59 363

原创 bzoj 2208: [Jsoi2010]连通数

神奇bitset;#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)using namespace std;const int N = 2005;const int M = 4000000;struct E { int to, next; E(int to = 0, int next = 0):

2016-04-30 09:47:02 294

原创 2594: [Wc2006]水管局长数据加强版

填坑!#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define ls ch[x][0]#define rs ch[x][1]using namespace std;const int maxt = 1500005;const int maxn=100005;const int maxm=100000

2016-04-30 09:43:11 592

原创 bzoj4518: [Sdoi2016]征途

赤果果斜率dp…#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<queue>#include<iostream>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define rep2(i,k,n) for(int i=k;i>=(n);i--)

2016-04-30 09:42:04 251

原创 bzoj4517: [Sdoi2016]排列计数

赤果果的错排…#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<queue>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define rep2(i,k,n) for(int i=k;i>=(n);i--)#define mod 10000000

2016-04-30 09:40:36 356

原创 bzoj2631: tree

lct; 注意标记可以看作a*x+b#include<cstdio>#include<algorithm>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define mod 51061#define ls ch[x][0]#define rs ch[x][1]using namespace std;const int N=100005;typ

2016-04-30 09:39:00 281

原创 bzoj 3555: [Ctsc2014]企鹅QQ

hashashashashash…. 这题也要看题解,没救了…#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define si 131using namespace std;typedef unsigned long long ll;const int N=30005;ll hash[N][205],

2016-04-30 09:36:22 189

原创 bzoj1103: [POI2007]大都市meg

dfs序+树状数组维护;#include<cstdio>#include<algorithm>#define rep(i,k,n) for(int i=k;i<=(n);i++)using namespace std;int read(){ int x=0;char ch=getchar(); while(ch<'0'||ch>'9')ch=getchar(); wh

2016-04-30 09:34:41 289

原创 2326: [HNOI2011]数学作业

矩阵乘法,“10进制分组”#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)using namespace std;typedef unsigned long long ll;ll mod;ll n;struct ju{ ll a[4][4];ju(){memset(a,0,sizeof(a));}}

2016-04-30 09:33:17 242

原创 bzoj4310: 跳蚤

二分+后缀数组;#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;const int maxn=100105;typedef long long ll;int K,sa[maxn],he[

2016-04-30 09:28:37 486

原创 4289: PA2012 Tax

迷之建图… 考虑边转点,点转边; 每条边拆成两条有向边 新图中两点(原边)连边当且仅当其有公共点,边权为原图中两边的较大值; 并新建源点汇点,分别与原图中与1,n相连的边连边; 跑最短路即可…. 但这样建图边为O(M^2)级别;考虑枚举中转点x,将所有与它有关的边按费用从小到大排序。 对于每条边,从以x为终点的点向以x为起点的点连边,费用为该边的费用。 从以x为起点的点向下一条边连边

2016-04-30 09:21:24 592

原创 1692: [Usaco2007 Dec]队列变换

贪心,后缀数组保证正确性#include<bits/stdc++.h>#define rep2(i,k,n) for(int i=k;i>=(n);i--)#define rep(i,k,n) for(int i=k;i<(n);i++)using namespace std;const int maxn=100000;int n;char read(){char c=getchar()

2016-04-30 08:57:52 355

原创 bzoj 3894: 文理分科

最小割经典模型 其实最小割就是可以保证有一条边必须被割掉#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)#define inf 1000000000using namespace std;const int N=103;const int maxn=50017;const int M=1000005;i

2016-04-30 08:53:50 414 1

原创 2659: [Beijing wc2012]算不出的算式

数竞基础…整点…嗯#include<cstdio>int main(){ long long p,q; scanf("%lld%lld",&p,&q); if(p==q)printf("%lld",((p-1)/2)*((q+1)/2)); else printf("%lld",((p-1)/2)*((q-1)/2));}

2016-04-30 08:46:02 324

原创 3670: [Noi2014]动物园

维护两个指针,记录cnt表示能向前跳几步#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1000005;ll ans=1;int p[maxn],cnt[maxn],T,n;char s[maxn];int main(){//freopen("in.in","r",stdin);

2016-04-30 08:32:49 286

原创 bzoj4459 丢番图

去分母得到 xy=xn+yn xy-xn-yn=0 xy-xn-yn+n^2=n^2 (x-n)(y-n)=n^2答案就是n^2的约数个数/2(向上取整)…对不起初中数学老师….#include<bits/stdc++.h>using names

2016-04-30 08:25:35 324

原创 bzoj3930 [CQOI2015]选数

首先注意 H-L≤10^5 这个条件,从而可以递推: 记f[i]为gcd恰好为K*i的选数方案数 那么对于每一个i 记L为 a/(K*i) 上取整 R为 b/(K*i) 那么他的方案数就为 (R-L+1) ^ N - (R-L+1) 再减去f[a*i] (a = 1,2,3….) 最后的f[1]即为答案 注意若a/K上取整 == 1 那么全部选K也是一种方案 需要+1引用自

2016-04-30 08:13:46 314

原创 bzoj 1187 [HNOI2007]神奇游乐园

插头dp;参考cdq的论文; 感觉模仿po姐先把状态转移写出来,会更加清晰好调; 注意情况分类,与换行时的小讨论;/************************************************************** Problem: 1187 User: jiazihankk Language: C++ Result: Accepted

2016-04-16 22:35:09 270

原创 bzoj 2510: 弱题

dp,方程易得;用循环矩阵优化;#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=(n);i++)using namespace std;const int N=1005;int n,m,k;struct mat{ double a[N]; mat(){rep(i,1,n)a[i]=0.0;} ///}ans

2016-04-04 22:49:11 341

原创 bzoj 2733: [HNOI2012]永无乡

treap启发式合并;#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=n;i++)#define ls ch[x][0]#define rs ch[x][1]#define son ch[x][d]using namespace std;const int N=100005;int root[N],p[N],ch[N][

2016-04-04 22:46:26 307

原创 bzoj 2648

kd_tree; 目前仍理解不足…#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=n;i++)using namespace std;const int N=500005;const int inf=0x7f7f7f7f;struct P{ int d[2],mn[2],mx[2],l,r; int& op

2016-04-04 22:45:05 547

原创 bzoj 1812 river

树形dp,转化为儿子兄弟表示法成为一棵二叉树,然后用二叉树的角度dp#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=n;i++)using namespace std;const int maxn=20000;const int N=150;typedef long long ll;int head[N],tot=0;s

2016-04-04 22:43:11 339

原创 bzoj 1095

动态点分治做法; 更新一个点只会影响一条log的链,信息用三个堆维护; 点分治作为复杂度保证#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=n;i++)#define inf 0x7f7f7f7fusing namespace std;const int N=100005;struct heap{ priorit

2016-04-04 22:40:04 429

原创 bzoj 1095

神题啊。。。 括号序列做法; 代码扒的hwzer的…#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=n;i++)#define ls x<<1#define rs x<<1|1using namespace std;const int N=100005;const int N2=500005;const int in

2016-04-04 22:37:00 251

原创 bzoj 3223

splay#include<bits/stdc++.h>using namespace std;const int maxn=100005;int ch[maxn][2],fa[maxn],vis[maxn],val[maxn],root=0,tot=0,s[maxn],n,m;inline void down(int x){ if(vis[x]){ int k1=c

2016-04-04 22:33:35 311

原创 bzoj 1098

求补图联通快数量,使用链表加速的bfs;#include<bits/stdc++.h>using namespace std;const int maxn=100005;int next[maxn],pre[maxn],head[maxn],t[maxn],tot=0,n,m,ans=0,way[maxn];struct E{int to,next;E(int to=0,int next=0

2016-04-04 22:32:20 449

原创 bzoj 1468

楼教主男人八题之一… 点分治做法#include<bits/stdc++.h>#define rep(i,k,n) for(int i=k;i<=n;i++)using namespace std;const int inf=0x7f7f7f7f;const int maxn=100005;int head[maxn],s[maxn],vis[maxn],n,sta[maxn],top=

2016-04-04 22:30:36 220

空空如也

空空如也

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

TA关注的人

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