关闭

莫队+分块

这个题是bzoj-2038 题目链接: 题意:给出n个数字,m次询问,每次询问在区间\([l_i,r_i]\)之间任选两个数字相等的概率是多少。(n,q 思路:这道题是比较模板的莫队分块了,对于一个区间询问[L,R],我们要求的ans是  ∑C(f[i],2)/C(r-l+1,2) 然后有:∑(f[i]^2-f[i])/((r-l+1)*(r-l)) 其中sum(f...
阅读(15) 评论(0)

树状数组+启发式合并

重要的是事情说三遍,我是傻逼我是傻逼我是傻逼 傻逼。。。。 说说这个题吧,hdu-5997 题意: 给出一个颜色的序列,每次有两种操作: 1 x y:将所有的颜色x变为颜色y;2 l r:查询[l,r]之间有多少个连续的颜色段。 对于每次查询操作,输出查询的结果。 思路 用树状数组c维护当前点是不是...
阅读(34) 评论(0)

GarsiaWachs算法

题目描述: N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9(14) => 10(...
阅读(42) 评论(0)

抽屉原理

题意:给你n(n 题目链接:点击打开链接 题目思路: 总共有N个数。 输入的数据存为 a[1] a[2] .........a[N] 令 b[n]=(a[1]+a[2]+a[3]+...+a[n])%N           (n=1,2,3,...,N) b[0]=0; 首先,b[n]都是N的余数。总共有N个取值(0,1,2,...,N-1) ...
阅读(23) 评论(0)

线段树(区间修改,单点查询)

题目链接:https://vjudge.net/contest/196267#problem/B 题号:zoj-3284 题目大意:就是给你一个矩阵,让你实现一些修改和查询操作 题目思路:建立两个线段树,不细说 #include #include #include #include #include #include #include #include #inclu...
阅读(39) 评论(0)

DFS搜索+剪枝

hdu-5952题意:给出一张无向图,然后判断这张图中一共有多少个不同的大小为S的完全图(完全图的顶点数为s个),题目保证每个点的度不大于20。完全图:n个点两两之间都有一条边的图叫完全图。思路:由于顶点个数很少,而且每个点的度数最多是20,所以可以暴力优化,建图,对于每个s点完全子图,如果i点在子图中,那么就枚举与i有边的其他点,(意思就是枚举完全图里面有i点的那些完全图,既然i点在完全图中,那么...
阅读(30) 评论(0)

数论+gcd

洗澡回来遇到个好玩的数论题,想了想还是决定写篇博客来说说这个题。。。ORZhdu-5902这个题呢,说给你n个数(n<=500),每个数小于等于1000,然后每次从这些数里面任意挑选出三个数,然后随意取这三个数里面的两个数进行gcd得到数d,然后把d,d加进数组里,(对,没错,就是加两次),然后操作到最后一定是两个一样的数,问你最后剩下的数可能是几,,,具体题意: Alex发明了一个有趣的游戏....
阅读(518) 评论(0)

最短路总结(迪杰斯特拉+floyed+SPFA)

今天突然发现spfa有点忘了,所以写了这篇博客,回顾回顾最短路算法,方便以后忘了可以复习复习QAQ最短路三种算法算法一:迪杰斯特拉算法注意:注意:迪杰斯特拉要求图中不能有负权边推荐博客: http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html实现方法有两种,第一种就是数组标记,第二种是优先队列实现。推荐第二种,时间复杂度...
阅读(51) 评论(0)

浅谈分块(未完,待续)

分块”一直觉得分块是一个很高端的东西…一直没敢碰,现在才知道分块就是一种稍微优美一些的暴力,所以没有学过分块的同学不要害怕啦…”–大佬说分块,顾名思义就是将一个整的东西分成无数个小块,比如一个数组{1,2,3,4,5,6,7,8,9},我们可以将它分成{1,2,3},{4,5,6},{7,8,9}这三个小块,有时候对区间进行操作的话,有些小块是可以直接进行操作的,不需要一个一个去遍历,比如你要去求第...
阅读(54) 评论(0)

RMQ算法小结(st实现)

rmq+stRMQ简单来说就是求区间的最大值(最小值)。举个例子: 1 -2 9 10 15 38 -9 这里有 7 个数(随便输的),RMQ就是用来查询这些数中的最大值(最小值),但是是区间的。比如查询 [1,3] 这个区间的最大值 就是 9 这个值 . RMQ一般有三种实现方式:暴力、线段树优化、st(dp),其中以st算法复杂度最低...
阅读(94) 评论(0)

圆的一些操作

1、三点求圆心坐标和半径:x0=((y2-y1)(y3*y3-y1*y1+x3*x3-x1*x1)-(y3-y1)(y2*y2-y1*y1+x2*x2-x1*x1))/(2.0*((x3-x1)(y2-y1)-(x2-x1)(y3-y1)));y0=((x2-x1)(x3*x3-x1*x1+y3*y3-y1*y1)-(x3-x1)(x2*x2-x1*x1+y2*y2-y1*y1))/(2.0*((y...
阅读(65) 评论(0)

辛普森积分(自适应辛普森公式求积分)

自适应辛普森公式求积分第一回接触辛普森积分,至于这个辛普森是干嘛的呢,在这里就有必要好好地讲一讲了。来源:辛普森(Simpson)公式是牛顿-科特斯公式当n=2时的情形,也称为三点公式。利用区间二等分的三个点来进行积分插值。其科特斯系数分别为1/6,4/6,1/6。应用:立体几何中用来求拟柱体体积的公式。这里就不详细说辛普森公式了,有需要的朋友可以看这里:https://baike.baidu.co...
阅读(1664) 评论(3)

凸包(判多边形的凹凸性)

题目:ZOJ-3537题目大意:给定n个点的坐标,先问这些点是否能组成一个凸包,如果是凸包,问用不相交的线来切这个凸包使得凸包只由三角形组成,根据 cost(i, j) = |xi + xj| * |yi + yj| % p 算切线的费用,问最少的切割费用。思路:先判断多边形是否是凸包,,,凸包:和凸多边形差不多的意思,,如何判断凸多边形:http://blog.csdn.net/kavu1/art...
阅读(136) 评论(0)

二分图最大匹配(邻接表法)

二分图最大匹配(邻接表法)题目链接:https://cn.vjudge.net/contest/181019#problem/F题目大意:给你一个n*n的矩阵,问你能不能从这个矩阵的所有对角线上各取一个数,这2n-1个数各不相同,如果能,输出这些数,不能就输出NO,,,这些数的范围是1-10的9次方,,,这题用二分图匹配做,将这些对角线当做男生,将这些对角线上的数当做女生,将这个数在这条对角线上当做...
阅读(103) 评论(0)

并查集(按秩合并)

并查集-按秩合并题目:UVA-11354题目大意:给出一张n个点m条边的无向图, 每条边有一个危险度,有q个询问, 每次给出两个点s、t,找一条路, 使得路径上的最大危险度最小。思路:首先,我们可以发现,如果求一个最小生成树, 那么任意两点, 在生成树上有唯一路径, 而且这条路径上的最大危险值一定最小。 但是n和q都太大, 如果直接顺着树走,每次询问最大复杂度O(n), 那么复杂度高达O(n^2),...
阅读(121) 评论(0)
71条 共5页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:8981次
    • 积分:771
    • 等级:
    • 排名:千里之外
    • 原创:68篇
    • 转载:2篇
    • 译文:0篇
    • 评论:3条