自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whai的专栏

要有最朴素的生活和最遥远的梦想,即使明日,天寒地冻,路遥马亡。

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 hdu 5193 分块 树状数组 逆序对

hdu 5193 分块 树状数组 逆序对题意:给出n个数,a1,a2,a3,...,an,给出m个修改,每个修改往数组的某个位置后面插入一个数,或者把某个位置上的数移除。求每次修改后逆序对的个数。限制:1 思路:插入和删除用分块来处理,块与块之间用双向链表来维护,每一块用树状数组来求小于某个数的数有多少个。外层可以使用分块维护下标,这样添加和删除元素的时候,也很

2015-03-31 12:12:01 748

原创 网络流中的一些基本概念

网络流中的一些基本概念最大流:最小割:最大匹配:最小顶点覆盖:求一个最小的点集S,使得G中任意边都有至少一个端点属于S。最大独立集:求一个最大的点集,里面的点不存在任何的边相连。最大团:求一个最大的点集,里面的点两两相连。最小边覆盖:理解为边覆盖点,用最少的边把图中的点全部覆盖。最小路径覆盖:用最少的路径把图中的所有点覆盖。规则:最大流=最小割最

2015-03-30 20:48:10 793

原创 poj 2135 费用流

poj 2135 费用流题意:给出一个有n个点m条边的图,求从点1到点n再从点n回到点1的最短路径,要求每条路最多只能经过一次。限制:1 思路:费用流建图:超级源点0,连边:0->1,流量为2,费用为0;超级汇点n+1,连边:n->n+1,流量为2,费用为0;其他和图的边一样,建双向边,流量为1,费用为边权。/*poj 2135 题意:

2015-03-30 19:20:46 593

原创 poj 3692 二分图最大匹配

poj 3692 二分图最大匹配题意:已知班级有g个女孩和b个男孩,所有女生之间都相互认识,所有男生之间也相互认识,给出m对关系表示哪个女孩与哪个男孩认识。现在要选择一些学生来组成一个团,使得里面所有人都认识,求此团最大人数。限制:1 思路:求最大团。最大团=|V|-最大独立集最大独立集=|V|-最大匹配最大团=补图的最大独立集由题意可得,互

2015-03-30 18:52:39 571

原创 poj 3020 一般图最大匹配 带花树开花算法

poj 3020 一般图最大匹配 带花树开花算法题意:给出一个h*w的图,每个点都是'o'或'*',最少要用多少个1*2的矩形才能把图中所有的'*'都覆盖掉。限制:1 思路:最小边覆盖=|V|-最大匹配一般图最大匹配,带花树开花算法/*poj 3020 一般图最大匹配 带花树开花算法 题意: 给出一个h*w的图,每个点都是'o'或'*',最少

2015-03-30 18:37:13 1012

原创 hdu 5192 尺取法 树状数组

hdu 5192 尺取法 树状数组题意:乐乐又开始搭积木了。他想在昨天搭完的积木上,重新搭建,使得其中有连续W堆积木具有相同的高度,同时他希望高度最少为H。乐乐的积木都这了,也就是说不能添加新的积木,只能移动现有的积木。他可以把一个积木从一堆移动到另一堆或者新的一堆,但是不能移动到两堆之间。比如,一次移动之后,"3 2 3" 可以变成 "2 2 4" 或者 "3 2 2 1",

2015-03-25 11:15:30 897

原创 spoj 4491 莫比乌斯反演

spoj 4491 莫比乌斯反演题意:给出a,b,求gcd(x,y)=prime的方案数,其中:1 限制:1 思路:先把问题拆成一个一个来考虑,然后问题就变成gcd(x,y)=k的方案数。设f(k)为gcd(x,y)=k的方案数,设F(k)为gcd(x,y)为k的倍数的方案数,显然F(k)=floor(a/k)*floor(b/k)。由莫比乌斯反演得:

2015-03-15 16:29:22 872

原创 poj 2187 最远点对

poj 2187 最远点对题意:给出n个点,求最远点对的距离。限制:2 思路:凸包,旋转卡壳/*poj 2187 题意: 给出n个点,求最远点对的距离。 限制: 2 <= n <= 5*1e4 思路: 凸包,旋转卡壳 */#include#include#include#include#includeusing name

