2015年8月9日

HDU 4614-Vases and Flowers(线段树区间更新)

摘要: 题意:n个花瓶(0-n-1) 现有两个操作,操作1 给a,f 从a位置开始向后连续插f个花(一个花瓶插一个)若当前花瓶有花则向后找,直到n-1位置如果还有多余的花则丢掉求查完花的第一和最后一个位置。操作2 L,R 清空[l,r]花瓶内的花,并输出花的数量。分析:本题关键是用二分求插花的首末的位置,其... 阅读全文

posted @ 2015-08-09 22:57 积跬步、至千里 阅读(121) 评论(0) 推荐(0) 编辑

FZU 2105-Digits Count(线段树延时标记)

摘要: 题意:每次操作区间每个数进行一种(&或|、或^ )给定的一个数,到sum时统计给定区间的和。分析:这个题让我觉得我的思维很不活跃,对懒惰标记理解,还远远不够,通过这道题我对懒惰标记加深了不少。经过各种操作和区间会变成相同数都相邻的情况,若在操作会变成另一个相同数。选区间内相同数字为懒惰标记进行更新。... 阅读全文

posted @ 2015-08-09 22:44 积跬步、至千里 阅读(228) 评论(0) 推荐(0) 编辑

ZOJ 3299-Fall the Brick(线段树+离散化)

摘要: 题意:n个区间 ,给出区间的左右坐标 ,区间内填满宽度为1的箱子,有m个板子给出板子的高度和左右坐标(同高度不重叠)所有箱子从上向下落,求每块板子能接到的箱子数。分析:首先给的区间很大,一开始直接存ME了,所以要先把给定的区间离散化 箱子的宽度是1则使维护区间左闭右开,才能得正确的数量。#inclu... 阅读全文

posted @ 2015-08-09 22:32 积跬步、至千里 阅读(235) 评论(0) 推荐(0) 编辑

HDU 4521-小明序列(线段树好题)

摘要: 题意:n个数字的序列,求各数位置间隔大于d的最长上升子序列分析:最基本的dp但是数据量大O(n^2)肯定超时 前dp[i]为的最长上升子序列是由前dp[1]---dp[i-d-1]符合条件的最大值得到,我们可以用线段树维护dp[1]---dp[i-d-1]的最大值#include #include ... 阅读全文

posted @ 2015-08-09 22:16 积跬步、至千里 阅读(128) 评论(0) 推荐(0) 编辑

POJ 2481-Cows(BIT)

摘要: 题意:n个牛,每个牛对应一个区间,对于每个牛求n个区间有几个包含该牛的区间。分析:先 区间右边界从大到小排序,相同时左边界小到大,统计第i头牛即左边界在前i-1头左边界的正序数。#include #include #include #include #include #include #includ... 阅读全文

posted @ 2015-08-09 21:53 积跬步、至千里 阅读(116) 评论(0) 推荐(0) 编辑

POJ 2828-Buy Tickets(线段树)

摘要: 题意:有n个人,每人有一定的价值,给n个安排,每次安排有两个数 p,v p是这个人前面人的个数 (直接插在第p个人后面其他人后移),v是它的价值,n个安排后 求最终的价值序列。分析:越在后面的安排越是他的最终位置,所有我们要从后向前做,每次找前面有p个空位的位置,找到后空位减一,用线段树来维护区间的... 阅读全文

posted @ 2015-08-09 21:41 积跬步、至千里 阅读(178) 评论(0) 推荐(0) 编辑

HDU 1394-Minimum Inversion Number(BIT)

摘要: 题意:给你n个数字的序列 每次把第一个数字放到最后 得到一个新序列 一共有n个序列求这些序列中哪个序列含最小的总的逆序数 (输出最小总逆序数)分析:用BIT求出初始各数的逆序数,第一个数放最后它逆序数变正序,正序变逆序。#include #include #include #include #inc... 阅读全文

posted @ 2015-08-09 21:21 积跬步、至千里 阅读(148) 评论(0) 推荐(0) 编辑

uva11992-Fast Matrix Operations(区间增值、改值)

