自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

[CHN]liurui

[CHN]liurui vs. hdu1000

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

原创 hdu 1520 && poj 2342

讨论树形dp,利用深搜处理每个人,对于每个人而言,都有自己来或不来所得到的活跃度,都要记录下来,每个人的活跃度初始化到自己来的状态上,对于每个人,如果自己不来,从每个直接下属来或不来中取较大者加到自己身上,如果自己来,把每个直接下属不来加到自己身上,最后取boss来或不来的最大值返回即可 实现上,没什么可说的,只是读题的时候需要仔细一点,前者是下属,后者是上司题解状态124MS,1544K,979

2016-09-20 21:51:41 405 1

原创 hdu 5882

讨论水题,对于每种情况,如果能将这些节点划分为若干个强联通的三角形,那就是可以,否则就不行,再具体一点,从多边形里任选3个点,连有向边,如果到构成完全图为止都不会出现需要双向边的情况就是可以,再具体一点,只要节点是偶数个就不行,奇数个就可以题解状态0MS,1412K,406B,G++题解代码#include<cstdio>#include<cstring>#include<algorithm>

2016-09-17 18:59:49 576

原创 hdu 5879

讨论水题,首先要知道这个数的极限是收敛的,收敛于π26\pi^2\over 6,得到估算值1.644934,然后打表找到这个数,不到12万,然后对于前面12万个数打表解决,往后的直接输出1.64493,但烦人的是题目的输入范围是很随便的,不但会有特别大的,而且会有带前导0的,简单利用字符串处理即可题解状态15M,2368K,662 B,G++题解代码#include<cstdio>#include

2016-09-17 18:53:45 334

原创 hdu 5878

讨论水题,事先打好表,发现只有不到5200个不同的数,然后二分就可以了 怎么打表?写个四重循环,反正在本地跑,多跑一会也无所谓 所以下面给的代码不是提交的代码(5194个数,一点都不好看),而是生成的代码 其实生成代码里的另一部分是用另外一个代码生成的,那个就太好想了 然而比赛没想到……题解状态624MS,1432K,44328 B,G++题解代码#include<cstdio>#incl

2016-09-17 18:35:07 294

原创 hdu 4417

讨论划分树,二分,以往是直接问区间第k个数是几,这回反过来,给数问是第几个,二分即可,划分树的构造是线性对数级,每次查询是对数级,这样综合复杂度就是构造的O(NlogN)O(NlogN)和查询的O(Q(logN)2)O(Q(logN)^2)题解状态343MS,15424K,1988 B,C++题解代码#include<cstdio>#include<cstring>#include<algori

2016-09-17 11:29:32 255

原创 poj 2104

讨论划分树,模版题,题解状态14068K,1110MS,G++,1624B题解代码#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define INF 0x3f3f3f3f#define MAXN 100005#define memset0(a) memset(a,0,sizeof(a))i

2016-09-17 09:40:24 245

原创 hdu 4112

讨论水题,只需要稍微开一下脑洞就能想到,人手和刀子的差别在于,人手一次只能把一块掰成两块,而刀子可以一次把若干块掰成两块,由于最后总是要弄成单位体积的,因而无可避免要将立体变平面,平面变线段,线段变成点这样三个过程,因而每次只需要考虑掰多少次就可以降维,然后对于掰成的每一块进行同样处理,对于刀子,由于一次可以处理若干块,因此每次切一块和每次切更多块是一样的,这个好处首先体现在降维上,只要每次都尽量沿

2016-09-17 07:27:15 267

原创 hdu 4104

讨论递推,很巧妙,如果前i个价格,可以凑出1到S元,那么对于第i+1个价格A,只要他的价格在1到S+1之内(含),就可以将可以凑出的价格扩充到1到S+A元,这实际上就是个不等式的加法,而若A不在这个范围,则S+1就是第一个无法凑出的价格,之所以在S+1也行,是因为若这个物品价值S+1,而前面的物品可凑出S,中间并没有间断,而可凑出的价值也将被扩充到S+S+1 实现上,首先是一步排序,初始值为0,没

2016-09-16 21:56:22 210

原创 hdu 5875

