自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雯舞

Love three things int he world -- Manchery

  • 博客(76)
  • 资源 (2)
  • 收藏
  • 关注

原创 [莫比乌斯反演 树状数组] BZOJ 3529 [Sdoi2014]数表

#include#include#include#includeusing namespace std;typedef pair abcd;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p

2016-07-08 20:26:58 304

原创 [莫比乌斯反演] BZOJ 2820 YY的GCD

#include#include#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin

2016-07-08 20:14:19 297

原创 [莫比乌斯反演] BZOJ 2301 [HAOI2011]Problem b

比较水的反演了#include#include#include#include#includeusing namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1

2016-07-08 20:06:08 277

原创 [牛顿法 || 二分] BZOJ 1213 [HNOI2004]高精度开根 & 51Nod 1166 大数开平方

可以看贴吧的讨论:http://tieba.baidu.com/p/2873435742牛顿法 %%%hqztrueimport sysm=int(input())n=int(input())if n==0: print 0 sys.exit()_n=n;len=0while _n>0: _n/=10;len+=1base=300wei=len/mno

2016-07-08 19:50:24 1421

原创 [Meet In Middle] HDU 3017 Treasure Division

很裸了但是没打搜索 打了状压#include#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;typedef long long ll;const int N=35;int n,a[N];ll s1[N][1<<16],s2[N][1

2016-07-08 19:45:25 438

原创 [树形DP] IOI 2012 Ideal city

#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p

2016-07-07 22:06:36 400

原创 [LCT || 分块] IOI 2011 Elephants

分块做法 fhq OrzLCT做法 rzz Orz#include#include#include#include#includeusing namespace std;typedef pair abcd;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; i

2016-07-07 22:04:00 546

原创 [高斯消元 线性基 树 记数] BZOJ 2322 [BeiJing2011]梦想封印

删边变加边 如果加的是非树边 相当于加了一个环 加入线性基中如果加入的是树边 就dfs扩展树两条链是等价的 相当于 他们用线性基消过后是一样的 用set维护解是不等价链的个数*1减一是要去掉0#include#include#include#includeusing namespace std;typedef long long ll;inline c

2016-07-06 22:57:49 710 1

原创 [高斯消元 线性基] BZOJ 4269 再见Xor

这就很水了#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin)

2016-07-06 17:45:31 470

原创 [高斯消元 线性基] BZOJ 2115 [Wc2011] Xor

任意两条路径的和为一个环任取一条1-N的路,找一个环与其XOR和最大莫队 Orz #include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if

2016-07-06 17:44:36 270

原创 [高斯消元 线性基 贪心 拟阵 逆元] BZOJ 4004 [JLOI2015]装备购买

不是很懂拟阵那一套理论#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000

2016-07-06 17:37:54 406

原创 [高斯消元 线性基 贪心 拟阵] BZOJ 2460 [BeiJing2011]元素

基本同BZOJ3105#include#include#include#includeusing namespace std;typedef long long ll;typedef pair abcd;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=

2016-07-06 17:33:04 902

原创 [高斯消元 线性基 贪心 拟阵] BZOJ 3105 [cqoi2013]新Nim游戏

第一次拿完后,要使剩下的火柴中不存在异或和为0的子集,且让子集和最大求线性无关子集算术和最大值证明是个拟阵 但我不会拟阵记结论吧...#include#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static

2016-07-06 17:30:13 522

原创 [高斯消元 线性基 二进制拆分] BZOJ 2844 albus就是要第一个出场

和hdu3949刚好相反啦记得特判0还是一个结论 异或值有1#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=b

2016-07-06 17:25:47 361

原创 [高斯消元 线性基 二进制拆分] HDU 3949 XOR

意识流的记一个结论就好了 将K二进制拆分什么的 不难想注意特判0安利:http://hzwer.com/5491.html#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=

2016-07-06 17:21:50 397

原创 [二分答案 贪心] BZOJ 3248 [ioi2013]robots

