自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷题解 P5503 【[JSOI2016]灯塔】

来一篇优先队列的~观察到 p≥hj+∣i−j∣−aip \ge h_j + \sqrt{|i - j|} - a_ip≥hj​+∣i−j∣​−ai​ ,对于第 iii 个询问, aia_iai​ 是一定的,所以我们只需要维护 hj+∣i−j∣h_j + \sqrt{|i - j|}hj​+∣i−j∣​ 最大就 OK 了。对于第 iii 次询问,不难发现是可以由第 i−1i - 1i−1 次转移过来的,且每次转移最多只会更改 2×n2 \times \sqrt{n}2×n​ 个数,下标分别为 i、i+1、i

2020-08-19 15:51:14 136

原创 题解 SP8985 【KOILINE - Line up】

前置芝士:线段树因为题目给的信息 SiS_{i}Si​ 是小于等于第 iii 位身高的人数量,也就是第 iii 位人在前 iii 个人中身高位第 Si+1S_i + 1Si​+1 位(从矮到高),为了排除后面人对操作的干扰,我们从后往前扫,在一段有序身高序列中找到身高第 Si+1S_i + 1Si​+1 小,再把他删掉就好了。线段树或平衡树都可以实现,笔者用的是码量小又简单的线段树。先把身高从小到大排序,建树、查询的时候以 sizesizesize 为关键词查找,每次询问顺便将底部的 sizesize

2020-08-19 15:50:38 140

原创 题解 SP8075 【SEQN - Sequence】

