自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

n-1

凭自己的能力,去赢得一场胜利

  • 博客(126)
  • 收藏
  • 关注

原创 HDU 5316 Magician (线段树)

题目链接:HDU 5316 Magician题意:给出n个数的序列,有两种操作:0 a b表示询问[a,b]区间中美丽子序列的最大和,1 a b 表示将a位置上的数修改为b。美丽子序列的定义是 在原来的序列中挑出几个数组成一个序列要求他们的下标(指的是在原序列中的下标)奇偶性不同。思路:用线段树维护一个区间中 奇奇,奇偶,偶奇,偶偶四种状态的最大和,其中(奇奇就表示区间两个

2015-07-30 10:31:29 775

原创 HDU 5318 The Goddess Of The Moon (矩阵快速幂)

题目链接:HDU 5318 The Goddess Of The Moon题意:给出N串字符串,若是一个字符串的后缀与另一个字符串的前缀相同并且长度大于1,就表示这两个字符串是可以相连的,问M个字符串相连不同方案数为多少。思路:1.将输入的字符串预处理存入一个矩阵中,mp[i][j]=1说明str[i]与str[j]能相连,反之,则不能相连。2.str[i]与str[j]能相连 转

2015-07-30 10:21:22 985

原创 HDU 5317 RGCDQ (合数分解+预处理)

题目链接:HDU 5317 RGCDQ题意:定义函数F(x)为x的不同的素因子且小于等于x的个数,询问[l,r]区间中gcd(F(i),F(j))的最大值。思路:暴力预处理出所有的合数分解结果,发现F(x)最大也只有7,之后就是暴力求出所有1到7出现次数的前缀和。询问的时候就打到O(1)了。AC代码:#include #include #include using n

2015-07-30 10:10:51 832

原创 ZOJ 3890 Wumpus (BFS)

题目链接:ZOJ 3890 Wumpus题意:一个人在n*n的地图的左下角,他想逃出地图,并且他想要分数达到最高,他可以做的操作有直走,左转,右转,射击,爬,挖金矿6个操作,每个操作后分数减10,但是挖到金矿分数加1000,问你逃出地图的最大分数是多少。他可能遇到怪兽但是他不射击(也就是说没有射击的操作),金库在地图中也只有一个。思路:BFS搜一遍就好了AC代码:#

2015-07-28 09:40:42 1699

原创 ZOJ 3888 Twelves Monkeys (预处理+优先队列)

题目链接:ZOJ 3888 Twelves Monkeys题意:题目描述起来比较绕,直接讲案例9 3 39 16 14 1672输入n,m,q,n限制了你询问的年份,m台时光机,q个询问。接下来m行,描述从第9年回到第1年。接下里就是三个询问。第一个询问6的答案是5.1.从第6年回到第1年 (6-1)直接做时光机2,(6-7-8-9-1)过3

2015-07-28 09:32:01 871

原创 HDU 5288 OO’s Sequence (暴力枚举因子)

题目链接:HDU 5288 OO’s Sequence题意:给出一个n,表示n个数的序列,函数f(l,r)定义,在l,r区间中存在多少个数,不能被其他数整除。求累加所有子区间的函数值思路:从ai的小范围入手1.a不能被b整除,即a的所有因子中不存在b,所以打表枚举所有的数的因子。2.找到一个数(位置为i)满足条件时最左端l和最右端r,(i-l)*(r-i)就是对答案的贡献。

2015-07-25 09:41:01 754

原创 5289 Assignment (RMQ+二分区间)

题目链接:5289 Assignment题意:给出n和K,表示有一串n个数的序列,存在多少个区间,该区间中任意两个数的差小于k思路:1.区间任意两个数的小于K 等价于 区间max-min2.最后暴力枚举区间必定要超时,发现随着区间的扩大max-min的值也在变大(非递减),有单调性就容易想到二分,所以是枚举左端点,二分找右端点。AC代码:#include#incl

2015-07-25 09:28:41 705

原创 HDU 5294 Tricks Device (最大流+最短路)

题目链接:HDU 5294 Tricks Device题意:n个点,m条边,并且一个人从1走到n只会走1到n的最短路径,问至少破坏几条边使原图的最短路不存在,最多破坏几条边使原图的最短路劲仍存在思路:1.跑一遍最短路,记录下所有最短路径,将这些最短路径的边以(0,1)(流量,容量)加到网络流中,跑一遍最大流2.记录下的所有最短路径,再加到新的最短路的图中,边权为1,跑一遍最短路,m

2015-07-25 09:17:32 941

原创 LightOJ 1295 Lighting System Design (排序+dp)

题目链接:LightOJ 1295  Lighting System Desig题意:给出n种灯(v,k,c,l)分别是灯的(电压,所需电源费用,灯的单价,所需灯的数量),电压高的灯可以代替电压低的灯但是电压低的灯不能代替电压高的等,每种灯的电压各种相同,问选n种灯最小的花费。思路:因为电压高的灯可以代替电压低的灯——按电压高到低排序,然后求前缀和——因为当出现代替时可以,快速统计

2015-07-16 19:45:30 739

原创 POJ 3168 Barn Expansion (几何+排序)

题目链接:POJ 3168 Barn Expansion题意:抽象出来就是给出n个矩形的坐标是(左下角和右上角的坐标,矩形的边都是平行x,y轴),问有几个矩形和其他矩形没有接触(只存在边接触或者点接触,不存在有公共面积)。思路:把边分成两类,平行x轴和平行y轴。对边进行排序,然后for一遍判断是否有相交即可AC代码:#include #include #incl

2015-07-13 20:08:23 1020

原创 LightOJ 1070 Algebraic Problem (推导+矩阵快速幂)

题目链接:LightOJ 1070 Algebraic Problem题意:已知a+b和ab的值求a^n+b^n。结果模2^64。思路:1.找递推式得到递推式之后就是矩阵快速幂了注意:模2^64,定义成unsigned long long 类型,因为无符号类型超过最大范围的数与该数%最大范围 的效果是一样的。AC代码:#include#incl

2015-07-13 19:44:48 902

原创 HDU 4586 Play the Dice(规律+推导)

题目连接:HDU 4586 Play the Dice题意:有一个n面的骰子,掷到i面的获得一个价值ai,还有m个特殊的面掷到这些面可以获得价值并且还可以获得再掷一次的机会,问游戏结束获得价值的期望。思路:下面是3个面有2个特殊面(红色),掷三次的情况。以下是推导:注意:sum==0答案是0,n==m是inf#include int a

2015-05-10 19:37:13 718

原创 Regionals 2013 Asia - Daejeon (部分题目题解)

题目链接:Regionals 2013 Asia - Daejeon 6500 Boxes题意:将箱子(矩阵的1)全移动到矩阵的底部需要几步思路:按列从下到上统计。(n,m)的矩阵,移动一个箱子(x,y),如果有c个箱子在底部,那么移动该箱子的步数是(n-x-c-1)。AC代码:#include #include int mp[110][110];int main()

2015-05-02 08:57:33 1295

原创 ZOJ 3879 Capture the Flag (浙江省省赛K题+模拟)

题目链接:ZOJ 3879 Capture the Flag题意:给出n支队伍互相攻击服务器,有以下规则:1.如果A队的服务器1被B队攻击成功,A队将失去n-1点分数,这n-1点分数会平分给成功攻击A队的服务器1的其他队伍。eg:共4个队A B 1C B 1此时A队和C队都获得1.5(3/2)分,B队失去3分2.如果一个队不能维护好他们的服务器,该队将失去n-1分,

2015-04-29 09:20:12 1200

原创 ZOJ 3866 Cylinder Candy (浙大校赛+积分应用)

题目链接:ZOJ 3866 Cylinder Candy 题意:抽象出来就是求一个圆柱体外面加一层厚度为d的巧克力,求包装完这个立体图形的体积和表面积。剖析:以下是包装后的三视图:图2图3接下里就是积分了2*V1是图3绕y轴的体积V2是中间的半径为(r+d)的圆柱体积S1是中间的半径为(r+d)的圆柱的表面积S2是上下两个半径为r

2015-04-26 09:32:05 1261

原创 ZOJ 3591 Nim (连续子序列异或和)

题目链接:ZOJ 3591 Nim题意:根据题目给出的代码得到n堆石头的各自的数量,求先手选出连续的若干堆并且必胜的方法数。(比如:3,1,1 每堆石头数是1,1,1.先手选出(1),(1),(1),(1,1,1) 这四种方案是必胜的,所以答案是4)思路:在n堆取石头首先想到的是Nim博弈,连续的若干堆,即求连续子序列异或和为0的数量m,n*(n+1)/2-m就是答案(Nim博弈结论,

2015-04-08 19:42:24 1931

原创 Codeforces Round #118 (Div. 1) A Mushroom Scientists (多元函数极值问题+拉格朗日乘数法)

题目链接:Codeforces Round #118 (Div. 1) A Mushroom Scientists题意:提炼出来就是求f(x,y,z)=x^a*y^b*z^b,这个三元函数在(0思路:更严格的还要证明在边界所取到的值比极值要小。注意:%.10lf注意看题目的outputAC代码:#include int main(){ int s;

2015-04-08 09:00:22 1333 2

原创 Codeforces Round #112 (Div. 2) C Another Problem on Strings

题目链接:Codeforces Round #112 (Div. 2) C Another Problem on Strings题意:给出一个只含0,1的序列,求序列中和为n的子序列有多少个。思路:预处理出序列的前缀和,然后枚举序列时,记录(vis)该位置之前已有的前缀和,再查询(sum[i]-n)的个数,即以该位置为结束的子序列和为n的个数。注意:vis数组中0应该始终存在,初始化v

2015-04-06 21:13:48 899

原创 HDU 1143 Tri Tiling (状压DP)

题目链接:HDU 1143 Tri Tiling题意:3*N的矩形,用2*1的小矩形铺满有多少种情况。思路:每个小矩形可以横着放或是竖着放,发现3数据比较小可能状压做,小矩形竖着放为1,横着放为0(所以0是成对出现的),注意我们摆放的规则是摆到那一行应该把那一行铺满。AC代码:#include #include #include using names

2015-03-10 21:53:08 712

原创 lightOJ 1047 Neighbor House (DP)

题目链接:lightOJ 1047 Neighbor House题意:有N做房子,每个房子涂3种颜色各有一个花费,相邻的房子颜色不能一样,给N个房子涂颜色,问完成这个任务的最小花费。dp[i][j] 表示涂到第i个房子涂j颜色的最小花费。状态转移方程:dp[i][k]=min(dp[i][k],dp[i-1][j]+p[i].c[k]);AC代码:#

2015-03-02 20:57:33 609

原创 hihocode 1116 计算 (线段树)

题目链接:hihocode 1116 计算 中文题。(待解决)还没弄明白为什么PushUp()怎么计算,神奇#include #include #define LL long longconst LL kmod=10007;const LL maxn=100010;struct node{ LL l,r; LL sum,all; LL ls,rs; LL mi

2015-02-10 20:27:50 827

原创 HDU 5172 GTY's gay friends (预处理+线段树)

题目链接:HDU 5172 GTY's gay friends题意:给出一串序列,询问[l,r]区间里是否存在1~l-r+1的一个排列。思路:1~l-r+1的一个排列 等价于 [l,r]中元素互不相同且[l,r]区间和等于(1+len)*len/2(len=l-r+1)。区间和可以用前缀和来处理。元素互不相同,记录位置i上a[i]上次出现的位置记做pre[i],再用线段树来维护区间

2015-02-10 15:15:54 849

原创 HDU 5171 GTY's birthday gift (矩阵快速幂)

题目链接:HDU 5171 GTY's birthday gift题意:每次将序列中两个数相加再加入序列中,反复操作k次,问k次操作后的序列和最大是多少。思路:序列和最大,显然是每次取序列中最大的两个数相加。3 26 3 2第一步:6 + 3 = 9 1 * 6 + 1 * 3 = 9第二步:6 + 3 + 6 = 152 * 6 + 1 * 3 = 15第三步

2015-02-07 21:45:00 684

原创 HDU 1421 搬寝室 (DP)

题目链接:HDU 1421 搬寝室中文题。dp[i][j] 的意义是:前i件物品取2*j 件的最小疲劳值先从小到大排序。当j==2*i ,dp[i][j]=dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]);当j>2*i,dp[i][j]=min(dp[i-1][j],dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1])