讨论单调栈,构图,还有预处理,显然朴素的思想不可能过的,需要一点优化,可以发现,如果某数先对一个较小的数取模,然后对一个较大的数取模,则对较大的数取模并不会影响结果,于是可想到令每次取模的操作数严格递减,基于如此思路,可以构造一张图,前面较大的数指向后面第一个比他小的数,没有更小数的就不用向后指了,因而每个数最多只有一条出边,透过这张图加速取模过程,不过这顶多算剪枝,因为复杂度仍然是平方级,但已经足

2016-09-15 08:46:29 236

原创 hdu 5877

讨论树状数组,离散化,深搜,比较朴素的思想就是深搜时对于每个节点都直接从树上找满足条件的祖先,铁定超时,想到如何提升每次查找满足条件的点数,线段树/树状数组,以之将查询复杂度降低到对数级,故树上存每个点的值即可,但又数据规模巨大,再离散化处理之,得解 实现层面,综合复杂度是线性对数级,绝大多数操作都是这个复杂度,没什么需要特别注意的地方或坑 题目的数据其实是比较水的,深搜层数也很有限,为此额ro

2016-09-13 00:09:12 375

原创 hdu 5876

讨论图论,广搜,确切说是补图的广搜,对于给定的图G,其补图H中,原来G中存在的边在H中都不存在,原来G中没有的边在H中都存在,把G和H拼在一起就是一个完全图,算法很简单,对于一个点,找出与其不直连的点,向这些点广搜,重复这个过程即可 实现层面上需要一点技巧,也只是一点,当已经处理过所有N个点之后就可以弹出了,这样虽然复杂度没有改进(每个点都要扫一遍与其直连的边),但是对于边数较少的图可以非常快的完

2016-09-11 11:20:04 342

原创 hdu 5873

讨论水题,只需要判断总分够不够以及是否有明显得分过多的队就可以了 但是比赛的时候一着急就没读完输入到底是怎么结束的,然后就疯狂的WA 所有队总分是N(N-1),因为完全图是N(N-1)/2条边,而每次比赛,都会产生2分,无论落在谁手里,而每个队只能和N-1个对手打,最多赢N-1场,得到2N-2分,超过这个数的都是不可能的 后来看了别人题解才发现这事题解状态124MS,1780K,653B,C+

2016-09-10 21:07:37 379

原创 poj 2112

讨论图论,最大流,isap+gap优化,floyd算法,二分思想,三者结合的好题,读图后以floyd求出多源最短路,这样一次立方级预处理,往后读取牛到挤奶器的最短距离都可以常数级查询,后面会发现这绝对是值得的,然后二分走最远的牛走的距离,以最大流判断可行性,具体说,每次二分先以平方级构造残量网络,只有距离小于二分答案的才有残量,之后以isap检查之并更新二分上下界 在实现层面上,需要注意不少细节,

2016-09-08 16:08:27 243

原创 hdu 5437

题目概述你邀请了K个朋友参加派对,每个朋友都有名字name,来的时候都带了价值v的礼物,但是你屋子太小没法让他们一次都进来,于是你让他们在门口排队,期间你会开M次门,每次开门发生在第T个朋友到来之后,你会让至多P个朋友进来,在门口排队的朋友按照带的礼物价值降序排列,价值相同的先到的排前面,当最后一个朋友到门口时时,你会敞开大门让所有朋友按排队顺序进来,这里有Q次询问,每次询问第q个进来的朋友的姓名时

2016-09-02 21:32:12 330

原创 hdu 5443

题目概述给定由N个数构成的数列,进行Q次查询,回答区间[l,r]中最大的数时限1000ms/1500ms输入第一行整数times,其后times组数据,每组数据第一行整数N,下一行N个整数,下一行整数Q,其后Q行,每行两个整数l,r限制1<=times<=10;0<=N<=1000;0<=Q<=1000;输出每行一个数,为查询的回答样例输入 3 1 100 1 1 1

2016-09-02 19:43:05 244

原创 poj 2393

题目概述一个工厂,每周可产任意多的货,每个货在该周生产单价为c,货可以在仓库存放,每个货每周贮存费S,工厂接了连续N周的订单,每周要供货y,求最低总成本 仓库无穷大,货可以永久存放时限1000ms/3000ms输入第一行两个整数N,S,其后N行,每行两个整数c,y,输入只有一组限制1<=N<=10000;1<=S<=100;1<=c<=5000;0<=y<=10000输出一个数,为所求最低成本,需

