自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 find job(快速排序)

/****/* 快速排序void q_sort(int l,int r){ if(l >= r)return; int left = l,rig = r,x = s[l]; while(left < rig){ while(left = x) rig --; if(left < rig) s[left++] = s[rig];

2015-04-21 21:37:15 449

原创 链表逆序

class Solution {public: ListNode* printListFromTailToHead(struct ListNode* head) { ListNode *root = new ListNode(0),*p; while(head){ p = head->next; head->next = root->n

2015-04-16 10:58:04 389

原创 hdu 4135 容斥原理

又搞了一道容斥原理。题目:求【1,n】区间对m互质的数有多少个?#include#include#include#include#includeusing namespace std;#define LL __int64const int maxn = 1e5+8;LL a[maxn],cn,numpri[maxn],vis[maxn],dis[maxn];LL n,m;

2014-11-05 21:28:53 668

原创 hdu 5072

题意: 求有多少的3元祖,并且每个3元组彼此互质或者不互质,求这样的3元组的个数:转化为求的n个数中与x互质的数有多少个,可以用容斥原理来做总结: 一般求因子的倍数的个数,都是用容斥原理#include#include#include#include#includeusing namespace std;#define LL __int64const int maxn =

2014-11-05 20:37:06 1289

原创 树的直径 poj 2631

树的直径:从任意一点出发,BFS找到最远的距离,然后在从该点出发BFS找到最远的距离#include #include #include #include #include #include #include #include using namespace std;const int maxn = 10008;const int inf = 0x3ffffff;stru

2014-11-03 16:47:19 722

原创 sgu 194上下界网络流

又搞了个模板,这个模板应该ok,足以应付各种网络流了题意:给n个点m 条边,其中每条边的流量有两个限制不能大于r不能小于l,求是否有可行解,如有输出每条边的流量#include#include#include#includeusing namespace std;const int maxn = 1000000;const int oo = 0x3777777;struct

2014-10-29 14:44:46 724

原创 HDU 3911 线段树区间合并

北京赛区快了,准备突击数据结构和图论,倒计时 18天,线段树区间合并,维护一个最长连续。。题意:给一个01串,下面有一些操作,问区间最长的连续的1的个数思路:很裸的线段树区间合并#include#include#include#include#include#define lson id << 1#define rson id << 1|1using namespace

2014-10-28 10:42:03 802

原创 codeforces 468B 2-sat

今天明白了2-SAT;表示对一对整数之间的关系是否存在#include#include#include#include#includeusing namespace std;const int Maxn = 1e5+10;int mark[Maxn << 1];int s[Maxn * 2],top,tp;int head[Maxn*2];map mp;int x

2014-10-23 11:44:24 743

原创 codeforces 283C

给 n 中 钱币,以及每两种钱币的关系,表示,ai 的 个数 要大于 bi 组合成一个价值val,求方案数,好神奇的一个处理方式,不得不说又学到了#include#include#include#includeusing namespace std;const int mod = 1e9 + 7;const int M = 1e5 + 1;long long dp[M];int

2014-10-21 08:12:06 1055

原创 NYOJ 1085 AC自动机基础模板

今天学了AC自动机,可以说AC自动机是把匹配的串建立成为一颗trie,然后就和kmp 是一样的题意:判断在一篇文章中有多少单词出现过,并输出来#include#include#include#include#includeusing namespace std;const int maxn = 1000007;int cnt;struct Node{ Node *f

2014-10-18 10:36:30 787

原创 hdu 1569 最大流

擦,搞了几个模板,都有错,就这个还好吧#include #include #include #include #include #include #include #include #include #include #include #include #define LL long long#define pii pair#define INF 0x3f3f3f3f

2014-10-14 09:59:08 818

原创 SGU 321 知道了双端队列,

思路: 贪心,每次删除最上面的边。。#include#include#include#include#include#include#includeusing namespace std;const int M = 200008;deque q;vector vi;int first_edge[M],next_edge[M],to[M],ty[M],sum;

2014-10-11 09:25:33 744

原创 Hdu 3804 树链剖分 第5遍

不能原谅自己的错误。。还怀#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#define lson id << 1#define rson id << 1|1#includeusing namespace std;const int M = 100008;int fath

2014-10-09 18:18:31 1075

原创 CodeForces 191C 树链剖分 第4遍

很无奈,模板又一次无奈的打错了。。不过,很快便找到了。。题意:给一些边,有一些操作,每次操作,都要在这些边上加上1,求每个边的边权。。#include#include#include#includeusing namespace std;#define lson id << 1#define rson id << 1|1const int M = 100008;int to

2014-10-09 13:15:09 885

原创 CodeForces 123A 并查集

写了好长时间

2014-10-08 21:09:22 660

原创 hdu 3966 树链剖分第3遍

真心不好意思说话,写的越多,各种问题就暴漏出来了,这次更离谱,什么错误都有。。。不过还是过了。也明白了代码以后要写规范性,不能想当然。。。#include#include#pragma comment(linker, "/STACK:1024000000,1024000000")#include#includeusing namespace std;const int M = 50

2014-10-08 10:15:22 724

原创 foj 2082 树链剖分 第2天

擦,没啥好说的,这个模板至少得打10遍。。纪念自己成功的打错了。。#include #include #include #include using namespace std;#define LL int#define lson id << 1#define rson id << 1|1const LL M = 100008;LL ti[M],top[M],siz[M],

2014-10-07 09:25:58 771

原创 POJ 3237 树链剖分

这个知识点学了4天,有两天的时间都在调试这个代码,发现自己写的还是少,发现了好多的bug,和很神奇的事情发生,比如写个递归忘了写return,还有好多。树链剖分:按照某个规则对树进行划分,而现在这个是按照轻重链对树进行划分。    概念:重儿子:对于结点v来说他的儿子里面孙子最多的一个。                                        重链  

2014-10-06 10:26:39 360

原创 Hdu 4539 状态压缩

直接做掉的状态压缩dp,但是数组开小了,

2014-09-26 11:08:20 403

原创 hdu 4569 TSP

不得不说状态

2014-09-24 16:09:49 447

原创 炮兵阵地

/* 炮兵阵地*//*这道题想了很长时间,终于AC了*/include #include #include using namespace std;int dp[109][100][100],state[190],map[109],num;void initdp(int n){ num = 0; for(int i=0;i<(1<<n);i++)

2014-09-03 20:38:46 482

原创 HDU1565 状态压缩dp

/*****第一道状态压缩,感觉有点了解这个思维*****/#include#includeusing namespace std;const int len = 20;int state[ (1<<20) + 8];int dp[2][ (1<<20) + 8];int map[25][25];int num = 0;void init(){ for(int i=

2014-08-14 10:31:18 518

原创 POJ Mayor's posters 线段树第五天

没什么好说的,一个裸线段树,用个标记搞一下

2014-08-13 17:04:14 408

原创 POJ Who Gets the Most Candies? 线段树 第 5天

擦,看了一上午,他妈的,终于看出来错误

2014-08-13 15:09:09 397

原创 PKU 2828 Buy Tickets 线段树想法题 (第4天)

今天做了两道线段树,还有 昨天的

2014-08-11 19:36:00 422

原创 HDU 2795 线段树想法题 (第4天)

/* 线段树想法题,只有叶子节点放海报,那么每个叶子节点就是行*/#include#include#define lson id << 1#define rson id << 1 | 1using namespace std;struct Line{ int Max; int left,right; int mid() { retur

2014-08-11 13:02:25 385

原创 Hdu 4932 模拟

这道题,比赛的时候想到了

2014-08-11 10:00:16 490

原创 PKU 3468 线段树,线段树 第 3 天

/* 线段树第三天,一天一道线段树坚持下去你就是高手*//* 终于把一些简单的线段树理解了,明白了 lazy 标记的好处这是第三天了*/#include#includeusing namespace std;#define _ long long#define lson id<<1#define rson id<<1|1const _ Max = 500005;struct l

2014-08-10 09:54:10 448

原创 hdu 1698 线段树 成段更新 lazy

学了一下午,终于把线段树的一些基本知识

2014-08-08 19:16:44 462

原创 nyist 花儿朵朵 离散化 + 树状数组

#include#include#include#include#define LL long longusing namespace std;int num[1000008],a[500001],b[400001],d[400001],id,n;LL l[500001],r[500001];int lobit(int x){ return x & -x;}LL s

2014-08-06 18:30:49 533

原创 树状数组 求逆序数

/* 本该学会的,现在才搞掉,还只是简单的 树状数组*/#include#include#include#include#define LL long longusing namespace std;int num[1000008],aa[1000008];int lobit(int x){ return x & -x;}LL sum (int x){

2014-08-06 16:46:35 516

原创 树状树组 插线问点 && 插点问线

/**插线问点。如此牛叉经典的解法,现在才学会****/#include#include#includeusing namespace std;int num[1000009];int lowbit(int x){ return x & (-x);}int sum (int x){ int t = 0; while(x>0) {

2014-08-01 10:25:46 544

原创 hdu Bestcoder # 1 逃生 拓扑排序

这场比赛没有做,刚做了一下第一道,

2014-07-24 09:22:46 522

原创 多校第一场 hdu 4864

哎,真有点悲剧,以前学长交的数据结构的写法,没有学会,要不然这道题

2014-07-23 10:18:50 497

原创 省赛组队赛9 I 题Information

首先这道题没看懂题意,比完

2014-05-02 14:58:27 972

原创 nyoj 传纸条(一)

/*费用流,这道题的关键在于建图,看了一下大牛的博客,想了这道题总结一下思路;首先对于这种单一走路的题,一定要有拆点的思路对于这道题关建就在于拆点,首先让我们想一下,怎么让一个点只走一下呢,这就是插电的精髓然后加一条边,容量为 1,费用为当前数值的一条边,然后把这个点的右方下方的点加一条边,左上角顶点作为原点右下角顶点作为汇点,求一遍费用流就行。。。。*/#include#in

2014-04-18 16:54:25 504

翻译 费用流模板

#define CLR(arr,val) memset(arr,val,sizeof(arr))const int M=5010,ME=100000;int INF=0x3fffffff;class MaxFlow{public: void clear() { CLR(Head,-1);top=0;CLR(Flow,0); } void a

2014-04-18 11:00:53 465

原创 hdu 1116 欧拉路 + 并查集

欧拉路的基本题。只要知道就可以做出来了。关于欧拉回路和欧拉路径定义:欧拉回路:每条边恰好只走一次,并能回到出发点的路径欧拉路径:经过每一条边一次,但是不要求回到起始点①首先看欧拉回路存在性的判定:一、无向图每个顶点的度数都是偶数,则存在欧拉回路。二、有向图(所有边都是单向的)每个节顶点的入度都等于出度,则存在欧拉回路。

2014-04-16 15:42:29 505

原创 省赛组队赛 - G题 Art Union

简单的dp题,别的队伍都做出来了。。。在比赛最后几分钟的

2014-04-16 08:43:10 683

原创 hdu 1558 判断线段相交 + 并查集

#include#includeusing namespace std;int father[10008];int find(int x){ if(x == father[x])return x; return father[x] = find(father[x]);}int merge(int a,int b){ int G = find(a);

2014-04-15 14:33:12 428

空空如也

空空如也

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

TA关注的人

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