2015-02-07 12:31:38 654

原创 POJ 2763 Housewife Wind (树链剖分+线段树)

题目链接:POJ 2763 Housewife Wind题意:抽象出来就是 一棵已知节点之间的边权,两个操作,1·修改边权,2·询问两个节点之间的边权和。AC代码:#include #include #include using namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<

2015-02-06 08:41:24 829

原创 HDU 1176 免费馅饼 (DP)

题目链接:HDU 1176 免费馅饼中文题。dp[i][j]表示第i秒在j位置得到最大的馅饼数,右边1步,左边1步,原地不动三个状态转移过来。状态转移方程:dp[i][j]=max(dp[i+1][j],max(dp[i+1][j+1],dp[i+1][j-1]))+mp[i][j];AC代码:#include #include #include usin

2015-02-05 18:44:43 752

原创 ZOJ 3041 City Selection(好排序)

题目链接:ZOJ 3041 City Selection题意:有N个城市坐标和M个工厂坐标,在以工厂为原点的第四象限的点都会受到污染。即图中画线区域思路:把工厂和城市的坐标一起排序,再比较y坐标。AC代码:#include #include #include using namespace std;const int maxn=200010;

2015-02-05 18:35:04 761

原创 POJ 3237 Tree (树链剖分+线段树)

