自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sxb_201的博客

蒟蒻要刷题~~

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

原创 多校胡策 round5 by:yts1999

T1显然排序扫描就可以  数据出问题了T2论文题 是13年集训队论文的简化版本可以做两遍凸壳 然后再按照每个点可以看到的最大深度排序 用链表维护Orz yzy线段树差点A掉[开错数组T3暂时不会 数据出问题了T1#include #include #include #include using namespace std;#

2016-04-27 16:11:29 738

原创 bzoj 3218: a + b Problem|最小割|主席树

本来以为是强行加主席树 没想到是主席树优化建边 太神了!!注意主席树叶子节点的特判 wa了1h+!#include #include #include #include using namespace std;const int MAXN=5000+10;const int MAXM=5000*100;const int INF=1000000000;in

2016-04-26 21:13:32 500

原创 A1339. JZPLCM(顾昱洲)|树状数组|hash表|逆元|分解质因数

各种细节实现 注意 树状数组 的下标不能为 0注意 代码条理清晰#include #include #include #include const int maxn=1e5+10;const int mo=1000000007;const int sqrn=31623;#define LL long longusing namespace std;int n,m;

2016-04-26 15:49:11 936

原创 A1490. osu!(乔明达)|概率与期望|卡常|矩阵

60TLE把要求信息拆分 用 线段树和矩阵维护#include #include #include using namespace std;const int MAXN=5e5+10;const int LOGN=5e5*4+10;struct H{double j1,j2,j3,j4,s0,s1,L,R;};int n,m;double num[LOGN];H jj[L

2016-04-26 10:13:56 877

原创 bzoj 4318: OSU!|概率与期望|dp

好迷啊;概率的平方?平方的概率?#include double x,f[100000+10],d1[100000+10],d2[100000+10];int n;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%lf",&x); d1[i]=(d1[i-1]+1)*x; d2[i]=(d

2016-04-26 07:11:51 366

原创 bzoj 4108: [Wf2015]Catering|带上下界最小费用可行流

终于搞懂 上下界网络流了!注意边的数量#include #include #include #include using namespace std;const int MAXN=1200;const int INF=1000000000;int tot=1,g[MAXN*10],num[MAXN*20],nnext[MAXN*20],flow[MAXN*20

2016-04-25 21:35:43 1391

原创 BZOJ 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘|二维凸包

纠结之后还是写的 水平序的凸包极点序也不好写 可能有隐含错误凸包裸题#include #include #include #include #include #include #include #include #define LL long long#define ULL unsigned long longconst int mo=1e9+7

2016-04-24 14:19:29 285

原创 bzoj 2815: [ZJOI2012]灾难|倍增lca|思路题

详见fhq blog主要是先拓扑..然后构建新树 然后倍增求儿子#include #include #include #include using namespace std;const int MAXN=700000;struct EDGE{ int tot,g[MAXN],nnext[MAXN],num[MAXN]; void add(int x,int y)

2016-04-23 15:13:04 516

原创 【BZOJ 1832】 [AHOI2008]聚会|倍增lca

100ac 留念双倍经验题两两求距离 相加除以二为距离两两求lca depth最大为三个的lca#include #include #include #include using namespace std;const int MAXN=500000+10;int to[MAXN][20],depth[MAXN];int tot,g[MAXN],nne

2016-04-23 08:31:00 398

原创 【Vijos 1595】 学校网络|tarjan

强连通分量缩点 然后统计入度为零的点的数量和出度为零的点的数量a.输出入度为零的点的数量b.输出两个数量的最大值 (如果只有一个强连通分量输出0 需要特判以上正解开始我不想写tarjan yy了下觉得dfs随便搞下就行 然后90分 其实数据太弱 我那是错解tarjan:1.root缩点时建边注意不要重复2.没了#include int n,in,o

2016-04-21 09:38:56 310

原创 【BZOJ 3653】 谈笑风生|主席树

好神的思路按dfs序建树 深度作为范围详见黄学长等wa了一次1.没有 long long 输出2.询问的时候没有加root[]调试很长时间#include #include #include #include using namespace std;#define LL long longconst int MAXN=300000+10;i

2016-04-21 06:35:23 573

原创 【BZOJ 2738】 矩阵乘法|分块|离线

好像还有其他的高大上的算法不过分块最简单了直接分成n块 暴力搞就行详见popoQQQ http://blog.csdn.net/popoqqq/article/details/41356899卡过去的 跑的好慢错过几次1.范围500不是2002.最后输出q个 不是n个3.中间有变量写错#include #include #includ

2016-04-20 10:34:31 331

原创 【BZOJ 1150】 [CTSC2007]数据备份Backup|链表|堆|贪心

同 2151不过不是环 需要在两端加上最大数 也就是 pre[2]=nxt[n]=0; num[0]=INF;#include #include #include #include #include using namespace std;const int MAXN=200000+10;int pre[MAXN],nxt[MAXN],num[MAXN];bool

2016-04-20 08:48:01 257

原创 【BZOJ 2151】 种树|堆|贪心|链表

用堆优化 链表记录 每次选最大的然后 用 num[pre]+num[nxt]-num[now] 替换num[now] 同时更新链表具体见 http://www.myexception.cn/program/1967776.html#include #include #include #include #include using namespace std;con

2016-04-20 08:09:51 453

原创 【弱校胡策】 DQS 的 tree|倍增LCA

分类讨论下就行不知道正解咋样好像只有我没A T2#include #include #include #include using namespace std;#define LL long lonconst int MAXN=1e5+10;const int LOGN=17+1;int depth[MAXN],to[MAXN][LOGN],mmax[MAXN][LOG

2016-04-19 14:34:05 667 1

原创 【BZOJ 3884】 上帝与集合的正确用法|欧拉函数

开始我感觉题目有问题 。。后来问了下发现题解说的很对 http://blog.csdn.net/popoqqq/article/details/43951401快速幂写错耽误一段时间....  搞清幂和指数!注意LL!!!(LL)(t*t) 这样会爆 T_T#include #include #include #includ

2016-04-18 17:26:47 745

原创 【CodeVS 1477】 永无乡 |Splay

Splay的启发式合并 每次把小的树拆开放在插入在大树里这样可以保证复杂度#include #include #include using namespace std;#define MAXN 100010int father[MAXN],root[MAXN];int fa[MAXN],to[MAXN][2],size[MAXN],num[MAXN],id[MAXN];

2016-04-18 15:04:59 666

原创 【BZOJ 1500】 维修数列|Splay

就是数据结构题不过很难调 练码力啦#include #include #include #include using namespace std;#define N 1000000+100#define L(x) to[x][0]#define R(x) to[x][1]#define I inline int n,m,init[N],fa[N],to[N][2],roo

2016-04-15 07:09:09 250

原创 【BZOJ 1833】 [ZJOI2010]count 数字计数|数位DP

一位一位的来计算然后0会计算多次 然后减掉#include #include #include #include using namespace std;#define LL long longconst int MAXN=20;LL a[MAXN],b[MAXN],s[MAXN],mi[MAXN];void f(LL x,LL a[]){ int top=0;LL

2016-04-13 20:13:52 284

原创 【BZOJ 1031】 [JSOI2007]字符加密Cipher|后缀数组

先把串复制一遍然后对这个2n的串求后缀数组然后输出sa值小于n的开始我只是对n做后缀数组 wa不停 耽误了很长时间如果只是对n求后缀数组的话 不能求出后面n的rank值 就不能倍增!!!#include #include #include using namespace std;const int MAXN=200000+100;char s[MAXN

2016-04-13 14:48:11 259

原创 【UOJ 35】 后缀排序|后缀数组 *3

可以在开始处理rank数组!注意字符集大小#include #include using namespace std;const int MAXN=1e5+100;char s[MAXN];int n,rank[MAXN],sa[MAXN],tmp[MAXN],cnt[MAXN],sec[MAXN],height[MAXN];void get_sa(){ int nn=0;

2016-04-13 09:33:12 271

原创 【UOJ 35】 后缀排序|后缀数组 *2

第二遍 换了种实现方式代码干净多了#include #include #include #include using namespace std;const int MAXN=1e5+10;int n,sa[MAXN],tmp[MAXN],rank[MAXN],sec[MAXN],cnt[MAXN],height[MAXN];char s[MAXN];void get_sa

2016-04-13 08:53:53 332

原创 【UOJ 35】 后缀排序|后缀数组

用后缀数组求sa height数组连学加调试搞了一天注意字符范围倍增停止时间每个数组代表的意义!#include #include const int MAXN=100000*40+10;char s[MAXN];int len,tmp[MAXN],secsa[MAXN],rank[MAXN],sa[MAXN],height[MAXN],cnt[MAXN],in

2016-04-12 20:57:49 248

原创 【BZOJ 4260】 Codechef REBXOR|trie

用tire求异或最大利用异或的性质!#include #include #include #include using namespace std;const int MAXN=4e5+10;int n,tot,num[MAXN],to[MAXN*30][2],head[MAXN],tail[MAXN];void add(int v){ int now=0; for(i

2016-04-12 09:14:01 304

原创 【HDU 3068】 最长回文|manacher

就是manacher算法注意下 while(scanf()==1) 看来是和scanf的返回值有关 必须加==1了#include #include #include using namespace std;char s[110000+10],tmp[110000*2+10];int f[110000*2+10],mmax,mx,id;int main(){ while(s

2016-04-11 19:46:45 216

原创 【BZOJ 3555】 [Ctsc2014]企鹅QQ|hash

不知道有用hsah表A掉的吗?我开始写hash表 最后TLE了 应该状态太多 均摊不是o(1)?然后写的是 两头hash 最后合并 采用排序而不是hash表来判断是否相等注意合并的时候要 把其中的一个*一个数 来区分那个是头那个是尾 【我这里被卡了#include #include #include using namespace std;#define LL un

2016-04-11 18:48:52 370

空空如也

空空如也

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

TA关注的人

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