自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 hdu3311Dig The Wells

链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3311题意:n个和尚住的地方,m个其他地方。每个地方挖一口井需要花费q[i]的钱,两个地方连通需要花费对应的边权值。求所有人都能喝到水的最小花费。分析:斯塔纳树。如hdu4085,只要在加一位二进制表示集合内是否已经有水了即可。详见代码。代码:#include#include

2016-08-29 13:34:51 632

原创 hdu4085Peach Blossom Spring

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4085题意:有n个点m条无向边有边权,给定k,2*k分析:斯塔纳树的题。因为看到k比较小很容易想到用状态压缩表示哪些点已经连通了,那么我们设状态dp[i][j]表示以i为根的树并且已经包含了j状态的点的最小花费,那么转移有:dp[i][j]=min(dp[i][j']+dp[i][j-j'])其中j

2016-08-27 14:25:17 872

原创 poj3723Conscription

链接:http://poj.org/problem?id=3723题意:n个女生m个男生,r对男女之间的关系d,招募一个人要花费10000,但是如果军营中已经有认识的人那么只需要10000-d。分析:最大生成树。代码:#include#include#include#include#include#include#include#include#include#i

2016-08-21 18:18:57 318

原创 Educational Codeforces Round 1C. Nearest vectors

链接:http://codeforces.com/contest/598/problem/C题意:给定n个向量,求夹角最小的那一对向量。分析:直接极角排序然后取夹角最小的那一对即可。注意会卡精度要用long double。代码:#include#include#include#include#include#include#include#include#inclu

2016-08-21 16:07:37 315

原创 hdu3461Code Lock

链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3461题意:有一个长n的字符串锁,求这个锁有多少种不同的解锁方式,这个锁有若干个区间能够转动,两个能通过转动互相到达的情况属于同一种解锁方式。比如长度为1,如果没有区间就有'a'~'z'26中解锁方式。如果有一个转动区间[1,1],那么'a'->'b'->...'z',所以就只要1种解锁方式

2016-08-21 15:14:41 564

原创 hdu5834Magic boy Bi Luo with his excited tree

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5834题意:给定一棵树,有点权和边权,点权上的价值只能取一次,多次通过边要花费多次边权,求以每个节点为起点能获得的最大价值。分析:比较经典的一类树形dp,设1为根设g[i][0/1]表示从i出发只向儿子走的最大收获,0表示最终回到了i,1表示最终是在某个子孙中结束的,设f[i][0/1]表示i到i的

2016-08-15 13:17:02 1931

原创 hdu5833Zhu and 772002

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5833题意:给定n个数,保证没有素因子大于2000,求选择任意个数字出来(至少选1个)使得选出来的数乘起来为完全平方数。分析:2000以内的素因子只有303个,要构成完全平方数只需要使得出现的素因子次数为偶数次即可,对每个数对于每个素数的奇偶性列方程式求方程组的自由元个数即可。代码:#inc

2016-08-15 13:07:25 573

原创 uvalive3620Manhattan Wiring

链接:http://acm.hust.edu.cn/vjudge/problem/11229题意:给定一个n*m的矩阵,矩阵中有两个2和两个3,其他的为0/1,0表示空地,1表示障碍。要求将2连到2,3连到3并且两条线不能相交,求最短距离。分析:大白书轮廓线dp例题,用3进制保存状态,枚举所有转移时的状态。注意新的一行开始时要将上一行最后那个点的状态的轮廓线右移一位。代码:#inc

2016-08-13 20:47:42 515