考虑二分答案,这样只需检验m分钟内是否可以把所有玩具收拾好。将每个玩具i与坐标(W[i]:重量, S[i]:体积)对应,这样每个弱机器人可以收拾某一横坐标以左的玩具,每个小机器人可以收拾某一纵坐标以下的玩具。从右至左添加这些玩具,一旦某一时刻某个弱机器人可以收拾当前玩具,则它可以收拾之后的所有玩具。因此我们应尽量保留弱机器人,即优先使用小机器人。选择小机器人时,当然应该优先选择可以收拾

2016-07-05 18:43:03 887

原创 [决策单调性 分治 主席树] BZOJ 4367 [IOI2014]holiday假期

比较显然的做法 枚举l,r 然后主席树这题有很多单调性可以利用对一个确定的l 最优的r 是单调的 来分治#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if

2016-07-05 16:25:17 503

原创 [最小方差生成树 Kruskal] SRM 611 500pts

题目大意:小R计划给小Z买一个很大的庄园,庄园里的建筑可以抽象为二维平面坐标系上的N个点。对于任意两个点,他都可以修建一条笔直的公路使它们相连(该公路的长度即为两点的欧式距离) 。为了能腾出更多的资金给小Z买礼物,小R要恰好修建N-1条公路,使得任意两个建筑都能直接或者间接的到达。但小R有强迫症。他要使他修建的道路长度的这个数列的标准差尽量的小。设他修建的N-1条道路的

2016-07-04 20:52:42 779

原创 [树 树状数组] SRM659 1100pts

题目大意:题解:#include#include#includeusing namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return

2016-07-04 20:50:16 338

原创 [ST表] Codeforces Abbyy Cup 2.0-Final B Sequence

题目大意:题解:我们考虑最后一个位置是从哪里接收到的消息。 发出消息给最后一个位置的地方必然位于[n−an,n−1]。然后考虑这个位置是什么。设S=min(k-ak),n-an≤k≤n−1,对应的最小的k是k0。显然,除非第一个位置可以直接发消息到最后一个位置,那么消息从k0传递过来一定不会比从其他位置传递过来更劣。因此,我们得到了结论:对每个位置n,除非它是直

2016-07-04 19:35:50 404

原创 [状压DP] Codeforces Beta Round #72 Div1 E Two Subsequences

题目大意:题解:首先定义w[a][b]表示a串后面拼b串会增加多少个字符。 最朴素的状态表示dp[n][k]表示前n个字符串,不包含第n个字符串的子序列末端是第k个字符串的最小总长。转移是dp[n][k]=dp[n−1][k]+w[s[n−1]][s[n]],其中k!=n−1dp[n][n−1]=min{dp[n−1][k]+w[s[k]][s[n]]}然而这个

2016-07-04 19:29:36 370

原创 [DP 乱搞] 51Nod 1321 收集点心

#include#include#includeusing namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return EOF; } return *p

2016-07-04 19:21:18 381

原创 [矩阵快速幂 优化DP] 51Nod 1311 转换机

#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) re

2016-07-04 19:18:27 522

原创 [KM 树同构Hash DP] BZOJ 3197 [Sdoi2013]assassin

丢下题解跑:http://blog.csdn.net/PoPoQQQ/article/details/43206463#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;typedef unsigned long long ull; inline c

2016-07-04 19:03:23 555

原创 [对偶 KM算法 生成树 || 最大费用可行流 || 线性规划] BZOJ 1937 [Shoi2004]Mst 最小生成树

树边减,非树边加,wi表示i号边原来的边权,di表示i号边的改变量对于一条非树边,覆盖所有树边,都要满足:wi−di≤wj+dj得wi−wj≤di+dj这样的话d就是KM算法里的顶标跑最大匹配即可#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace

2016-07-04 18:44:48 907

原创 [最小乘积匹配 分治 KM] BZOJ 3571 [Hnoi2014]画框

类似最小乘积生成树的做法详见另一文:http://blog.csdn.net/u014609452/article/details/51822880#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;typedef pair abcd;inlin

2016-07-04 18:40:05 460

