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

浙公网安备 33010602011771号