题目链接:POJ 3237 Tree题意:在树上有三种操作。CHANGE A B 1.将第A条边的值赋值为B;NEGATE A B 2.将A节点到B节点路径上的边变为其相反数。QUERY A B  3.访问A节点到B节点的路径上的边权最大。比较明显的树链剖分,主要是在线段树区间更新,取相反数可以得到,最大值和最小值取相反数后,再交换就是各自改变后的值。

2015-02-03 19:20:45 640

原创 ZOJ 2994 && HDU 1992 Tiling a Grid With Dominoes (状压DP)

题目链接:HDU 1992 Tiling a Grid With Dominoes题意:一个4*N的矩形,用1*2的小矩形铺满的方法数是多少。思路:4*N。只有4行想到状压,dp[i][j]表示前i行状态j的方法数,影响当前行的只有上一行!0成对出现表示横着放,1表示竖着放,所以第一行的状态0.3.9.12.15五种,并且只要上一行是0状态。当前行的状态就为0.3.9.12.15五种可能。

2015-01-29 19:39:20 1101

原创 CSU 1503 点到圆弧的距离 (拉格朗日乘数法)

题目链接:CSU 1503 点到圆弧的距离中文题。思路:求一个二元函数在圆弧上的极值,加上端点的值,一起取个最小就是答案。注意:1+λ为0时,P点在圆心,最短距离自然是半径。求的极值点在圆的优弧或是劣弧的判断可以将直角坐标系转为极坐标,用角度判断。还有就是最坑的精度,精度要达到0.0001AC代码;#include #include