2015-03-15 11:49:47 790

原创 poj 3714 最近点对

poj 3714 最近点对题意:给出n个a类点,n个b类点,求a类点到b类点的最近距离。限制:1 0 思路:点分治/*poj 3714 题意: 给出n个a类点,n个b类点,求a类点到b类点的最近距离。 限制: 1 <= n <= 1e5 0 <= x,y <= 1e9 思路: 点分治 */#include#include

2015-03-15 11:41:30 1107

原创 zoj 2107 最近点对

zoj 2107 最近点对题意:给出n个点,求最近点对的距离/2。限制:2 思路:点分治/*zoj 2107 题意: 给出n个点,求最近点对的距离/2。 限制: 2 <= n <= 1e5 思路: 点分治 */#include#include#include#includeusing namespace std;cons

2015-03-15 11:34:25 655

原创 poj 1651 dp 记忆化搜索

poj 1651 dp 记忆化搜索 题意: 给出n个整数a1,a2,…,an,要求从中取出中间的n-2个数(两端的数不能取),取出每个数的代价为它两边的数和它的乘积,问取出这n-2个数的最小代价为多少? 限制: 3 <= n <= 100; 1 <= ai <= 100 思路: dp 记忆化搜索 对于每个过程其实就是,枚举最后取的数a[i],然后把区间[l,r]分割成[l,i]和[i,

2015-03-13 15:59:59 734

原创 hdu 4498 自适应simpson

hdu 4498 自适应simpson 题意: 给出k1,k2,…,kn, a1,a2,…,an 和 b1,b2,…,bn 求函数: F(x)=min{100,min{ki*(x-ai)^2+bi | 0 < i <= n}} 在坐标上画出的曲线的长度。限制: 1 <= n <= 50; 0 <= ai,bi < 100; 0 < ki < 100思路: 先求出所有交点,然后排序,把函

2015-03-11 19:31:54 952

原创 hdu 1724 自适应simpson 或 romberg

hdu 1724 题意: 求椭圆面积, x^2/a^2+y^2/b^2=1, 给出a,b,l,r, 求椭圆被直线x=l, x=r所夹面积。思路: 1. 自适应simpson,精度不是很高,所以eps要设小一点。 2. romberg,精度很好,但效率不是很高。自适应simpson: /*hdu 1724 题意: 求椭圆面积, x^2/a^2+y^2/b^2=1, 给出a,b,

2015-03-11 19:03:49 868

原创 hdu 5185 dp

hdu 5185 dp 题目: x[1]+x[2]+x[3]+…+x[n]=n, 这里 0 <= x[i] <= n && 1 <= i <= n x[i] <= x[i+1] <= x[i]+1 && 1 <= i <= n-1 对于一个给定的n,Gorwin想要知道有多少xi的组合满足上述等式。由于结果比较大,输出答案对m取余的结果就行。限制: T组数据:1 <= T <=20

2015-03-10 12:06:47 1010

原创 poj 3280 dp 记忆化搜索

poj 3280 题意: 给出n,m, 表示长度为m的字符串里只含n种字母, 给出字符串, 再给出每种字母增加和删除的代价c1,c2, 求把这个字符串变成回文串的最小代价。限制: 1 <= n <= 26; 1 <= m <= 2000; 0 <= c1,c2 <= 10000思路: if(str[l]!=str[r]) dp[l][r]=min(dp[l+1][r]+cost[l],dp[

2015-03-10 09:41:12 719

原创 hdu 5184 卡特兰数

hdu 5184 卡特兰数题意:我们给出下列递归的合法括号序列的定义:1. 空序列是合法括号序列2. 如果s是一个合法括号序列,那么(s)也是合法括号序列3. 如果a和b是合法括号序列,那么ab也是合法括号序列4. 没有其它情况是合法括号序列比如下列括号序列是合法括号序列(), (()), ()(), ()(())下列括号序列则不是(, ), )(, (

2015-03-08 16:56:17 1430

原创 hdu 5183 预处理 哈希

hdu 5183 预处理 哈希题意:给定一个数组(a[0],a[1],a[2],a[n-1])和一个整数K,请来判断一下是否存在二元组(i,j)(0 限制:1 思路:先从前到后求sum[i],然后从后往前扫,每到一个sum[i],判断sum[i]+k是否在后面的sum[j](j>i)出现过,如果出现过则yes,否则把sum[i]插入hash表中用于后续的查询。

2015-03-08 16:35:56 731

原创 hdu 5072 莫比乌斯反演

hdu 5072题意:给出n个数a1,a2,...,an, 从中选出三个数a,b,c,且这三个数符合[(a,b)=(b,c)=(a,c)=1] || [(a,b)!=1 && (b,c)!=1 && (a,c)!=1] 其中(x,y)表示x,y的最大公约数。求符合这个条件的三元组的个数。限制:3 思路:设bi为与ai互质的数的个数,则符合条件 !(((a

2015-03-07 17:19:24 907

原创 hdu 5180 状态压缩 dp 打表

hdu 5180 状态压缩 dp 打表题意:在n*n的国际象棋中,放置若干个国王和k个车,使得国王之间不互相攻击,车之间不互相攻击,车不可攻击到国王(这并不代表国王不能攻击到车)。国王能攻击到它上下左右,左上左下右上右下八个位置的棋子,车可以攻击到同一行或同一列中的棋子,求方案总数对1000000007取模后的值。 限制:1 思路:状态压缩,dp,打表套打表

2015-03-07 14:35:45 1363

原创 zoj 3435 spoj 7001 莫比乌斯反演

zoj 3435题意:给出3个数a,b,c, 定义一个立方体,这个立方体有a*b*c个点,每个点的坐标都是整数(x,y,z),求经过坐标(1,1,1)和另外任意一个点(x1,y1,z1)的不同的直线有多少条。限制:2 思路:有3种情况:1. x1,y1,z1都大于等于2:问题就变成求1 用莫比乌斯反演来做。设f(k)为gcd(x,y,z)=k

2015-03-05 15:08:00 864

原创 bzoj 2301 莫比乌斯反演

bzoj 2301 莫比乌斯反演题意:给出a,b,c,d, 求符合条件a 限制:1 思路:这道题可以化为:求 1 这个问题可以用莫比乌斯反演解决。设f(k)为gcd(x,y)=k的数对(x,y)的数目,设F(k)为gcd(x,y)为k的倍数的数对(x,y)的数目,显然F(k)=floor(t1/k)*floor(t2/k),由于这道题case数比

2015-03-05 14:28:32 1027

原创 poj 3904 莫比乌斯反演 或 容斥原理

poj 3904 莫比乌斯反演 或 容斥原理题目:给出n个数字a1,a2,...an, 求从中选出一个四元组(a,b,c,d), 使得gcd(a,b,c,d)=1,求符合条件的四元组的数目。限制:1 思路:莫比乌斯反演入门题设f(k)为gcd(a,b,c,d)=k的四元组的数目,设F(k)为gcd(a,b,c,d)为k的倍数的四元组的数目,F(k

2015-03-04 21:12:08 1779

原创 hdu 1695 莫比乌斯反演

hdu 1695 莫比乌斯反演题意:给出a,b,c,d,k, 求满足a 限制:a=c=1; 0 思路:其实是求满足1 莫比乌斯反演入门题设f(k)为gcd(x,y)=k的数对(x,y)的对数,我们要求的是f(1)设F(k)为gcd(x,y)为k的倍数的数对(x,y)的对数,可以想到F(k)=floor(b/k)*floor(d/k),由莫比乌

2015-03-04 20:32:26 3344

原创 素数筛

素数筛一个有用的性质:1~n的素数只需要用1~sqrt(n)的素数来筛,这个性质在局部筛的情况下很有用。两种素数筛的代码:/*素数筛 一个有用的性质:1~n的素数只需要用1~sqrt(n)的素数来筛,这个性质在局部筛的情况下很有用。 */#include #include #include #include using namespace std;

2015-03-04 17:59:37 849

汇编万年历

用汇编语言写的万年历,可输出1582年之后的年历。

2013-01-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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