Solution to SP8075 【SEQN - Sequence】一道错位排序的裸题。我们设 fif_{i}fi​ 为长度为 iii 的错排总方案数。按照题目要求,我们从 nnn 个数中选择 n−kn - kn−k 个数进行错排( kkk 个对应就是 n−kn - kn−k 个不对应),选择总方案数为:(nk)×fn−k\dbinom{n}{k} \times f_{n - k}(kn​)×fn−k​由于:n!=∑i=0n(ni)fin! = \sum_{i = 0}^{n}{\dbinom

2020-08-19 15:50:07 208

原创 题解 CF515E 【Drazil and Park】

前言估计大家可能被点的权值(h)和边的长度(d)两者的维护卡了好久。我们可以来一次简单的转换,使复杂的数据变得简单。Main Tips不妨把边长看成一个点,它拥有权值 did_idi​ ,那么相对应的原先的点也获得一个权值 di=0d_i = 0di​=0 。为了不让边完全成为一个“点”,我们将它的 hih_ihi​ 设为 -inf,保证不是从边进入或出来。再用线段树维护一条 4×n−34 \times n - 34×n−3 的点边集(再乘个二是因为我们要拆一个环), l_vall\_vall_val

2020-08-19 15:49:34 170

原创 题解 P4411 【[BJWC2010]取数游戏】

看到大家都是用 fif_ifi​ 来存储枚举到 iii 的答案,这里再来一种别样的方法。同样得先枚举 aia_iai​ 的约数,我们其实不需要存储 aia_iai​ , 边读边算即可。我们用 maima_imai​ 存储约数为 iii 的最大答案数量,每次先遍历出 aia_iai​ 约数的最大 maima_imai​ 为 ansians_iansi​ , 并用 vector 存储约数,最后将每个 maima_imai​ = ansi+1ans_i + 1ansi​+1 即可。下面给出代码 −−>

2020-08-19 15:48:47 201

原创 题解 CF706E 【Working routine】

优雅的指针题意给出矩阵上各点的权值,并给出 qqq 次左上角坐标 x1,y1x_1, y_1x1​,y1​ 、 x2,y2x_2, y_2x2​,y2​ 即长宽 h,wh, wh,w,交换这两个矩阵,求最后矩阵的上各点的值。tips一开始看到交换一段矩阵,笔者不免想到用 fhq Treap 来维护每一段并交换,可惜复杂度堪忧, “ 猝死 ” 于 #11。有兴趣的小伙伴可以来看一下 −−>-->−−> here。其实正解是用指针描述每一个点的信息。我维护的是每个点的上(up)下

2020-08-19 15:45:47 148

原创 题解 CF331C1 【The Great Julya Calendar】

简单的搜索+贪心问题题意:给你一个数字 nnn,称作幻数,并进行操作:选出当前幻数中的某一位作为减数,并将当前幻数减去该选中的一位数字,得到新的幻数,直至幻数为 0。C1:n<=106n <= 10^6n<=106很容易想到,找到一个数每一位上的数字。如 1833 可以得到 1 、 3 、 8 这三个数字;依次搜索减去每一位上的数字即可, 如上栗子搜索 1833 - 1 、 1833 - 3 、 1833 - 8 。那我们要如何贪心加快速度呢?我们发现,令 fnowf_{now}

2020-08-19 15:44:36 293

原创 题解 CF46E 【Comb】

前置芝士:简单的前缀和。简要题意有 $ n\times m$个数组成一个矩阵,第 iii 行选择前 ci>0c_i>0ci​>0 个数ai,1,ai,2,…,ai,cia_{i,1} ,a_{i,2},…,a_{i,c_i}ai,1​,ai,2​,…,ai,ci​​,问满足 c1>c2<c3>c4…c_1 > c_2 < c_3 >c_4 …c1​>c2​<c3​>c4​…的前提下∑i=1n∑j=1ciai,j\sum_{i=1}

2020-08-19 15:43:54 180

原创 题解 CF145B 【Lucky Number 2】

来一发 vector 的(vector 大法好)思索题面显然不能爆搜。但是看到 47 和 74 很容易得出,我们先把这 nnnnnn 个 47 和 mmmmmm 个 74 骨架搭好,再进一步往里填充多余的4 与 7 即可。例如: 5 8 3 2 ----> 由于 nn≥mmnn \ge mmnn≥mm, 我们先有 474747 这个骨架,由于题目要求这个数最小(然鹅翻译没提到,望 update ),我们把剩余的 4 、7 填充, 4 放在最前面的 4 后, 7 放最后的 7 后,按此规律摆放即可。

2020-08-19 15:43:13 133

原创 题解 CF1100E 【Andrew and Taxi】

题意:给定一个有向图,改变其中某些边的方向,它将成为一个有向无环图。现在求一个改变边方向的方案,使得所选边边权的最大值最小。输出:边权的最小值,被反向的边的个数及编号。Solution:只要二分把每一条边和预期的 valvalval 个controllers 作比较,只让大于它的边联通,判断有无环即可(该部分的正确性其他题解已经讲得很清楚了,此不再赘述)。最后用拓扑判断是否使这些边反向即可。但是关于每次判断边是否遍历过,我发现每一篇题解都用 memset 来归零,这样如果范围过大不免导致被卡。所以我

2020-08-19 15:42:31 144

原创 洛谷P6685 可持久化动态仙人掌的直径问题

看标题逼格这么高结果只是虚晃一枪题目描述:给定 n,mn,mn,m,求有多少个正整数 xxx,使得 xm≤nx^m\le nxm≤n 。tips乍一眼看二分,但容易爆,因为 n,m≤109n, m \le 10 ^9n,m≤109 , 枚举太大会超 long long。第二眼看就是一个简单的数学柿子 −−>-->−−>由 xm≤nx ^ m \le nxm≤n ,得 −−>-->−−>logxn≤m log_{x}{n} \le mlogx​n≤m,左边可

2020-07-26 08:07:40 982

原创 题解 P3968 【[TJOI2014]电源插排】

平衡树大法好!这里我使用码量小写の香的 Fhq_Treap.题面已经讲得很清楚了,每次修改某一节点上的状态,并查询区间内状态为 111 的节点个数,我们曰此状态为 okokok .看到 nmax=109n_{max} = 10^9nmax​=109,我们不免联想到NOIp D2 T3 列队 ,其思想也正是裂开区间。所以我们保存每一个区间的左右端点,为 l_locl\_locl_loc 和 r_locr\_locr_loc ,并保存长度为 lenlenlen . 初始只有一个节点,其 l_locl\_

2020-06-14 11:34:31 170

原创 洛谷P2001【硬币的面值】

其实这道题就按照题面意思直接模拟一下就好喇!很显然如果给定硬币的最小值大于1则输出"No answer!!!"因为这样子就无法取到1这个面值了。先证明一下这一点:如果目前状态可取前 xxx 价格,且当前取了一个面额为 aaa 的硬币,要想构成前 x+ax + ax+a 的所有价格,必须仅当 x≥a−1x \ge a - 1x≥a−1 时成立—>证:若 x<a−1x < a - 1x<a−1, 则我们取最小的 x+1x + 1x+1,它必须由 x+1−ax + 1 - ax+1−

2020-05-23 22:53:19 516

原创 洛谷P6512 [QkOI#R1] Quark and Flying Pigs

虽说这道题的正解是 dp ,但是我们不妨从优雅的爆搜+减枝角度来思考这道题(主要是我dp推不出来预处理:运用floyed处理每个节点的最短路,用二维数组 aaa储存,复杂度为 O(n3n^3n3)。主体:以飞猪出现的信息( cascascas )、当前的位置( nownownow )、已捕获的飞猪( pigpigpig )为传参,进行 dfs ,如果是去目标位置,且 a[now][to]≤&n...

2020-05-04 21:02:33 179

原创 CF928A 【Login Verification】

一道小水题 ,注意一下string可以直接比大小的!!模拟一下再比较就好了不需要map一些细节见代码QAQ#include <iostream>#include <cstdio>#include <cctype> //toupper 和 islower的头文件using namespace std;string s, ss;int n, fl...

2020-04-04 19:26:43 504

原创 P1767 【家族_NOI导刊2010普及(10)】

看到5.7提交 1.4AC我一开始不免有点慌然而仔细一看确实显然的联通块问题,所以暴力dfs就行了(这道不值得绿吧QAQ(这些本地跑不停的代码最好在你 洛谷在线IDE跑或者用freopen)跑一下)(#include <cstdio> #include <iostream>using namespace std;int dx[4] = {0, 0, 1, -...

2020-04-04 19:23:08 327

原创 CF902B 【Coloring a Tree】

感觉其他大佬的题解有些麻烦了,身为蒟蒻的我还是写一篇简单的吧原题链接题外话:感觉这道题的翻译要加上原树颜色全为0,不然一些蒟蒻(比如我)会以为原色是编号QAQ(然后WA这道题给予了我神秘的Unknow Error和永恒的judging(雾标签有误?好像和期望无关吧。。。正题:一个树,每次可以选择一个子树染成同一个颜色,求染成目标状态的最小操作次数。”显然可知,将父亲染色是最优的,否则...

2020-04-04 19:18:46 236

原创 洛谷 P1045 【麦森数】

不会快速幂的我只能疯狂压位(dalao们请无视)这是本蒟蒻滴第一篇洛谷题解还请多多包涵鸭!!好吧先看看我的辛路历程——刚看到这题的时候,我第一反应是压位,于是我从未压位到——>5压到——>10,吸氧后发现后两者都是60分(o(╥﹏╥)o)于是乎我将2p次方转化为1024n+m,以及220n+m来运算,结果只有70分[○・`Д´・ ○]最后我才发现意识到我把500位外的数字都...

2020-04-03 14:57:02 937

原创 洛谷 P2294 【[HNOI2005]狡猾的商人】

题目链接——> P2294 [HNOI2005]狡猾的商人写完看了一下题解区发现用区间DP的不多,也有一些缺陷,在此就来完善一番。题目大致释意:若无法给出一组数满足给出的 mm 个条件,则输出 false ,反之则输出 true 。给出数组 a[i][j]a[i][j] 表示区间 ii 到 jj 的区间和。初始值设为 inf 。于是我们给出三重循环,第一重枚举每次区间长度,第二重枚举...

2020-04-03 14:52:05 219

原创 洛谷 P5560 【[Celeste-B]Golden Feather】

这可真是一道水题,但我比赛时就是没做出来经过昨天一夜冥思苦想,我想到了一种类数学的证明方法(其实打表找规律更快 )————>>题意将点权为(i + 1 ) ^ 2 - 1 , i = 1 ~ n,的这n个点连通。其实这是一颗树,共有n - 1个节点,两点之间的距离是点权的最大公约数。做法准备设停止的地方数为i,f(i) =(i + 1 ) ^ 2 - 1 = i ( i +...

2020-04-03 14:48:39 339

原创 洛谷P1057传球游戏

蒟蒻的我翻了4 pages 发现各位dalao们几乎都是用递推f[i][j]=f[i-1][j-1]+f[i-1][j+1]将答案算出来滴——(^^ゞ——其实有另一种想法,先循环两遍,将美味每位同学的左右手的同学都罗列出来,用left和right储存(或者结构体),再用两个数组now和next,表示目前的某童鞋的可能次数(now)和将要传递给的下一位童鞋的可能次数(next),因为左右手的童鞋都...

2020-04-03 14:42:41 239

原创 白书T1359围成面积

白书(即一本通)deT1359围成面积【题目描述】编程计算由“”号围成的下列图形的面积。面积计算方法是统计号所围成的闭合曲线中水平线和垂直线交点的数目。如下图所示,在10×10的二维数组中,有“*”围住了15个点,因此面积为15。【输入】10×10的图形。【输出】输出面积。【输入样例】0 0 0 0 0 0 0 0 0 00 0 0 0 1 1 1 0 0 00 0 0 0 ...

2019-07-22 10:11:53 902

空空如也

空空如也

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

TA关注的人

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