03 2016 档案
摘要:来谈谈自己对延迟标记(lazy标记)的理解吧、 lazy标记的主要作用是尽可能的降低时间复杂度、 这样说吧、 如果你不用lazy标记,那么你对于一个区间更新的话是要对其所有的子区间都更新一次,但如果用lazy标记的话、 就只需要更新这一个区间然后加一个标记,那么如果要访问这个区间的子区间,因为有la
阅读全文
摘要:代码和思路来自:传送门 建树模板、 对应查询函数模板、 对应单点更新模板、 RMQ 查询区间最值下标、 连续区间修改或单结点更新的动态查询问题
阅读全文
摘要:蓝桥杯吃了亏、确实是知道换位置,但........不说了 太智障了 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算
阅读全文
摘要:A. Gabriel and Caterpillar 题意: 就是说 一个小孩子去观察毛毛虫从 h1的地方爬到h2的地方、毛毛虫从10点爬到22点、每小时爬的距离是a, 晚上22点到第二天早上10点 毛毛虫休息 每小时下落b距离、但是最初状态是那个小孩子从14点开始观察毛毛虫的, 必须过了24点才算
阅读全文
摘要:从中间向两边递减的回文,特判一下就好
阅读全文
摘要:转载:http://blog.sina.com.cn/s/blog_70811e1a01014esn.html
阅读全文
摘要:题意:求所给串的前缀(包括原串)中有多少循环串(子串长度至少要是周期的两倍) 思路:还是next数组的应用问题、如果不懂next数组的话 http://www.cnblogs.com/sasuke-/p/5307156.html 点上面传送门
阅读全文
摘要:题意:就给出个字符串做*的定义、a^0 = "" (the empty string) and a^(n+1) = a*(a^n). 题目要求n的最大值、 思路: 化简上面的等式之后就知道是求a的n次方,也就是说求所给字符串的最大循环次数,想一想、 如果可以求出所给字符串的最小循环节, 那么是不是就
阅读全文
摘要:题意:给你一个字符串,寻找前缀和后缀相同的子串(包括原串)、 从小到大排列输出其子串的长度 思路:KMP next 数组应用、 其实就是一个数学推导过程、 首先由next数组 可知s(ab) = s(bd) 此时next[d]=b 而此时 next[b]=f,意味着s(ef)=s(gh) s(gh)
阅读全文
摘要:http://www.cnblogs.com/jackge/archive/2013/01/05/2846006.html http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html 在KMP算法的使用中,首要任务就是获取一个字符串的n
阅读全文
摘要:题意:一个企业要去收购一些公司把,使的每个企业之间互联,刚开始每个公司互相独立 给出n个公司,两种操作 E I:询问I到I它连接点最后一个公司的距离 I I J:将I公司指向J公司,也就是J公司是I公司的上级,距离为abs(I-J)%1000(貌似G++不支持abs,PE了两发) 思路:转化一下题意
阅读全文
摘要:应用挑战程序设计那本书上的话: 对于每只动物i创建3个元素i—A,i—B,i—C,并用3xN个元素建立并查集。这个并查集维护如下信息: (1)i—x表示“i属于种类x” (2)并查集里的每一个组表示组内所有元素代表的情况都相同都同时发生或不发生 for example,如果i—A和j—B在同一个组里
阅读全文
摘要:这题真尼玛坑、 后面那个输入起点和终点的 先输入列在输入行、 1 #include<iostream> 2 #include<cstring> 3 #include<cmath> 4 #include<algorithm> 5 #include<queue> 6 #include<cstdio> 7
阅读全文
摘要:#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #include<algorithm> #include<queue> #include<stack> using namespace std; const i
阅读全文
摘要:A - Interview 题意:一个区间l,r。f(x,l,r)是区间从左到右用|运算符运算所得到的结果,求使得两个数组a,b中相同l,r得到的最大和 思路:直接暴力 #include<cstdio> #include<algorithm> #include<iostream> #include<
阅读全文
摘要:对于交题目OJ给的评判是TLE、RE、MLE是极其陌生的、 针对问题提出我在这方面的问题 (1) 对于MLE一般是数组开大的缘故,但是我在修改程序的时候,一个变量在两个位置出现过我却只修改一次,必须指出这是我对自己程序上下贯通不严谨的问题 (2) RE的话是我对题意的错解或者是完全没看清题,这又是我
阅读全文
摘要:1 #include<cstdio> 2 #include<cmath> 3 #include<iostream> 4 #include<cstring> 5 const int qq=2000+50; 6 int v[qq],w[qq],dp[qq]; 7 using namespace std;
阅读全文
摘要:转载自:http://www.cnblogs.com/jbelial/articles/2116074.html P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基
阅读全文
摘要:Description In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: In this problem, you are given n, yo
阅读全文
摘要:题意:给出一个t代表有t组数据,然后给出n,n代表有n种石头,v代表旅行者的背包容量,然后给出n种石头的价值和容量大小,求能带走的最大价值 思路:01背包问题,每种石头只有拿与不拿两种状态、(其实我是为理解dp而来的) 一维数组也能过、只是第二层必须反序来、顺序的话同一件物品可能会被取多次 贴一份W
阅读全文
摘要:题意:有一个存钱罐,空罐时的重量是e,满罐时的重量是f,现在有n种硬币,每一种有无限个,现在给出每一种硬币的价值p和重量w,问存钱罐中最少钱,输出最小钱,否则输出... 思路:变形的完全背包问题,只是求最小值 1 #include<cstdio> 2 #include<cstring> 3 #inc
阅读全文

浙公网安备 33010602011771号