自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BZOJ5120 [2017国家集训队测试]无限之环

题面题意给出一个网格图,每个格子内可能有一个水管,水管有15种形状,也就是说它向每个方向都有可能有分支,请问至少旋转(顺时针或逆时针90度)几个非直线型的水管,使没有水管漏水,即每个水管的每个分支都与其他的某个分支相连。做法算法是费用流,难点在于建图: 因为要求每个分支都与其他某个分支相连,因此就要使它满流,不难想到根据每个点横纵坐标和的奇偶性将它与源点或汇点相连,然后将...

2018-08-30 20:20:56 290

原创 BZOJ4622 [NOI 2003] 智破连环阵

题面题意有n个点需要被覆盖,你有m个半径为k的圆,每个圆覆盖的点是圆内(包括边界)编号连续的一些点,且每个圆只能使用一次,问至少要选择几个圆才能覆盖所有点。做法这个问题可以拆成两个子问题: 1.将n个点根据编号拆成k段。 2.判断m个圆与这k段的最大匹配是否是k。 可以发现第二个子问题可以用二分图的最大匹配轻松求解,而对于第一个子问题只能用搜索。 但是搜索的复杂度最...

2018-08-30 16:04:51 428

原创 [国家集训队]矩阵乘法

题面题意给出一个矩形,每次询问子矩形中第k小的值。做法首先考虑二分答案,但是查询矩形中比某个数小的个数的复杂度极高,因此我们可以考虑整体二分。 整体二分:对于所有询问一起二分,处理时将答案小于等于mid的询问放左边,答案大于mid的询问放右边,然后递归分别处理左右两边,计算小于等于mid的数时,可以用二维树状数组动态完成,这样只要每次对此时处理的询问都询问一次二维前缀和来...

2018-08-29 21:21:35 252

原创 [NOI2015]小园丁与老司机

题面题意给出n棵树,从原点开始,每次可以在左、右、上、左上 45∘、右上 45∘五个方向中选择一个,然后一直向这个方向走,直至走到一棵未经过的树,然后继续选择方向,直至5个方向都不存在未经过的树。 现在要经过尽可能多的树,输出最多可能经过的树的数量以及任意一条路径。 现在定义向上、左上 45∘、右上 45∘三个方向走形成的线段不优美,现在要覆盖所有最优路径中的不优美线段,每次从原点...

2018-08-29 17:26:10 471

原创 BZOJ1926 [SDOI2010]粟粟的书架

题面题意1.给出一个矩形(200*200),每次询问给出一个子矩形和一个数,问在这个子矩形中至少选几个数,使它们的和大于等于给出的数。 2.给出一列数(500000),每次询问给出一个区间和一个数,问在这个区间中至少选几个数,使它们的和大于等于给出的数。做法考虑二分选出数的最小值,这样问题就转化为了:每次判断某个范围内大于等于某数的和是否大于等于给出数。 1.只要用二维...

2018-08-28 12:46:39 165

原创 OIBH的NOIP模拟试题 巧置挡板

题面题意猫猫送走了客人,留住了蜗牛点点,晃晃悠悠走到池子边,又打起了鱼的主意。俯 瞰池子,猫猫发现鱼阵明显乱了。“难道鱼们故意让我无法下嘴?”猫猫看到正在池边散 步的点点,心想:“一定是他告的密……”猫猫愤怒地抓起点点,把他关进了抽屉里。 猫猫想:“好啊,鱼儿啊,你们不就是会传递信息吗?有什么了不起?用挡板把你 们隔离开,看你们还怎么交流!”猫猫随即从后花园里拿来若干挡板,打算...

2018-08-16 16:35:37 793

原创 codeforces 1019C Sergey's problem

题面题意给出一张有向图,要求在其中选取一个点集,要求: 1.点集中的任意两个点之间都没有边。 2.任何在点集之外的点与点集内的点的最短距离不大于2。做法首先正着遍历所有点,如果这个点还没有标记则标记为1,将它能一步到达的且标记为0的点全部标记为-1,表示这些点不能选择,然后倒着遍历一遍,将标记为1的计入答案,并将其能一步到达的点的标记全部改为-1。 可以发现正着遍历之...

2018-08-15 16:20:07 312

原创 HDU 4624 Endless Spin

题面题意给出一排球,初始全为白色,每次随机选择一段区间染黑,全黑时停止操作,问操作的期望次数。做法首先设pi表示i次完成的期望,这样答案就是1*p1+2*p2+3*p3………… 也就等于(p1+p2+p3………)+(p2+p3………)+(p3………)……. 令qi表示i次未全部染黑的期望次数,那么qi=p(i+1)+p(i+2)………………….. 因此答案就可以转化为...

2018-08-09 08:02:22 419

原创 CodeForces 521D Shop

题面题意给出n个数,有m种操作,操作分为三类: 1.将第i个数改成某个数 2.将第i个数加上某个数 3.将第i个数乘上某个数 每种操作只能做一次,从中选择至多k个,求操作后的数的乘积的最大值。做法贪心,首先操作顺序肯定是:修改(可以看作加,且至多一次),加,乘。 难点在于要加多少个数在开始乘,正确处理方式是将加转化为乘,a+b就相当于a*(a+b/a),而加法的顺...

2018-08-08 12:40:09 297

原创 AtCoder 3943 Two Sequences

题面题意给出两个序列a,b,每个序列中都有n个数,将它们两两相加,一共得到n^2个和,求这几个和的异或值。做法考虑逐位确定答案,首先可以发现a,b两数相加后,如果表示m的这位是1,那么令c=a%(m<<1),d=b%(m<<1),则m<=a+b<(m<<1)或a+b>=(m*3). 然后逐位考虑,将b序列模(m*2)后...

2018-08-08 07:44:08 198

