题目是中文,所以不讲题意 做法顺序如下: 放代码如下: ...
分类:
编程语言 时间:
2017-08-15 00:31:57
阅读次数:
280
题目大意:有一段链子。初始的时候是铜的(价值为1),n代表有n段(1~n),输入a, b, c三个数分别表示将从a到b的链子的价值改为c, 最后问你经过多次改变之后的总价值。 策略:这道题是简单的线段树的区间更新。 代码: #include<stdio.h> #include<string.h> # ...
分类:
其他好文 时间:
2017-08-13 15:22:13
阅读次数:
147
Just a Hook In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecut ...
分类:
其他好文 时间:
2017-08-10 14:16:25
阅读次数:
244
题目链接: http://poj.org/problem?id=3468 题目描述: 一组数列, 可进行一段区间加上某一个数, 和区间查询 解题思路: 线段树, 之前的那道题是求总区间直接输出sum[1] 就可以了, 这次有了区间查询, 同理, 查询的时候Pushdown 代码: #include ...
分类:
其他好文 时间:
2017-08-07 15:26:13
阅读次数:
137
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1698 题目描述: 区间更新, 最后求出1 ~ n 之和 解题思路: 这里涉及到区间更新, 这也是我第一次写区间更新, 以前都是单点更新, 回溯就可以了, 如果将区间更新化成区间长度的单点更新, 复杂度 ...
分类:
其他好文 时间:
2017-08-07 13:32:28
阅读次数:
151
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6070 题意: 给出一个题目提交序列, 从中选出一个正确率最小的子串. 选中的子串中每个题目当且仅当最后一次提交是正确的. 思路: 分数规划 二分答案, 然后在 check 函数中查找是否存在某个区j间 ...
分类:
其他好文 时间:
2017-08-07 12:01:54
阅读次数:
237
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4027 解题思路:线段树区间更新,查询。主要问题在于如何解决快速对一个区间所有数据开根号然后求和 实际上是根本不用关心这个问题。2^64 在开根号7次之后已经变成1了,继续开根号没意义。 因此,对于每次更 ...
分类:
其他好文 时间:
2017-08-06 18:05:50
阅读次数:
161
1. 改点求段(单点更新, 区间求和) 代码: 1 #include <iostream> 2 using namespace std; 3 4 const int MAXN = 1e5 + 10; 5 int tree[MAXN], n; 6 7 int lowbit(int x){//返回 po ...
分类:
编程语言 时间:
2017-07-26 00:03:21
阅读次数:
308
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3397 题意:给定n个数,由0,1构成。共同拥有5种操作。每一个操作输入3个数,op,a。b。 op == 0。将区间[a,b]赋值为0。 op == 1,将区间[a,b]赋值为1; op == 2。将区 ...
分类:
其他好文 时间:
2017-07-23 13:30:47
阅读次数:
156
<!--done--> 一步一步理解线段树 目录 一、概述 二、从一个例子理解线段树 创建线段树 线段树区间查询 单节点更新 区间更新 三、线段树实战 一 概述 线段树,类似区间树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保 ...
分类:
其他好文 时间:
2017-07-20 13:36:43
阅读次数:
204