2016-08-31 21:36:35 295

原创 poj 1456

题目概述有N个商品,在其保质期dl天内卖掉可得利润v,否则没有利润,卖掉每个商品需要1天,求最大利润时限2000ms/6000ms输入每组数据第一个整数N,其后N对整数v,dl,输入中空白符会任意出现,输入到EOF为止限制1<=N,dl,v<=10000输出每行一个数,为所求最大利润样例输入 4 50 2 10 1 20 2 30 1 7 20 1 2

2016-08-31 18:55:31 284

原创 poj 1089

题目概述给定N个闭区间,将有重叠部分的区间合并,求最后得到的(那些)区间时限1000ms/3000ms输入第一行整数N,其后N行,每行两个整数l,r,描述一个区间,输入只有一组限制1<=N<=50000;1<=l<=r<=1000000输出每行两个数,为一个区间的左右边界,按左边界升序输出每个区间样例输入 5 5 6 1 4 10 10 6 9 8 10样例输出

2016-08-31 15:50:33 441

原创 poj 1328 && uva 1193 && la 2519

题目概述在直角坐标系中,x轴为海岸线,其上方为海,海上有N个小岛位于x,y,现要在海岸线建雷达站,所有雷达覆盖范围都是R,问所有岛可否被雷达覆盖,若可,求最少雷达数 海岛不会在陆地上时限1000ms/3000ms输入第一行两个整数N,R,其后N行,每行两个整数x,y,输入到N=R=0为止限制1<=N<=1000输出每行一个字符串 Case A: B 其中A为数据序数,从1开始,若有岛无法被雷达

2016-08-31 15:28:44 276

原创 poj 1700

题目概述N个人在河边,有一条船,每次可载2人,每个人单独划船渡河时间为num,船每次渡河用时为船上划船用时较长者的用时,问最快多久可让所有人过河时限1000ms/3000ms输入第一行整数times,其后times组数据,每组数据第一行整数N,下一行N个整数num限制N<=1000输出每行一个数,为所求渡河总用时样例输入 5 4 1 2 5 10 5 1 1000 100

2016-08-31 13:42:28 620

原创 poj 1017 && uva 311 && la 5526

题目概述有6种底面为正方形的箱子,底面边长分别为1到6,要用底面为边长6的正方形的盒子去装这些箱子,最少要多少个盒子 箱子不能堆叠时限1000ms/3000ms输入每行6个整数,为每种箱子数量,按边长升序给出,输入到6个0为止限制没有限制输出每行一个数,为最少盒子数样例输入 0 0 4 0 0 1 7 5 1 0 0 0 36 9 4 1 1 1 0 9 4 1 1 0

2016-08-30 21:32:44 277

原创 poj 2249 && uva 530

题目概述求CMNC_N^M时限1000ms/3000ms输入每行两个整数N,M限制最终结果在32位整数范围内输出每行一个数,为结果样例输入 4 2 10 5 49 6 0 0样例输出 6 252 13983816讨论水题,本来以为真的会测试极端情况,N=INT_MAX,M=INT_MAX/2,不过由于结果在32位内,即便是最坏的情况,N也不超过40,具体是多

2016-08-29 21:05:53 285

原创 poj 3069

题目概述数轴上有N个点,你需要以其中某些点为圆心做半径为R的圆,问最少做多少圆可使所有点都在圆中时限1000ms/3000ms输入第一行整数R,N,第二行N个整数,描述每个点的位置,输入到N=R=-1结束限制0<=R<=1000;1<=N<=1000输出每行一个数,为所求最少圆数样例输入 0 3 10 20 20 10 7 70 30 1 7 15 20 50 -1 -1

2016-08-29 20:19:15 287

原创 poj 1042 && uva 757 && la 5422

题目概述有N个湖排成一行,你有H小时钓鱼,每个湖在第一个5分钟内可钓到f条鱼,此后每钓5分钟则下次钓鱼量在上一次基础上减少d条,这个湖到下一个湖需要走t个5分钟,问最多可钓多少鱼,在每个湖钓多久 所有行动必须以5分钟为单位时限2000ms/6000ms输入第一行整数N,第二行整数H,第三行N个整数f,第四行N个整数d,第五行N-1个整数t,因为第一个湖的t固定为0,输入到EOF为止限制1<=H<=