2014-12-06 19:18:29 1039

原创 HDU 5131 Song Jiang's rank list (结构体+MAP,2014广州现场赛)

题目链接:HDU 5131 Song Jiang's rank list题意:对给出的好汉按杀敌数从大到小排序,若相等,按字典序排。M个询问,询问名字输出对应的主排名和次排名。(排序之后)主排名是在该名字前比他杀敌数多的人的个数加1,次排名是该名字前和他杀敌数相等的人的个数加1,(也就是杀敌数相等,但是字典序比他小的人数加1)。AC代码:#include #inclu

2014-12-06 09:49:18 851

原创 HDU 5131 Little Zu Chongzhi's Triangles (状压DP +2014广州现场赛)

题目链接:HDU 5131 Little Zu Chongzhi's Triangles题意:给出一些线段,在其中选出3根组成三角形,问用这些线段组成的所有三角形的最大面积是多少。73 4 5 3 4 5 90两个三角形是(3,3,4),(5,5,4)。思路:N最大12,状态压缩,把所有可能组成的三角形存起来。A&B==0则说明A|B状态是有效的。贪心也能过。。为什么?

2014-12-06 09:39:49 752

原创 HDU 4710 Balls Rearrangement (纯数学)

题目链接:HDU 4710 Balls Rearrangement题意:不啰嗦了;提炼出来就是求思路:容易得到结果就是 一个数列的是以lcm(a,b)为循环节的一个数列,答案就是求和这个数列。扫一遍的话lcm(a,b)很大会爆掉(比赛爪机的在一个循环节中for了一遍 = =)。大神的做法:在算一个循环节中跳着求和,比如: 20 5 3 红色框(代码中

2014-11-24 20:30:23 651

原创 HDU 3264 Open-air shopping malls (两个圆的交面积+二分)

题目链接 :HDU 3264 Open-air shopping malls题意:给出n个圆。要求一个在n个圆的圆心建一个大圆,使大圆与每一个小圆的交面积大于等于该小圆的面积的一般。求最小的大圆半径。思路:二分大圆半径,枚举每个小圆与大圆的交面积。注意精度问题。AC代码:#include #include #include const double

2014-11-22 10:04:59 762

原创 ZOJ 2711 Regular Words (三维Catalan数)

题目链接:ZOJ 2711 Regular Words (三维Catalan数)题意:给出一串3*n长度的字符,其中是含有A,B,C,满足以下条件的字符串有多少种。1.字符串中A,B,C的个数相同。2.该字符串的前缀中 A,B,C的个数成非递减。做法一:一个三维的Catalan数。做法二:三维的DP。AC代码:import java.math

2014-11-17 08:02:01 1206

原创 ZOJ 2706 Thermal Death of the Universe (线段树)

题目链接:ZOJ 2706 Thermal Death of the Universe (线段树)题意:n个数,m个操作。每个操作(a,b)表示(a,b)所有值更新为这个区间的平均数:1.当前的数列总和小于等于原数列总和,取平均值的上界,反之,取下界。注意有负数的情况。AC代码:#include#include #define LL long long#d

2014-11-17 07:52:22 971

原创 HDU 3131 One…Two…Five! (暴力搜索)

题目链接:HDU 3131 One…Two…Five! (暴力搜索)题意:给出一串数字,要求用加,减,乘,除(5/2=2)连接(计算无优先级:5+3*6=8*6=48),求所有结果中,含有‘3’且该数字出现频率最大,若频率相等,输出数字最大的。暴力解决之AC代码:#include #include #include #include #def

2014-11-15 10:15:42 995

原创 Codeforces Round #275 (Div. 2) C - Diverse Permutation (构造)

题目链接:Codeforces Round #275 (Div. 2) C - Diverse Permutation题意:一串排列1~n。求一个序列其中相邻两项差的绝对值的个数(指绝对值不同的个数)为k个。求序列、思路:1~k+1。构造序列前段,之后直接输出剩下的数。前面的构造可以根据,两项差的绝对值为1~k构造。AC代码:#include #include

2014-10-25 10:29:57 1279

原创 HDU 5073 Galaxy (2014鞍山现场赛D题)

题目链接:HDU 5073 Galaxy题意:在一维的坐标系里,给出N个点坐标,转动K个点,使转动后这个星系的的惯性最小(根据题意惯性最小也就是 求所有星星到星系中心的距离最小,这个可以理解成方差最小)。求最小的惯性。思路:先对序列排序,再求出算N-K个点惯性的递推式。以三个为例:预处理是 平均数和各项的平方和,注意:n==k的特判AC代码:

2014-10-25 08:42:42 879

原创 HDU 2489 Minimal Ratio Tree (暴力枚举+最小生成树)

题目链接:HDU 2489 Minimal Ratio Tree题意:给出n,m,n个点的点权和一个n*n的矩阵,(i,j)表示点i到点j的比边权为(i,j),在n个点中选m个点,求最小的ratio。(ratio = 所有边权和/所有点权和)思路:n最大15,状态压缩每个点是否取,再用Prim得到最小的边权,即得到ratio;AC代码:#include #incl

2014-10-24 18:04:45 942

空空如也

空空如也

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

TA关注的人

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