原创 hdu4804Campus Design

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4804题意:给定一个n*m的矩阵,矩阵中有些是障碍点有些是空位置,要求用1*1和1*2的骨牌覆盖整个矩阵并且1*1的骨牌使用的个数在[c,d]之间,求方案数。分析:比较裸的轮廓线dp,直接设dp[i][j][mask][k]表示填到第i行第j列后状态为mask并且1*1使用了k个的方案数。O(n*m

2016-08-13 15:21:55 439

原创 uva11270Tiling Dominoes

链接:http://acm.hust.edu.cn/vjudge/problem/33787题意:给定一个n*m的矩阵,求用1*2的骨牌放置满的方案数。分析:轮廓线dp练习题,大白书练习题,设dp[i][j][mask]表示填完(i,j)格子后的状态为mask的方案数。代码:#include#include#include#include#include#include

2016-08-12 21:32:15 419

原创 bzoj3531: [Sdoi2014]旅行

链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3531题意:中文题。分析:如果没有颜色的干扰,那么这题只是一个裸树链剖分,但是有了颜色,而且颜色数还多。我们可以想象一下,我们对于每一种颜色都单独取出它们来,然后将相同的颜色像树链剖分那样建线段树,但是如果我们像普通的那样建显然空间会爆炸,我们可以像主席树一样只建有效节点,这样的话我们最

2016-08-12 20:55:34 362

原创 hdu3966Aragorn's Story

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3966题意:给定一棵树,3中操作:A:给u->v的路径上所有点点权+k。B:给u->v的路径上所有点点权-k。C:求节点u的点权。分析:树链剖分+树状数组维护。代码:#include#include#include#include#include#include#include

2016-08-12 19:08:55 255

原创 Codeforces Round #367 (Div. 2)E. Working routine

链接:http://codeforces.com/contest/706/problem/E题意:给定一个n*m的矩阵,给定q次剪切交换,每次给出a,b,c,d,h,w表示将左上角为(a,b)和左上角为(c,d)的高h宽w的矩阵交换,保证两个矩形不重叠没有公共边。分析:对每个格子建一个十字链表,每次剪切的时候我们只需要将周围的那些链表交换即可。O(q*(n+m))代码:#inclu

2016-08-12 16:46:25 25525

原创 hdu5823color II

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5823题意:给定一个n*n的图,求所有点集的最小染色数。分析:如果一个点集是独立集那么这些点可以只染一个颜色,那么我们就能直接枚举独立集子集然后从另一半子集+1继承过来最小染色数啦。O(3^n)代码:#include#include#include#include#include#

2016-08-12 16:01:39 522

原创 hdu5828Rikka with Sequence

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5828题意:给定n个数,操作A:将l~r这段区间都+x,操作B:将l~r这段区间的数a[i]都变成(int)sqrt(a[i]),操作C:求l~r这段数的和。分析:因为一个数最多5,6次sqrt就能变成1,那么显然多几次sqrt的操作就会使得一些段的数字变成一样的,然后我们再sqrt这些段时就能成段

2016-08-11 22:20:13 308

原创 SPOJ QTREEQuery on a tree

链接:http://acm.hust.edu.cn/vjudge/contest/28982#problem/I题意:给定一棵n个节点的树,操作A:修改边权,操作B:询问u->v路径上的最大边权。分析:树链剖分边权练习题,因为是边权而询问是点我们把边权落在节点上,那么我们在询问时是不能计算lca的那个节点的,我是先求了下lca然后将每次在线段是上找时都处理下要大于lca的编号。代码:

2016-08-11 18:59:09 275

原创 poj3164Command Network

链接:http://poj.org/problem?id=3164题意:给定n个点和m条有向边,求以1为根的生成树。分析:最小树形图,朱刘算法裸题。O(n^3)。代码:#include#include#include#include#include#include#include#include#include#include#include#include

2016-08-10 03:58:34 287

原创 hdu5810Balls and Boxes

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5810题意:给定n个不同的球放入m个不同的盒子中,设第i个盒子个数为xi个平均数为X,求方差V=sigma(xi-X)^2/m的期望。分析:碰到概率期望的题只能懵逼,刚好补一补。首先我们知道E[v]=E[sigma(xi-X)^2/m]=E[(xi-X)^2]=E[xi^2-2*xi*X+X^2],

2016-08-09 18:13:08 388

原创 bzoj1001: [BeiJing2006]狼抓兔子

链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001题意:中文题。分析:如果直接跑网络流的话因为点和边太大(实际bz上的数据能跑?),所有去学了下平面图求最小割转对偶图最短路,周冬的浅析最大最小定理在信息学竞赛中的应用讲得挺清楚的。代码:#include#include#include#include#include

2016-08-08 20:35:32 365

原创 BZOJ2836: 魔法树

链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2836题意:中文题。分析:链上+和子树求和。裸树链剖分,树链剖分练习第一题。代码:#include#include#include#include#include#include#include#include#include#include#include

2016-08-08 16:55:44 352

原创 hdu5807Keep In Touch

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5807题意:给定一个50个点的DAG图每个点有个权值w[i],给定初始3个特工所在的位置是x,y,z这3个城市,每一时刻每个人都得移动到下一个城市,并且要求每一时刻两两之间都能联系但且仅当任意两个城市之间的权值差分析:因为是DAG图我们可以很容易想到设状态[i][j][k]表示当3个人恰好分别在i和

2016-08-07 20:58:20 752 3

原创 hdu4803Poor Warehouse Keeper

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4803题意:有两个按钮,两个显示屏,一个显示数量,一个显示总价(浮点数但只显示整数位)。A按钮按一下数量会增加1同时总价会增加一个单价,B按钮按一下总价会增加1。给定x,y求从1,1的初始状态最少按多少次能达到x,y。分析:仔细分析一下我们会发现按A键单价不变,按B键单价上升,而最后的单价最大是(y

2016-08-07 20:40:00 634 3

原创 hdu4126Genghis Khan the Conqueror

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4126题意:给定n个点的m条边,其中有q条边中的一条一定会变大(每一条变大的概率相同),求变大之后最小生成树边权和的期望。分析:最小生成树+树形dp的好题。首先我们要确定最初的最小生成树是有哪些边组成的,然后对于每一条可能变大的边进行判断,这样变大的边就会被分为两类A:变大的边不是最小生成树中的边,

2016-08-05 23:21:02 469

原创 51nod大灾变

链接:http://www.51nod.com/contest/problem.html#!problemId=1757题意:中文题。分析:因为要去最少时间,二分答案比较容易想到,但是二分后怎么判断呢?我们建模跑网络流,当前答案为x,源点向每个非洞口节点连一条容量为1的边,将所有洞口拆成x个点每个点都向汇点连一条容量为1的边,我们对于所有非洞口a向所有在x时间内能到达的洞口b的第dis[a

2016-08-05 19:57:43 912

原创 Codeforces Round #365 (Div. 2)D. Mishka and Interesting sum

链接:http://codeforces.com/contest/703/problem/D题意:给定一个n个数的数组,给定m个询问每次询问一个区间[l,r],求在a[l]~a[r]中出现次数为偶数的数的异或和。分析:首先如果算区间异或和我们可以用xo[r]^xo[l-1]的方法处理,但是我们会发现这样刚好得到的是出现次数为奇数的数的异或和,我们需要将其中的每个数恰好出现偶数次的变成奇数次

2016-08-05 03:50:51 429

原创 hdu4081Qin Shi Huang's National Road System

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4081题意:给定n个点,每个点有点权,求生成树,然后删掉一条边增加一条魔法边使得魔法边连的两个节点的点权和除以剩余边的和最大。分析:先求最小生成树,枚举删哪条边和删完后两颗子树中的最大点权,魔法边就是连这条个点。代码:#include#include#include#include#

2016-08-05 01:59:16 387

原创 hdu5795A Simple Nim

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5795题意:n堆石子,两个人轮流拿,每次可以选择任意一堆取任意个(不能不拿)或者将一个堆分成3个小堆,问先手胜还是后手胜。分析:打表找sg函数的规律,不会证明。。i=8*k+7时sg[i]=8*k+8,i=8*k+8时sg[i]=8*k+7其他情况sg[i]=i。代码:#include#i

2016-08-05 00:39:50 454

原创 hdu3938Portal

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3938题意:给定一个n个点m条边的图,q个询问,每次询问给一个x,求有多少点对u,v使得u->v至少有一条路径满足路径中最大值小于等于x。分析:其实就是求点对,离线一下,将边和询问都从小到大排序,然后用并查集合并就行了。代码:#include#include#include#inclu

2016-08-03 21:50:02 414

原创 hdu3926Hand in Hand

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3926题意:有n个人,m条关系,每条关系a,b说明a和b有一只手牵在一起,给定两组这样的关系,问是否同构。分析:因为每个人只有2个手,只能形成环或链,那我们并查集合并集合,处理好环和链即可。代码:#include#include#include#include#include#in

2016-08-03 20:38:18 358

原创 hdu1811Rank of Tetris

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1811题意:中文题。分析:先用并查集缩下点,然后用拓扑排序判断一些各种情况即可。代码:#include#include#include#include#include#include#include#include#include#include#include#inc

2016-08-03 17:52:44 535

原创 hdu5785Interesting

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5785题意:给定一个字符串s,对于每一个1分析:很明我们不能枚举3个量,但是我们还是得确定位置,那么我们枚举j,我们用manacher预处理出回文串,统计出每个位置w,以w为第一个字符和最后一个字符的回文串的信息,以w为第一个字符的回文串的所有的k的和,以w为最后一个字符的回文串的所有的i的和,那么

2016-08-03 06:17:39 575 2

原创 hdu5781ATM Mechine

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5781题意:有一个人存了钱在银行,但是不记得具体有多少钱,只记得上界k,他能被最大警告w次,每取一次钱花费一个单位时间,求最小时间刚好取完钱的期望。分析:首先因为要最少时间,因为二分最多logk次,那么我们可以先w=min(w,logk),然后我们设状态f[k][w]表示上界为k最大被警告w次是的期

2016-08-03 02:58:00 623

原创 hdu5791Two

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5791题意:给定a,b两个数组,求有多少个公共子序列。分析:设dp[i][j]表示a中前i个和b中前j个并且a[i]==b[j]匹配的子序列个数,转移的时候要用前缀和优化一下。代码:#include#include#include#include#include#include#

2016-08-02 17:31:34 789

原创 hdu5787K-wolf Number

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5787题意:求l~r范围内有多少个数满足连续的k位数中不存在重复的数字。分析:数位dp,仔细处理好细节即可。代码:#include#include#include#include#include#include#include#include#include#include

2016-08-02 17:27:03 839

原创 hdu1598find the most comfortable road

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1598题意:中文题。分析:题目说点n=200实测好像有1000,因此RE了几次。原本的复杂度就有点大了,但是数据水。。思路就是先用并查集判能否达到终点,如果能到在去暴力枚举路径上的最小权值,然后只允许走大于最小权值的边,类似求最短一样求最小上界。O(q*m*nlogn)代码:#include

2016-08-01 16:31:04 344

原创 hdu5222Exploration

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5222题意:给定n个点m1条无向边m2条有向边,无向边只允许通过一次,求是否存在环。分析:直接dfs找,找过的点和边标记不可重复做起点和重复经过,无向边的话在同一次dfs的时候标记只许从一个方向通过。代码:#include#include#include#include#includ

2016-08-01 15:32:39 391

原创 51nodwangyurzee的树

链接:http://www.51nod.com/contest/problem.html#!problemId=1806题意:中文题。分析:一个度数为d的点会在prufer中出现d-1次,而每一个prufer序列都对应一棵树,那么我们就可以直接用容斥原理+组合数学+prufer序列解决掉这题了。注意prufer序列长度为n-2,注意n=1的情况。代码:#include#inclu

2016-08-01 14:18:13 551

原创 51nod卷积和

链接:http://www.51nod.com/contest/problem.html#!problemId=1607题意:中文题。分析:直接枚举第i位和第j位对应的贡献,确定了第i位和第j位会有影响那么长度也确定了i+j-1,然后在可行范围内计数即可。代码:#include#include#include#include#include#include#includ

2016-08-01 14:14:16 1451

原创 51nod1632 B君的连通

链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1632题意:中文题。分析:原本是一棵树,求删一些边后联通块的期望。很明显联通块个数只和删的边数量有关,即C(n-1,m)*(m+1),n-1条边删m条边得m+1个联通块。代码:#include#include#include#include#i

2016-08-01 14:09:33 1198

空空如也

空空如也

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

TA关注的人

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