自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

To be excellent!

追求卓越,成功就会在不经意间追上你。

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

原创 八数码的八境界(待更新...)

附上传送门:八数码的八境界写的很棒的一篇博客。题目链接:POJ1077EightTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 30591Accepted: 13309 Special JudgeDescriptionThe 15-puzzle has been ar

2016-10-01 15:57:59 780 1

原创 hdu 5475 An easy problem (线段树)

传送门http://acm.hdu.edu.cn/showproblem.php?pid=5475题意:给定一个x,初值为1有以下两种操作:1、乘以k2、除以第k次操作的所乘的值线段树单点更新问题,查询的时候只需要输出v[1]的值即可。具体看下代码就好了。另外,这题xjb暴力可以卡时过掉,亲测。(其实本来并不想写这个题解,这题真的是An easy

2016-07-24 22:27:40 317

原创 [tyvj1432] 楼兰图腾(线段树)

传送门http://begin.lydsy.com/JudgeOnline/problem.php?id=2895题意(题目有点乱):在完成了打鼹鼠之后,西部314来到了楼兰古城的西部。相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(‘V’),一个部落崇拜铁锹(‘∧’),他们分别用V和∧的形状来代表各自部落的图腾。西部314在楼兰古城的下面

2016-07-24 17:16:12 1378

原创 hdu 5700 区间交 (线段树+枚举)

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5700题意:给定序列a1,a2...an以及m个区间,从m个区间中选出k个区间使k个区间相交的部分和最大。思路:预处理前缀和。按照r从小到大l从大到小的顺序将所有区间排序,用线段树维护区间第k小。然后枚举区间的右端点,求出当前第k小左端点,然后计算差值即可。#include

2016-07-23 23:03:22 294

原创 [Hnoi2002]营业额统计(SBT模版题)

题目链接http://begin.lydsy.com/JudgeOnline/problem.php?id=2929记录一下SBT的模版...(Ps:题目有坑!)#include #include #include #include #include #include using namespace std;typedef long long ll;c

2016-07-22 23:23:47 297

原创 poj 2985 The k-th Largest Group(线段树+并查集)

题目链接http://poj.org/problem?id=2985题意:有N只猫,刚开始每只猫各自在不同的集合,现在给出M个操作,有两种操作:  1.把第i只猫和第j只猫所在集合合并。  2.查找第i大的集合内有多少只猫。思路:操作一,集合合并很容易想到并查集。操作二,如果每次合并之后进行查找直接遍历一遍,效率O(n^2),很容易超时。所以可以考虑

2016-07-20 20:48:05 273