2016-08-29 19:16:27 395

原创 poj 2325 && uva 10527

题目概述定义一种运算,将一个数的所有数字相乘得到一个新的数,这种运算不能对仅有一位的数使用,给定一个数num,求一个数,该数经过一次运算后等于num,且为所有可行解的最小值时限1000ms/3000ms输入每行一个数num,输入到num=-1为止限制num至多包含1000位数字输出若存在这样一个数,输出这个数,否则为字符串 There is no such number.样例输入 0 1

2016-08-27 21:02:50 466

原创 hdu 3549

题目概述有N个点,编号1到N,M条边,求从1到N的最大流时限5000ms/5000ms输入第一行整数times,其后times组数据,每组数据第一行整数N,M,其后M行,每行三个整数a,b,c,代表a到b的边,残量为c限制2<=N<=15;0<=M<=1000输出每行一个字符串 Case A: B A为数据序数,从1开始,B为所求最大流样例输入 2 3 2 1 2 1 2

2016-08-27 09:52:55 447

原创 hdu 1812

题目概述一个N*N的棋盘,用C种颜色染色,其中将棋盘旋转后重合,沿中线对称,沿对角线对称的不重复计数,问一共多少种染色方案时限1000ms/3000ms输入每行两个整数N,C,输入到EOF为止限制1<=N,C<=30输出每行一个数,为所求染色方案数样例输入 2 2 3 1 30 30样例输出 6 1 320655918792067344519812003636174

2016-08-26 14:41:25 440

原创 hdu 4438 && la 6389

题目概述A,B两人比赛打猎,老虎(tiger)X分,狼(wolf)Y分,两种猎物都只有一只,开始前两人会先选定各自的目标,若两人选的不同,则各打各的,都能得到自己选的猎物的分数,若选的相同,则A有P的概率得手,B有1-P的概率得手,之后两人会去打另一只猎物,得手概率不变,好在A了解B,他知道B选老虎的概率是Q,选狼是1-Q,问A选什么猎物分数期望较高,是多少分时限1000ms/2000ms输入第一行

2016-08-25 21:51:58 2186

原创 poj 3625

题目概述有N个地点,编号1到N,坐标x,y,要修路使得所有地点之间连通,有M条已经存在的路,问最少还需修多长的路时限1000ms/3000ms输入第一行两个整数N,M,其后N行,每行两个整数x,y,其后M行,每行两个整数代表这两点之间已经有路限制1<=N,M<=1000;0<=x,y<=1e6输出一个保留两位小数的浮点数,为所求修路长度样例输入 4 1 1 1 3 1 2 3

2016-08-25 21:23:00 278

原创 poj 3522 && uva 1395 && la 3887

题目概述有N个点,M条边,问是否可构成一生成树,若可,求最长边与最短边差值的最小值 没有自环或平行边时限5000ms/15000ms输入第一行整数N,M,其后M行,每行三个整数a,b,c,描述a,b之间有一条边,权值为c,输入到N=M=0结束限制2<=N<=100输出每行一个数,若无生成树,为-1,否则为差值最小值样例输入 4 5 1 2 3 1 3 5 1 4 6 2

2016-08-25 21:00:54 366

原创 poj 2485

题目概述有N个地点,地点之间原本没有路,需要修路使所有地点连通,求两地点之间需要修的最长的路的最小值时限1000ms/3000ms输入第一行整数times,其后times组数据,每组数据第一行整数N,其后一个N*N矩阵,第i行第j列的值aija_{ij}代表ij之间路长度限制3<=N<=500输出每行一个数,为所求最长的路的最小值样例输入 1 3 0 990 692 990

2016-08-25 18:17:29 205

原创 poj 1861

题目概述有N个地点,你要在地点之间扯网线使得他们能互相(直接或间接)连通,地点之间有M种扯网线方案,每种都需要的一定长度的网线,求所需最长的网线的最小值,以及整个扯线方案时限1000ms/3000ms输入第一行整数N,M,其后M行,每行三个整数a,b,c,描述a与b之间一种扯线方法及需要的网线长度c,输入只有一组限制2<=N<=1000;1<=M<=15000输出第一行一个数,为所求最长网线最小值,

2016-08-25 17:16:39 221

原创 poj 1287 && la 2515