原创 CodeForces 388E Fox and Meteor Shower

题面题意有n个流星,给出他们在t1,t2两时刻的位置,问从中最多选出几颗流星,使它们两两流星之间必有一个时刻位于同一位置。做法因为每个流星要在时间相同且位置相同时才能相遇,因此可以看作是一个三维空间上的几条直线。 要想直线两两相交,可以发现只有两种情况: 1.这几条直线交于同一点。 2.这几条直线位于同一个面上且斜率不同。 对这两种情况分别计算最大值即可。代码...

2018-08-07 21:19:57 260

原创 AtCoder 2170 Pushing Balls

题面题意平面上有n+1个洞,洞两两之间有一个球,第i个球到左边的洞的距离为((i*2-2)*x+d),第i个球到右边的洞的距离为(i*2-1)*x+d,每次随机选择一个不在洞中的球,再随机选择一个方向推动,球将会进入这个方向上距离它最近的没有球的洞(洞里如果有球将会跳过这个洞继续滚动)。 现在求所有球进洞后,球滚动的期望总距离。做法首先球到的洞的距离是一个等差数列:d,d...

2018-08-07 16:28:41 233 1

原创 CodeForces 193E Fibonacci Number

题面题意给出一个数n,问是否存在一个斐波那契数mod1e13后等于n,若不存在输出-1,否则输出它是第几个。做法首先找一下规律,发现斐波那契数在模10,100,1000,1000……下的循环节大小分别为60,300,1500,15000,150000…….并且发现后来的循环节大小每次*10。 因此我们可以考虑先暴力求出模1e5(这个范围定为1e3,1e4也行)下与给出数同...

2018-08-07 09:25:28 433

原创 AtCoder 2381 Nuske vs Phantom Thnook

题面题意给出一个01矩阵,任意两个1之间的路径(不能经过0)之多只有1条,多次询问每个子矩形中由1构成的联通块的个数。做法这题的关键是要抓住任意两个1之间的路径(不能经过0)之多只有1条这个条件,这就意味着1构成的联通块都是树,而树的点数-边数=1,因此只要用二维前缀和维护子矩阵中1的个数和1-1这样的边的个数,相减即为联通块的个数。代码#include<io...

2018-08-06 20:19:49 175 1

原创 AtCoder 2004 Anticube

题面题意给出n个数,求其中最多选择几个数使选择的数中任意选两个数,它们的乘积都不是立方数。做法首先思路很好想,将每个数根据质因数的个数模3分组,也就是除以它因数中的立方数使它的因数中不含有立方数,然后再顺便算出与它相乘后得到立方数的最小数,然后存入map,对于每个数(1要特判)在它和与它相乘得立方数的最小数之间选择出现次数较多的即可。 难点在于分解质因数,如果暴枚质数,暴...

2018-08-06 19:06:30 242 1

原创 AtCoder1999 Candy Piles

题面题意有n堆糖果,每堆糖果有ai个,双方轮流吃糖果,每次可以选择将每堆糖果各吃一个或者吃光最多的那堆糖果,吃完糖的人算负,问先后手谁会赢。做法这题需要转化一下,可以将每堆糖果按数量降序排列,然后将第i堆糖果转化为高度为a[i]的矩形,然后从(1,1)开始走,吃光最多的一堆可以看作向右走一步,每堆各吃一个可以看作向上走一步,不能走出矩形,无路可走者算负。 对于这个问题可以...

2018-08-06 08:57:33 493 1

原创 稳定婚姻系统

解释可以通俗的理解为有n个男生,n个女生,每个人都每个异性都有一个好感度,要求两两配对结为夫妻,使不存在夫妻uv和ab,满足u对a的好感度大于u对v的好感度,a对u的好感度大于a对b的好感度。求这种稳定婚姻的方案。做法首先每个男生将他喜欢的所有女生按照他对她们的好感度由高到低排序,依次求婚,若此时的求婚对象还单身,则匹配,否则由女生根据她对他俩的好感度选择匹配一位男生,将那位落选男...

2018-08-05 21:44:38 891

原创 CodeForces 513E2 Subarray Cuts

题面题意给出一串数,在其中选出k个不重叠,不相交的子串,按顺序将子串的和标为s1,s2,s3…..sk,求|s1 - s2| + |s2 - s3| + … + |sk - 1 - sk|的最大值。做法首先贪心的想,我们肯定希望s中相邻的两个数,一个特别,另外一个特别小,我们将特别大的记为峰值,特别小的记为谷值,这样理想的s序列就是:……-峰-谷-峰-谷-…… 那样将原式...

2018-08-03 19:51:43 357

原创 codeforces 513G3 Inversions problem

题面题意给出n(<=100)个数,每次操作随机选择一个区间翻转,求k(<=1e9)次操作后逆序对的期望数量。做法虽然操作次数范围为1e9,但是我们可以发现到了后面的操作,对答案的影响将越来越小,因此当操作数量特别大时,我们可以以前900(经过不断尝试得出的数字)次操作之后的答案为最终答案。 接下来就是概率dp,考虑每两个数组成逆序对后对答案的贡献,dp[i][j]...

2018-08-03 11:14:22 765

原创 POJ1185 炮兵阵地

题面题意给出一张地图,上面一些点可以放置炮兵,要求与炮兵在同一行或同一列的炮兵与它的距离都大于2,问:最多可以在图上放几个炮兵。 地图大小:10*100.做法从数据范围上不难发现要用状压dp来做,因为炮兵“攻击范围”是2,因此要状压2行,这样复杂度为至少为O(2^10^2*100)肯定会T,因此必须要优化。 可以发现,可以在转移时只考虑在行上合法的状态,只要当有10列时...

2018-08-01 15:47:10 343

空空如也

空空如也

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

TA关注的人

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