随笔分类 -  HDU

摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4897 题意:有三种操作,1是在树上的两个节点之间的路径改变当前的颜色,2是改变树上有且只有一个端点在u,v之间的边的颜色,3是询问u,v之间黑色边的条数 题解:对于1,就是一般的树链剖分操作,对于2,我 阅读全文
posted @ 2016-07-01 16:53 bin_gege 阅读(252) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3549 题意:求1到n的最大流 题解:模版题,直接上Claris的ISAP,效率是一般dfs的十倍,ORZ Claris!!! 1 #include<cstdio> 2 #include<algorith 阅读全文
posted @ 2016-06-30 20:19 bin_gege 阅读(116) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4718 题意:给你一棵树,每个节点有一个值,然后任给树上的两点,问这两点的最长连续递增区间是多少 题解:先树链剖分,然后结合线段树的区间合并来搞,注意的是要记录递增和递减两个状态,因为线段树的区间都是从根 阅读全文
posted @ 2016-06-30 17:31 bin_gege 阅读(252) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1950 题意:实际就是求最长递增子序列 题解:有两种解法,一种是利用二分,一种是用线段树 这个是这题的二分代码: 1 #include <cstdio> 2 #include<algorithm> 3 # 阅读全文
posted @ 2016-06-30 12:02 bin_gege 阅读(120) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4521 题意:中文题,不解释 题解:这题就是LIS的加强版,可以用二分的nlogn来做,也可以用线段树的nlogn 做这个带间隔的LIS,具体看代码 1 #include<stdio.h> 2 #incl 阅读全文
posted @ 2016-06-30 11:16 bin_gege 阅读(165) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2838 题意:给你一串数,让你排序,只能交换相邻的数,每次交换花费交换的两个树的和,问最小交换的价值 题解:实质就是求逆序对 1 #include<cstdio> 2 #define F(i,a,b) f 阅读全文
posted @ 2016-06-29 11:23 bin_gege 阅读(138) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5293 被这题打蹦了,看着题解写的,很是爆炸,确实想不到,我用的DFS序+LCA+树形DP,当然也可以写树剖,不过这里DFS序更简单,因为都是对点到根的操作 1 #include<cstdio> 2 #i 阅读全文
posted @ 2016-06-28 21:22 bin_gege 阅读(157) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5221 题意:给你一棵树,每个节点有一定的值,有三种操作: 1 x y 表示占领树上x-y的所有节点,2 x 表示去掉这点,3 x表示占领以这个节点为根的所有节点 题解:1 2 都是树剖操作,3则要记录树 阅读全文
posted @ 2016-06-28 18:32 bin_gege 阅读(166) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4547 题意:中文,不解释 题解:很裸的LCA,注意父目录打开子目录一次就够了,这里我才用倍增在线LCA+map过 1 #include<cstdio> 2 #include<iostream> 3 #i 阅读全文
posted @ 2016-06-28 15:52 bin_gege 阅读(223) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5274 题意:给一棵树和叶子的值,然后有单点修改操作和询问区间操作,询问的是每一个值出现的奇偶次数,如果全是偶数次,则输出-1,否则输出那个奇数次的数,题目保证只有一个数出现奇数次。 题解:这里的题很巧妙 阅读全文
posted @ 2016-06-27 22:40 bin_gege 阅读(131) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3804 题意:给你一棵树,然后给出树上边的价值,然后给出x,y,问从1到x的边上不超过y的最大值为多少 题解:这题如果直接写裸线段树来在线更新会T飞,正解是把边的值存下来,把询问也存下来,然后都按照价值从 阅读全文
posted @ 2016-06-27 21:52 bin_gege 阅读(160) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5044 题意:给一棵树,在点和边上操作 题解:树链剖分,剖完后用树状数组维护即可,因为只有加减操作,连树状的部分都不用写,最后要注意当n等于1的情况 1 #include<cstdio> 2 #pragm 阅读全文
posted @ 2016-06-27 14:37 bin_gege 阅读(140) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3966 题意:给你一棵树,然后给定点之间的路径权值修改,最后单点查询 题解:树链剖分裸题,这里我用树状数组维护 1 #include<cstdio> 2 #pragma comment(linker, " 阅读全文
posted @ 2016-06-27 13:04 bin_gege 阅读(162) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5029 题意:给你一个树,然后给你两点,将这两点之间的点涂上颜色,问涂色最多的那个颜色是什么,如果数量相同,就输出编号小的颜色 题解:树链剖分,这个题很巧妙,线段树维护的是一个颜色线段树,然后如果要涂[l 阅读全文
posted @ 2016-06-26 21:36 bin_gege 阅读(222) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 题意:解开第k个环需要先解开前(k-2)个环,并留有第(k-1)环。问解开n环最少需要几步。 题解: 设f(n)表示解开第n环。 1. 解开n环不能一下子把n-1全解开了,否则第n个就没法拿掉了。 阅读全文
posted @ 2016-06-05 23:06 bin_gege 阅读(227) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3565 题意:给你一个区间,让你找这个区间内有两个山峰的数的最大和,什么是两个山峰,比如121121 第一个2 和第二个2就是两个峰 题解:求的这个不满足dfs(y)-dfs(x)所以只有用一个上限和一个 阅读全文
posted @ 2016-06-03 22:12 bin_gege 阅读(147) 评论(0) 推荐(1)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1536 题意:首先输入K ,表示一个集合的大小 , 之后输入集合, 表示对于这对石子只能去这个集合中的元素的个数,之后输入 一个m, 表示接下来对于这个集合要进行m次询问, 之后m行 ,每行输入一个n , 阅读全文
posted @ 2016-06-02 21:30 bin_gege 阅读(163) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 题意:给你3堆石子,每次只能取fibonacci数的石子,问先手是否能赢 题解:SG函数模版题 1 #include<cstdio> 2 #define F(i,a,b) for(int i=a; 阅读全文
posted @ 2016-06-02 20:55 bin_gege 阅读(148) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意:给你一个矩阵,从右上走到左下,每次只能向左或向下或向斜下走一格,先走到最后一格的会输,问kiki是否能赢 题解:模拟博弈或者找规律都行,这里我找规律了,一行解决问题 1 #include<c 阅读全文
posted @ 2016-06-01 23:07 bin_gege 阅读(97) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 题意:给一个概率p和n个银行,每个银行有一些钱和被抓的概率,问在满足被抓的概率在p以下,抢到的最多的钱是多少 题解:很裸的01背包,不过这里要换成钱的总量当作背包的容量,概率当作价值,维护一个最小 阅读全文
posted @ 2016-05-31 21:24 bin_gege 阅读(100) 评论(0) 推荐(0)