上一页 1 ··· 16 17 18 19 20
摘要: 传送门 题目描述 HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答……因为 阅读全文
posted @ 2018-01-26 10:51 水题收割者 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一 阅读全文
posted @ 2018-01-25 20:22 水题收割者 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 一直以为分块很高端,学完之后发现其实很简单了 分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况。 分块就是将n个数分为每段有√n个数的多个区间,这样我们就可以在几乎O(√n)的时间内完成查找 分块模版 int bl 阅读全文
posted @ 2018-01-23 08:54 水题收割者 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 例题 双六游戏 一个双六上面有向前 向后无限延续的格子, 每个格子都写有整数。其中0号格子是起点,1号格子是终点。而骰子上只有a,b,-a,-b四个整数,所以根据a和b的值的不同,有可能无法到达终点掷出四个整数各多少次可以到达终点呢?如果解不唯一,输出任意一组即可。如果无解 输出impossible 阅读全文
posted @ 2018-01-21 20:59 水题收割者 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 蒟蒻的我也就会写个KMP的板子,并不会讲 模板如下 例题 #include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<cctype>#include<cmath>#inc 阅读全文
posted @ 2018-01-21 18:19 水题收割者 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 概述 区间修改即将一个区间内所有值改为一个值(或加上一个值),为了执行快速,我们通常用“懒”标记维护整个区间值的情况,在需要是再将这个“懒”标记传到该节点的两个子节点上。 模版(此为在整个区间上加上一个值)(洛谷p3372) #include<iostream>#include<cstdio>#in 阅读全文
posted @ 2017-12-23 20:08 水题收割者 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目连接 http://codeforces.com/gym/101490 题目大意 你有一张图,每两点之间有一定距离,计算出比最短路大x%之内的路径中最长边的最小值 分析 先跑一遍最短路,然后二分答案枚举最长边长度mid。在重新构图过程中去掉所有大于mid的边,看这样跑出的最短路是否满足要求(小于 阅读全文
posted @ 2017-12-06 22:32 水题收割者 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 此算法可用来处理区间最值问题,预处理时间为O(nlogn),查询时间为O(1) 此算法主要基于倍增思想,用以数组st[i][j]表示从第i个元素开始向后搜2的j次方的最值 可用递推的方式求得:st[i][j]=min/max(st[i][j-1],st[i+1<<(j-1)][j-1]) 下面的模板 阅读全文
posted @ 2017-11-26 10:00 水题收割者 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 哈(luan)希(gao)简单来说就是把一整个字符串映射到一个整数中 过程可以这样表示:hash[i]=(hash[i-1]*HASH+num(s[i]))%mod; 一般情况下我们为了保险起见一般使用双哈希 真没什么好说的了,上模板吧 #include<iostream>#include<cstd 阅读全文
posted @ 2017-11-22 22:36 水题收割者 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 概述 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。 如图,3和5的最近公共祖先是1,5和2的最近公共祖先是4 在本篇中我们先介绍一下倍增算法 我们需要一个数组de[i]来表示每一个节点i的深度,用另一数组parent[i][j 阅读全文
posted @ 2017-11-22 22:28 水题收割者 阅读(424) 评论(0) 推荐(1) 编辑
摘要: 概述 线段树就是用一棵二叉树维护某一区间内的某一值(最值,和,乘积......),主要有区间查询和区间修改两种操作,区间修改又有自上而下修改和自下而上修改两种,本人更习惯于自上而下修改。 下面是百度百科对线段树的描述 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间 阅读全文
posted @ 2017-11-19 09:02 水题收割者 阅读(1146) 评论(0) 推荐(1) 编辑
摘要: petr 大神镇场 距人生第一场noip只差4天半了(好紧张) 总结几下四道题的做题策略 NO1 第一题一般是送分的,认真读题,别太草率,多想几遍再动手,把重要的地方圈一圈、画一画,自己找几个数据多试几遍,决不能在这种题上丢分 NO2 第二题对我应该也不会有问题,前两道多是模拟、暴力,别想太多但也别 阅读全文
posted @ 2017-11-05 12:11 水题收割者 阅读(1289) 评论(0) 推荐(1) 编辑
摘要: 题目链接 http://codeforces.com/contest/9/problem/C 题目大意 输入n,计算出n之内只有0和1组成的数字的数量 分析 k从1开始,只要小于n,就给sum++,并给k加上1,而k用go函数模拟二进制的进位 代码 #include<iostream>#includ 阅读全文
posted @ 2017-10-27 22:02 水题收割者 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 链接 http://codeforces.com/contest/123/problem/A 题目 You are given a string s, consisting of small Latin letters. Let's denote the length of the string a 阅读全文
posted @ 2017-10-26 22:54 水题收割者 阅读(309) 评论(0) 推荐(1) 编辑
摘要: 题目 题目描述 Description 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上; 阅读全文
posted @ 2017-10-24 22:47 水题收割者 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目 题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,……N.这些坐标都是区间(-999,999)的整数。有些线段之间会相互交叠或覆盖。请你编写一个程序,从给出的线段中去掉尽量少的线段,使得剩下的线段两两之间没有内部公共 阅读全文
posted @ 2017-10-24 21:04 水题收割者 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 桶排,顾名思义,就是开一个数组,包含所有在n的范围内的数,将每一个输入的数x加到对应到数组a[x]中,最后一起输出。 桶排的时间复杂度为O(N)。 模板如下: #include<iostream>#include<cstdio>#include<cstring>#include<string>#in 阅读全文
posted @ 2017-10-23 22:41 水题收割者 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目链接 http://codeforces.com/gym/100722/attachments/download/3466/20062007-northwestern-european-regional-contest-nwerc-2006-en.pdf 题目大意 你要过生日了,有n个派,来了f 阅读全文
posted @ 2017-10-15 15:43 水题收割者 阅读(239) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20