原创 hdu 5726 GCD(2016 Multi-University Training Contest 1线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5726题意:给出一组序列a1,a2...an,Q次询问,每次给出l,r ,求出所有满足gcd(l,l+1,...,r)=gcd(l',l+1',...r')的区间个数。线段树区间查询问题。利用线段树在logn时间复杂度内求出所有gcd[l,r]的值,并保存在数组里,最后做离线处理

2016-07-19 19:31:05 268

原创 hdu 5733 tetrahedron(2016 Multi-University Training Contest 1计算几何)

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5733题意:一道计算几何的题,给出四面体的四个顶点的空间坐标,计算四面体内切球的球心坐标和半径。一个赤裸裸的公式题利用海伦公式求出四个面的面积,然后根据公式算出球心(x,y,z)的坐标之后计算球心到任意一个面的距离,即半径。任取三点求出空间平面方程,然后利用点到平面的距离公

2016-07-19 19:24:29 277

原创 poj 2104K-th Number(划分树)

题目链接http://begin.lydsy.com/JudgeOnline/problem.php?id=2879:http://poj.org/problem?id=2104(一个模版题吧...)参考网上的代码照着敲了一遍差不多就理解了...附上代码:#include#include#include#include#include#include#inclu

2016-07-18 23:31:43 181

原创 [Usaco2008 Feb]hotel旅馆(线段树)

题目链接http://begin.lydsy.com/JudgeOnline/problem.php?id=2879线段树区间更新,区间查询问题。维护以下四个域:sum:该区间所有位置shulmx:该区间从左端点开始最大连续的空闲位置数rmx:该区间从右端点开始最大连续的空闲位置数mx:该区间最大连续的空闲位置数显然,递归部分为:mx[rt]=maxt(mx

2016-07-17 17:05:09 258

原创 [Usaco2003 Open]Lost Cows(线段树)

题目链接:http://begin.lydsy.com/JudgeOnline/problem.php?id=2875类似于poj上的一道题,具体记不得了。算是线段树的一道基础题吧,单点更新问题。sum[rt]记录前面所有的空闲位置的数目sum[rt]=sum[rt从后往前进行插入,每次插入之后记录插入的位置,并做一个标记,第一个数应该为最终未标记的那个数,然后

2016-07-16 21:50:38 469

原创 HUSTOJ 2867: 火车票(线段树)

题目链接http://begin.lydsy.com/JudgeOnline/problem.php?id=2867(sb没读看清题wa了一下午...)线段树区间更新区间查询问题,需要lazy优化一下。这道题需要判断请求是否能被满足,即涉及到线段状态的询问。当要求被满足的时候要减去相应线段上的座位数,因此涉及到线段的动态修改。用 seat 这个域来记录线段[a,b]上的座位

2016-07-16 17:02:57 556

原创 hdu 4512吉哥系列故事——完美队形I(动态规划LCIS)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4512RT,很容易发现这是一个最长公共递增子序列问题。不过这道题数据很小,n只有200,理论上直接暴力应该是可以过的,未尝试。很久没写动态规划了,手残调试了很久,具体见代码吧。。。#include#include#include#include#include#incl

2016-07-14 16:49:09 343

原创 poj 2481 Cows(线段树)

题目链接http://poj.org/problem?id=2481题意:区间包含的问题,也就是在二维笛卡尔坐标系中求一个顶点的左上方顶点中满足yj-xj>yi-xi的顶点的个数思路:线段树的单点更新区间查询问题。求左上方的顶点个数,首先将所有坐标按照y降序x升序的方式进行排序。这样每次插入一个结点,必然满足yi>=yi-1,xi线段树中需要维护在1-x中已经存在的点的

2016-07-13 18:49:16 235

原创 HDU 4288 Coder(线段树+离线处理)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4288维护一个序列an,有以下三种操作:一、在序列中添加元素x二、在序列中删除元素x三、计算序列中下标i%5=3的元素和在写解题报告之前先废话几句关于线段树的姿势问题:之前一直习惯于结构体姿势的线段树,后来看了notonlysuccess的线段树总结,开始采用数组

2016-07-13 16:27:37 1060

原创 Vijos1083 小白逛公园(线段树+动态规划)

题意:给出一个序列,每次操作修改一个数值或者查询一个区间内最大连续子序列的和。思路:求和部分利用分治就好了,但是在求区间和的时候注意考虑,如果同时向左向右查询,最后结果不一定是左右相加,这里要特殊处理一下。关于线段树的姿势,用结构体会比较好处理。#include using namespace std;#define lson rt<<1,l,mid#define rson r

2016-05-26 23:54:07 542

原创 Vijos 1448校门外的树(线段树)

传送门:https://vijos.org/p/1448题意:查询一个区间内被修改的次数。思路:线段树单点更新,区间查询。利用括号序列的方法,更新区间[a,b]时,点a记录左括号数,点b记录右括号数,查询区间[a,b]时,即为b之前(包括b)的左括号数-a之前的右括号数。#include using namespace std;#define lson rt<<1,l,mid

2016-05-25 17:53:56 1156

原创 数据结构--区间一类问题(待更新...)

①HDU 3887:查找节点后继中权值小于该节点权值的节点个数思路:dfs序+线段树or树状数组。先dfs序记录每个节点对应的区间,然后线段树记录节点权值之和,从大到小开始找,因为权值大的节点删除后对后续查询没有影响。#include#include#include#include#include#include#include#include#include#inclu

2016-05-22 23:50:13 956

原创 Codeforces Round #353 (Div. 2) ABCD

传送门:http://codeforces.com/contest/675A:#include #include #include #include #include #include using namespace std;const int INF=0x3f3f3f3f;const int maxn=30;int T,n;int a,b,c;int m

2016-05-17 23:30:25 224

原创 Codeforces Round #352 (Div. 2) ABCD

传送门:http://codeforces.com/contest/672A:数据太小,直接打表过...#include using namespace std;typedef __int64 ll;const int INF=0x3f3f3f3f;const int maxn=10005;int T,n,m;string str="123456789101112

2016-05-12 13:52:14 395

原创 Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) ABCD

传送门:http://codeforces.com/contest/673A:#include using namespace std;typedef __int64 ll;const int INF=0x3f3f3f3f;const int maxn=200005;int T,n,m;int a[maxn];int main(){ while(~scanf("

2016-05-08 15:06:21 375

原创 size balance tree 的基本操作

(参考2007国家集训队论文 size balance tree -陈启峰)此处附上SBT中文版讲解传送门:http://wenku.baidu.com/view/364afa42a8956bec0975e3b1.html

2016-05-07 12:43:57 1301

原创 Codeforces Round #350 (Div. 2) ABCDE

传送门:http://codeforces.com/contest/670A(写的很啰嗦...):#include using namespace std;typedef long long ll;const int INF=0x3f3f3f3f;const int maxn=1000005;int T,n,m;int main(){ while(~scanf("

2016-05-06 19:59:45 593

原创 poj 3321 Apple Tree(dfs序+线段树)

题意:给出一个多叉树(不一定是二叉),每个树上有一个苹果,有n-1条边,m次操作操作有两种:一:每次操作使该节点的苹果从有到无或从无到有,每个节点最多有一个苹果二:查询该节点的子树上共有多少个苹果思路:先用dfs序给所有节点标号(相当于映射成线性的),然后用线段树维护,单点更新和区间查询。#include #include #include #include #

2016-04-28 10:50:49 252

原创 Codeforces Round #340 (Div. 2)E - XOR and Favorite Number(Mo's algorithm)

题目链接:http://codeforces.com/contest/617/problem/E题意:有一个大小为n的数组,m次询问,查询区间[l,r]中点对(i,j)满足l思路:利用xor的性质,很容易得到sum[i-1]=sum[j]^k,所以cnt[sum[i-1]]=cnt[sum[j]^k],我们只需要纪录sum[j]^k的数量即可。不过对于左边界,要注意先进行cnt--,因为一

2016-04-26 21:17:18 245

原创 Yandex.Algorithm 2011 Round 2 D. Powerful array(莫队算法)

题意:给出一个由n个正整数形成的数组,t次询问,每次询问一个区间[l,r]内所有ks^2*s的和,ks为数s在区间内出现的次数。莫队算法讲解传送门:莫队算法详解个人觉得这个pdf讲得还是比较容易懂的,内附模版,修改一下add和remove酒很容易可以过这道题了。另外,需要注明的是,用__int64开数组会爆内存,用longlong才可以,表示很无语。#include #inclu

2016-04-26 16:11:13 339

原创 Pku2831 Can We Build This One?(次小生成树)

题意:某国计划修建若干高速公路,用来连接国内N个城市,经过一番细致的考察后,政府迁出了M条待建的公路 每条公路用三个整数(x,y,z)来,即城市X与城市Y之间可以修一条高速公路,需要Z的花费。出于节约,政府希望从这些公路出选一些出来修建,使总开支最小。并保证建造后任意两个城市之间都可以直接或间接相连。但往往只考虑费用并不能得到最有价值的方案,例如城市A与城市B之间活动较频繁为了方便这两个城

2016-04-20 23:16:49 373

原创 [HNOI2004]树的计数(prufer编码+组合数学)

题目:一个有n个结点的树,设它的结点分别为v1, v2, …, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵。给定n,d1, d2, …, dn,编程需要输出满足d(vi)=di的树的个数。思路:参考2008年国家集训队论文周梦宇《码之道——浅谈信息学竞赛中的编码与译码问题》看完论文之后很容易知道这道题的答案即为(n-2)!/(d1-1)!(d2-1)!

2016-04-19 19:28:25 772

原创 Pku1200 Crazy Search(Rabin Karp)

题意:先给两个整数n和nc,然后给出一个字符串,问有多少种不同的长度为n的子串,nc为字符串中不同的字符数。思路:数据范围比较大,用哈希的方式可以解决。采用Rabin karp字符串匹配设计哈希函数即可。以下有关Rabin karp的讲解转载自:http://blog.csdn.net/touzani/article/details/1632149字符串匹配(S

2016-04-19 19:15:57 995

原创 [Usaco2008 Oct]灌水(MST)

题意:Farmer John已经决定把水灌到他的n(1思路:加一个超级源点,然后跑一遍MST。作为一个经典的题纪录一下。#include using namespace std; typedef long long ll;const int INF=0x3f3f3f3f;const int maxn=305;int T,n,m;int w[maxn];int G[maxn]

2016-04-12 23:53:41 237

转载 二分图的基本模型思想

(在网上看的博客,因为博主也是转载而且未附上链接,不好意思)今天突然想到一个关于二分图的灰常xx的比喻,所以赶紧写下来。  假设全班的男生集合为R1,女生集合为R2,男生分别记为m1,m2……女生分别记为w1,w2……。最近全班学生大多数都寂寞了,想谈恋爱了于是大家都在物色目标。其中有不少男女生互相之间都有好感。但一个男生可能对多个女生有好感,一个女生也可能对多个男生有好感(都

2016-04-10 23:01:04 354

原创 Zju1654 Place the Robots(二分图最大匹配)

首先总结一些二分图的概念和性质:最大匹配: 图中包含边数最多的匹配称为图的最大匹配。 完美匹配: 如果所有点都在匹配边上,称这个最大匹配是完美匹配。最小覆盖: 最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数最小路径覆盖:用尽量少的不相交简单路径覆盖有向无环图G的所有结点。解决此类问题可以建立一个二分图

2016-04-09 23:03:52 458

原创 [Hnoi2006]马步距离 (贪心+A*)

http://begin.lydsy.com/JudgeOnline/problem.php?id=1285在国际象棋和中国象棋中,马的移动规则相同,都是走“日”字,我们将这种移动方式称为马步移动。如右图所示,从标号为0的点出发,可以经过一步马步移动达到标号为1的点,经过两步马步移动达到标号为2的点。任给平面上的两点p和s,它们的坐标分别为(xp,yp)和(xs,ys),其中,xp,y

2016-04-05 16:48:49 571

原创 VK Cup 2016 - Round 1 (Div. 2 Edition)C. Bear and Forgotten Tree 3(构造)

题目链接:http://codeforces.com/contest/658/problem/C题意:给出树上的n个结点,任意两点的距离最大为d(树的直径),树根节点1到其他任意一点的最大距离不超过h,判断是否存在,如果存在,输出任意一种建树方式。首先考虑到树的长度d其最小高度为(d+1)/2,如果h比其小,则无法形成树。然后以1为根节点先构造长度为h的树,形成串(即i与i+1相连),

2016-03-30 20:44:26 270

原创 poj 1125 Stockbroker Grapevine(多源最短路)

题目链接:http://poj.org/problem?id=1125思路:用Floyd预处理任意两点之间的最短距离,然后枚举每个点到其他所有点的最长距离,求出最小距离,如果最小距离不为INF,总有解,输出即可。在这里,注释一下Floyd的动态规划思想:dp[k][i][j]表示i和j之间可以通过编号为1...k的节点的最短路径。初值dp[0][i][j]为原图的邻接矩阵。

2016-03-24 10:42:00 231

原创 poj 1088 滑雪(记忆化搜索+dp)

DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子  1  2  3  4 516 17 18 19 615 24 25

2016-03-24 09:44:08 264

原创 poj 1050 To the Max(最大子矩阵和)

题意:给出一个N^2的矩阵,求最大子矩阵和。纯暴力应该是N^6,枚举从(i,j)到(p,q)的所有情况,把之间所有点相加计算总和,这样会导致很多数据进行重复的计算,复杂度太高,直接TLE,后来进行优化,先对数据做了一些预处理,记录点(1,1)到(i,j)的子矩阵和,然后枚举N^2个点,粗略估计复杂度为(n^4)/2,5kw,交上去63ms居然过了!继续思考了一下,可以转化为最大连续子序列的和的

2016-03-23 18:14:10 318

原创 poj 1018 Communication System(DP)

题意:一个通信系统需要n个设备,每个设备有两个属性带宽B和价格P,第i个设备有mi个厂家生产,从中挑选n个设备,问n个设备中最小的带宽/总价格(B/P)的最大值是多少;思路:dp[i][j]表示前i个设备中带宽为j的最小费用(相同带宽费用越小,B/P越大)dp[i][j]=min(dp[i][j],dp[i-1][j]+p);#include#include#include

2016-03-23 13:26:41 297

原创 poj 1330 Nearest Common Ancestors(离线LCA)

题目链接:http://poj.org/problem?id=1330题意:T组样例,n-1条边,1次询问,求最近公共祖先。#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;const int maxn=10010;int T,n;int degree[maxn],vis[max

2016-03-14 20:03:06 186

原创 Codeforces Round #338 (Div. 2)B. Longtail Hedgehog(DP)

题意:有n个点,连接点画出刺猬的尾巴和刺,尾巴是由多个严格递增的点组成的线段,从该尾巴上选取一点,该点所连接的其余线段视为刺猬的刺,现在给出m条线段,每条线段连接两个不同的点,求出尾巴长度x刺的长度的最大值。即求某点的长度x深度的最大值。dp[i]表示到i点最长的长度值len,记录i点的深度d,所求即为max(len x d);扫描与i相连的且小于i的所有点即可;状态转移方程即

2016-03-09 15:05:12 464

空空如也

空空如也

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

TA关注的人

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