勇敢前进的ACMer

ACM题解+回忆录+其他

ZOJ 1610 Count the Colors 线段树区间修改

题意: 在一个区间为[0,8000]的布上染色,后染的颜色能覆盖前面的。 请问经过Q次染色后,每种颜色染的间断区间数目是多少。 分析: 区间覆盖问题容易联想到线段树的区间修改操作。 我个人喜欢区间从1开始,所以对所有的区间下标加了1。 注意: 题目的染色区间是把[A,B]染色...

2018-01-30 20:31:22

阅读数:50

评论数:0

HDU 1698 Just a Hook 线段树区间修改

传送门:点击打开链接 题意: 给定N个数,初始化全部为1. 一种操作,区间修改。把区间[L,R]内所有数字修改为另一个值X Q次操作之后,求区间[1,N]的和 分析: 简单的线段树区间修改操作应用题 具体实现见代码 #include using namespace s...

2018-01-30 19:37:50

阅读数:50

评论数:0

HDU1754 I Hate it 线段树模板题

题意: N个数,两种操作,单点修改,区间最大值查询 分析:因为是查询区间最值,所以不能使用树状数组。 线段树写法跟敌兵布阵的区间求和十分类似,也是模板题了。 具体实现见代码: #include using namespace std; const int maxn =...

2018-01-30 16:53:27

阅读数:50

评论数:0

HDU1166 敌兵布阵

传送门:点击打开链接 题意:N个数, 有两种操作,单点修改跟区间求和 分析: 线段树裸题,也是树状数组裸题。 手敲了一个线段树模板,已经非常精简了,希望看到的同学喜欢。 代码如下: #include using namespace std; const int maxn = 500...

2018-01-30 16:05:14

阅读数:45

评论数:0

Codeforces 910A BFS

题意:给定一个n长度的01字符串,下标为1到n。每次前进的跳跃步数不能超过d,假定当前位置为x,当且仅当x+i位置为1,i问从起点1到终点n最少步数是多少。分析:属于很简单的搜索题,我用的是BFS,因为DFS超时了,想不到更好的剪枝...代码如下:#include #include #incl...

2018-01-18 10:36:39

阅读数:70

评论数:0

Codeforces 911F 贪心

分析:先求出树的直径,以这个直径上的节点作为主干。 假设两个端点分别为x,y,求其他任意叶子节点z到另一个叶子节点的最长距离即为max{ d(x,z), d(y,z) } 该解法的正确性我无法给出证明,但画图看看应该就不难理解的。 代码如下: #include #include #in...

2018-01-05 11:26:57

阅读数:259

评论数:0

Codeforces 910B Door Frames

题意:给定长为n的棍子,个数不限,现在要截出4个长为a的棍子和两个长为b的棍子。要求选取的原料必须是一根完整棍子或其中一部分。 分析:数据规模很小,可以多次随机对数组进行排序,然后贪心求最小值。 代码如下: #include #include #include using na...

2018-01-04 08:41:28

阅读数:381

评论数:0

Codeforces 911E 简单模拟

题意:通过栈输出1到n的一组排列,要求字典序最大。题目给出了前k个数,若无解输出-1。 分析:模拟... 好像没啥好说的吧... 代码如下: #include #include #include using namespace std; const int maxn = 20...

2018-01-02 22:03:05

阅读数:86

评论数:0

Codeforces 910C Minimum Sum

题意: 给定n个字符串,从a到j,把数字0到9一一映射到字母,求问字符串对应的数字总和最小是多少。 注意没有前导零,即便字符串只有一个字母,也不能映射为零。(这里WA了5次...) 分析:贪心,统计每个字母在每一位出现的个数。因为有10个字母,所以把字母出现个数看成10进制的数处理。...

2018-01-02 21:20:54

阅读数:186

评论数:0

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