题目概述有P个地点,R条双向路,求其最小生成树边权和时限1000ms/3000ms输入第一行整数P,R,其后R行,每行三个整数a,b,c,描述a到b之间的一条路径,权值为c,输入到P=0结束限制1<=P<=50;1<=R<=100输出每行一个数,为所求边权和样例输入 1 0 2 3 1 2 37 2 1 17 1 2 68 3 7 1 2 19

2016-08-25 16:51:08 297

原创 poj 3255

题目概述有N个地点,R条双向路,求次短路长度时限2000ms/6000ms输入第一行整数N,R,其后R行,每行三个整数,描述一条路连接的两个地点及其长度,输入只有一组限制1<=N<=5000;1<=R<=100000输出一个数,为所求次短路长度样例输入 4 4 1 2 100 2 4 200 2 3 250 3 4 100样例输出 450讨论图论,第K短路,bel

2016-08-25 16:37:49 258

原创 poj 1122

题目概述城市中有N个路口,某些路口处有消防局,现有一个路口发生火灾,求所有消防局赶到火灾处的最短用时和路径 城市中的路都是单向路,有些路口之间没有路,火灾可能发生在消防局门口,所有消防局到火灾地点都有路时限1000ms/3000ms输入第一行整数N,其后一个N*N矩阵,第i行第j列有整数aija_{ij},若为-1,说明路口i到路口j无法直达,否则代表路口i到路口j直达用时,其后一个整数,为火灾地

2016-08-25 15:57:31 240

原创 hdu 1023

题目概述给定N个不同的元素,问有多少种不同的入栈出栈顺序时限1000ms/2000ms输入每行一个整数N,输入到EOF为止限制1<=N<=100输出每行一个数,为所求种数样例输入 1 2 3 10 100样例输出 1 2 5 16796 89651994709013149668717007007410063242083752153874590

2016-08-23 21:37:43 264

原创 poj 2195

题目概述一张地图,R行C列,图上有若干人以及和人数相等的房子,人需要移动到房子,每个房子只能住一个人,人可以向上下左右四个方向移动,求所有人最少移动步数和,使得所有人都到房子处 人不会被其他人或房子阻挡,人可以移动到房子却不住进去时限1000ms/3000ms输入第一行两个整数R,C,其后一个R行C列的矩阵,’.’代表空地,’m’代表一个人,’H’代表一个房子,输入到R=C=0结束限制2<=R,C

2016-08-21 22:28:47 251

原创 poj 1087

题目概述一间屋子里有N种插座,每种插座有唯一的名称,且数量只有一个,在这个屋里可能会要使用M种电器,每种电器名称也是唯一,而且也只有一个,需要一种插座,市面上有K种插座适配器,其需要一个插座,同时也提供一个插座,数量不限,问最少有多少电器会因没有插座无法使用 某些电器需要的插座可能屋里根本没有时限1000ms/3000ms输入第一行整数N,其后N行,每行一个字符串,代表一种现有插座的名称,下一行整

2016-08-21 22:05:11 410

原创 poj 2516

题目概述市场上有K种货物流通,编号1到K,有N家店,编号1到N,每家都需要一定量的各种货,M家供货商,编号1到M,每家库存有一定量的各种货,从供货商运货到店面会产生运费,问供货商库存能否满足商店的货物需求,若能满足,求最小运输费用时限4000ms/12000ms输入第一行整数N,M,K,其后N行,每行K个整数,为该商店需要的各种货数量,货按编号升序给出,商店按编号升序给出,其后M行,每行K个整数,为

2016-08-20 14:22:02 240

原创 poj 3281

题目概述有N头牛,F种食品和D种饮料,均从1开始连续编号,每种吃的喝的只能分给一头牛,每头牛也只能享用一种食品一种饮料,每头牛只喜欢其中f种吃的和d种喝的,问最多可满足多少牛的喜好时限2000ms/6000ms输入第一行三个整数N,F,D,其后N行,每行前两个整数f,d,其后f个整数,代表该牛喜欢的吃的,其后d个整数,代表该牛喜欢喝的,输入只有一组限制1<=N<=100;1<=F<=100;1<=D

2016-08-19 19:45:45 231

极端数据 hdu 5877

极端数据 hdu 5877

2016-09-13

空空如也

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

TA关注的人

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