原创 [最小乘积生成树 分治] BZOJ 2395 [Balkan 2011]Timeismoney

丢下题解就走:http://www.cnblogs.com/autsky-jadek/p/3959446.html贴吧的讨论:http://tieba.baidu.com/p/3357839800#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;t

2016-07-04 18:37:09 617

原创 [KM算法] BZOJ 2539 [Ctsc2000]丘比特的烦恼

这就很裸了只是坑点实在多坐标有实数字串大小写不可连的边设为-inf貌似题目保证有完备匹配?#include#include#include#include#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;const int

2016-07-04 18:33:12 806

原创 [二分图完美匹配必要边 强连通分量] BZOJ 2140 稳定婚姻

求二分图完备匹配的必要边,①存不存在增广环? O(N^2) ②直接试着删去按照hungery找完备匹配 O(N^3)。如果一个点所在的强连通分量大小大于1,那么说明原图存在一条匹配边-非匹配边-匹配边-非匹配边的环,所以这些边不一定在最大匹配上。#include#include#include#include#include#define V G[p].vusing

2016-07-04 18:26:17 805

原创 [Polya] POJ 2409 Let it Bead

水题...#include#includeusing namespace std;typedef long long ll;ll Gcd(ll a,ll b){ return b?Gcd(b,a%b):a;}inline ll Pow(ll a,ll b){ ll ret=1; for (;b;b>>=1,a*=a) if (b&1) ret*=a;

2016-07-03 12:52:41 315

原创 [仙人掌DP] BZOJ 4316 小C的独立集

很裸的仙人掌DP算模板题吧#include#include#include#include#define cl(x) memset(x,0,sizeof(x))using namespace std;typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf;

2016-07-03 12:50:40 427

原创 [乱搞] BZOJ 1484 [HNOI2009]通往城堡之路

什么仙人掌DP啊,我好怕怕啊题解:http://blog.csdn.net/zeyu_king/article/details/44924517#include #include #include using namespace std; typedef long long ll; inline char nc(){ static char bu

2016-07-03 12:48:21 588

原创 [仙人掌同构 Hash] BZOJ 3899 仙人掌树的同构

Po姐说:http://blog.csdn.net/PoPoQQQ/article/details/46830025仙人掌hash现在变成了仙人掌,那么我把每个环变成一个红点连向环上的所有点,然后把原先环上的边拆除,可以得到一棵树,按树同构做就行了为了区分红点和普通点的区别,需要为红点设置不同的哈希参数但是这样有一个BUG,就是原先环上的点是有顺序的,而变成树之后也

2016-07-02 00:18:02 771

原创 [仙人掌最短路] BZOJ 2125 最短路

题解:http://blog.csdn.net/wzq_qwq/article/details/49794357首先如果这是一棵树的话,那么我们只需要选定一个根,之后扫一遍这棵树,询问的话即是两点到根节点的距离之和减去二倍的两点lca到根节点距离。 那么如果是一棵仙人掌的话,我们强行套用这个办法,重新构造一棵树。 对于仙人掌中的一个环来说,我们把该环中深度最小的点当做这个环的根

2016-07-02 00:14:08 876

原创 [仙人掌直径 单调队列 DP] BZOJ 1023 [SHOI2008]cactus仙人掌图

题解:http://z55250825.blog.163.com/blog/static/150230809201412793151890/http://hzwer.com/4645.html#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ s

2016-07-02 00:07:22 859

原创 [环套树 单调队列DP] BZOJ 1791 [Ioi2008]Island 岛屿

先找环 用环上每个点的子树的直径更新答案然后跨环 把环展开倍增 做一遍单调队列DP max{f[i]+sum[i]+f[j]-sum[j]}似乎可以直接套仙人掌模板啊注意 long long 会爆栈 懒得手写栈 先让它RE好了#include#include#includeusing namespace std;typedef long long ll;in

2016-07-02 00:04:49 873

USACO全部译题

USACO全部译题,美国题库USACO全部译题,超经典的题目

2014-07-17

空空如也

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

TA关注的人

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