摘要: 题意:r行c列的全0矩阵 有三种操作 1 x1 y1 x2 y2 v子矩阵(x1,y1,x2,y2)所有元素增加v 2x1 y1 x2 y2 v子矩阵(x1,y1,x2,y2)所有元素设为v 3x1 y1 x2 y2 查询子矩阵元素的和、最小值、... 阅读全文

posted @ 2015-08-09 21:05 积跬步、至千里 阅读(473) 评论(0) 推荐(0) 编辑

LA3942-Remember the Word(Trie)

摘要: 题意:有s个不同的单词,给出一个长字符串把这个字符串分解成若干个单词的连接(可重复使用),有多少种分解方法分析:dp[i]表示i开始的字符串能分解的方法数 dp[i]=sum(dp[i+len(x)]);单词x是i开始的字符串的前缀。#include #include #include #inclu... 阅读全文

posted @ 2015-08-09 17:48 积跬步、至千里 阅读(165) 评论(0) 推荐(0) 编辑

Uva11732(trie)

摘要: 题意:给你n个字符串 用strcmp()两两比较 ,求字符比较的总次数分析:数据量很大我们考虑用孩子兄弟表示法来表示字典树#include #include #include #include using namespace std;typedef long long ll;const int N ... 阅读全文

posted @ 2015-08-09 17:32 积跬步、至千里 阅读(161) 评论(0) 推荐(0) 编辑

HDU 1251-统计难题(Trie)

摘要: 题意:给一组单词 开始提问每次给一个串求该串是上面几个单词的前缀分析:没给数据规模,但用链表写ME好几次,又用数组写开小RE了,试了几次才过了,真是醉了。。。#include #include #include #include #include #include #include #include... 阅读全文

posted @ 2015-08-09 17:04 积跬步、至千里 阅读(136) 评论(0) 推荐(0) 编辑

HDU 1075-What Are You Talking About(Trie)

摘要: 题意:给你一个字典 一个英文单词对应一个火星单词 给你一段火星文翻译成英文 字典上的没有的不翻译分析:没有给数据规模 字典树用链表#include #include #include #include #include #include #include #include #include #inc... 阅读全文

posted @ 2015-08-09 16:57 积跬步、至千里 阅读(137) 评论(0) 推荐(0) 编辑

UVA 11488-Hyper Prefix Sets(Trie)

摘要: 题意:给一个01串的集合,一个集合的幸运值是串的个数*集合中串的最大公共前缀 ,求所有子集中最大幸运值分析:val[N]表示经过每个节点串的个数求幸运值 求就是每个节点值*该节点的深度 搜一遍树求出最大值#include #include #include #include #include #in... 阅读全文

posted @ 2015-08-09 16:50 积跬步、至千里 阅读(138) 评论(0) 推荐(0) 编辑

HDU 4825-Xor Sum(trie)

摘要: 题意:给你一组数,开始询问给一个数 求组中与该数异或值最大的数。分析:根据异或的特点 要想得到的异或值最大 尽可能的让两个数的每位都相反 先把给定的一组数建树,数的最后一位对应的节点保存这个数的位置(放便取) 对于每个询问 在搜树时优先考虑和当前数位相反的节点。#include #include #... 阅读全文

posted @ 2015-08-09 16:33 积跬步、至千里 阅读(611) 评论(0) 推荐(0) 编辑

POJ 3630- Phone List(Trie)

摘要: 题意:给一组串,是否存在一个串是另一个的前缀。分析:val[N]保存树节点上是否组成一个串#include #include #include #include #include #include #include #include #include #include #include #inclu... 阅读全文

posted @ 2015-08-09 16:14 积跬步、至千里 阅读(122) 评论(0) 推荐(0) 编辑

POJ 2001-Shortest Prefixes(Trie 入门)

摘要: 题意:给你一组串,求每个串在组中唯一标志的最短前缀分析:保存树上经过各节点的单词个数,扫描每个串当经过节点单词个数是一(能唯一标志)结束#include #include #include #include #include #include #include #include #include #... 阅读全文

posted @ 2015-08-09 15:37 积跬步、至千里 阅读(212) 评论(0) 推荐(0) 编辑

导航