hdu
ww140142
wwwwwww
展开
-
hdu-2242 空调教室
题意: 给出一个结点带权的无向联通图; 删除其中一条边,使原图分成两个图,并是两个图总权值差最小; 求这个最小值; (无解输出"impossible") n 题解: 首先考虑无解的情况,就是所有点之间都有两条以上道路可达,无论删去什么都并不能改变连通性; 这就是一个双联通的图,即在双联通的部分删边是不行的; 那么倘若我们跑tarjan缩点,将图变成一颗树; 然后原创 2015-05-30 20:32:30 · 873 阅读 · 0 评论 -
hdu-5524 Product
题意: n 因为答案可能很大,所以只要输出模1000000007后的值就可以了; 多组数据,所有数据的n的和 题解: 挺有意思的一道数论题,虽说比赛的时候并没有推出来就弃疗啦; 首先因为N的质因子都在n的范围内,所以我们可以预处理一些素数啊,最小素因子之类的东西; 然后我们得到了N=p1^t1*p2^t2*p3^t3...pk^tk这种形式的N; 计算约数积,我们考原创 2015-11-04 13:47:55 · 1357 阅读 · 0 评论 -
hdu-5434 Peace small elephant
题意: 要求在nxm的棋盘上放置小象,要求没有小象互相攻击; 小象的攻击方式如下所示; 求在棋盘上有多少摆放的方式; 1 题解: 数据范围出卖了做法。。。 7有啥做法。。状压。。 一亿怎么做。。log。。 然后这题就是状压+矩乘的递推咯,复杂度在5s内是可以跑出来的; 首先就是如何构造矩阵; 实际上还是求出那些状态之间可以互相转移,然后拿临界矩阵去乘; 对于两个原创 2015-09-13 18:08:28 · 1104 阅读 · 0 评论 -
hdu-5481 Desiderium
题意: 给出一个区间的集合,求所有集合子集中区间并的长度和; 集合大小 题解: 这次BC打的几乎是爆炸的。。没掉出DIV1真是万幸啊; T1我逗比的写了一个线段树还SB的不对,发现不对劲已经半个小时了; 扔了T1搞T2还调了半天结果-5,觉得滚粗就走人啦; 言归正传,这题直接考虑显然是不行的,所以考虑离散之后统计每个小区间的贡献; 先累加每个区间覆盖次数,直接上个线段树搞;原创 2015-09-27 19:43:42 · 1186 阅读 · 1 评论 -
hdu-5314 Happy King
题意: 给出一颗n个结点的树,点上有权值; 求点对(x,y)满足x!=y且x到y的路径上最大值与最小值的差 n 题解: 来填一填当年挖下的坑; 这个数据范围真是恶意。。直接说五组数据不好吗! 考虑这题怎么做,在这场考试那天的前一天,我学习了树分治算法; 然后他就出了,然后我就写了,然后我就写不出来了; 当年的我实在naive; 我翻出了当时交上去的代码,改了好久好久。。原创 2015-08-28 17:13:43 · 1225 阅读 · 0 评论 -
hdu-5313 Bipartite Graph
题意: 给出一个完全二分图中的一些边,求这个完全二分图中最多还有多少条边; 点数 题解: BC的pre test太坑爹了! 显然如果想让边数最多,两边的点数越均衡越好; 考虑到给出的图可能是不连通的,我用了并查集来维护这些点集; (和图上染色的算法就差了一个反ackerman函数但是省了存边深搜的麻烦) 这样处理之后,就得到了一些二分图,之后就是将这些二原创 2015-07-30 10:23:43 · 905 阅读 · 0 评论 -
hdu-2888 Check Corners
描述 Paul draw a big m*n matrix A last month, whose entries Ai,j are all integer numbers ( 1 <= i <= m, 1 <= j <= n ). Now he selects some sub-matrices, hoping to find the maximum number. Then he finds原创 2015-03-21 09:00:03 · 872 阅读 · 0 评论 -
hdu-3001 Travelling
题意: 给一个n点m边的无向图,求经过所有点,并且经过每个点不超过两次的最短路长度; 数据: input: 5 6 1 2 1 2 3 1 1 3 1 1 5 1 1 4 100 5 4 10 output: 13 题解: 一开始不认真看英文就以为是很简单的状压TSP问题,并且样例也过了。。; 然而是有坑的,所有并不简单; 依然是考虑状态f[i]原创 2015-04-13 14:21:15 · 1068 阅读 · 0 评论 -
hdu-3507 Print Article
题意: 给出n,m,求在n个数中分成任意段; 每段的花销是(sigma(a[l],a[r])+m)^2; 求这个最小值; 题解: 斜率优化入门题; 然而入门并不是这么容易的(笑); 我们可以很容易的得到dp方程; f[i]=f[j]+(s[i]-s[j]+m)^2 其中s[x]表示x的前缀和,0 O(n^2)超时; 我们把平方打开可得; f[i] = f[j]+(s原创 2015-04-24 16:17:50 · 1113 阅读 · 0 评论 -
hdu-4521 小明序列
题意: 给出n,m,求在长度为n的序列中,相邻元素间隔不小于m的上升子序列的最大长度; n,m 题解: 说得这么拗口,其实就是在0 数据范围显然是要O(nlogn)的; 实现的方法其实有很多,但是我觉得用贪心+二分查找是最简单的; 更新一个b数组,b[i]表示长度为i的上升子序列中最小的末尾元素的值; 很显然b数组单调递增; 更新i时,用二分查找来找到比a[i]小的最后一原创 2015-04-27 19:01:33 · 832 阅读 · 0 评论 -
hdu-2196 Computer
题意: 给出一颗树,求所有点离树上点的最大距离; n<=10000 题解: 因为一棵树是没有环的,所以对于某个点,其答案可能在其子树中,或者向上走到父结点,再由父结点找到最长路; 这两者是不会有交叉的; 所以维护子树到当前结点的最长路ma[x],和向上到父节点找到的最长路fa[x]; fa[x]=ma[]+val原创 2015-05-28 20:53:16 · 541 阅读 · 0 评论 -
hdu-5571 tree
题意: 给出一个n个结点的树,有点权a[x]和边权val(x,y); 现有m次修改某个点的点权; 求每次操作后它所有结点对(x,y)之间的(a[x] xor a[y])*dis(x,y); 其中dis(x,y)指两点间距离; n 题解: 感觉上周的BC好奇怪啊。。。A上来就高精度没模板打个卵,B题SB题; 写完AB感觉药丸于是果断去看D,仔细一看卧槽。。。于是颓了一个小时C原创 2015-11-23 14:00:32 · 1151 阅读 · 0 评论