题解

共 29 篇文章

题解 CF1077C Good Array

November 17, 2018

显然,我们可以发现一个序列是“好的”当且仅当这个序列中的最大值等于这个序列中的其他数之和相加,所以我们只需要保证序列单调递减,同时维护一下这个序列里面元素之和我们就可以O(1)O(1)判断一个序列是不是“好的”序列(a1=Suma1a_1 = Sum - a_1

由于题目要求求出去掉哪些元素之后,这个序列会变为一个“好的”序列,所以我们只需要把原序列排序之后再按照刚刚说过的办法O(1)O(1)判断,只需要吧把原序列之中的SumSum减去我们需要去掉的元素即可

还有一点需要注意,我们需要特判去掉第一个的情况,这样删去后最大值就是原先的次大数,即a2a_2

上代码QwQ

题解 洛谷P2547 [AHOI2004]DNA变异

October 24, 2018

首先我作为一个蒟蒻,拿到字符串题,首先看看能不能无脑哈希

然后于是我们就发现了一个绝妙的做法:暴力枚举每个字符串能够转换成的字符串

于是我们就获得了O(N84)O(N * 8^4)的优秀复杂度

显然会T飞QwQ

我们考虑再这个基础上进行优化

题解 洛谷P4819 [中山市选]杀人游戏

August 29, 2018

首先我们考虑一件事:如果存在一个人,使任何一个人都不认识,我们称这种人为“孤独”的人,那么警察只能通过调查他来取得他的身份。

然后对于一个不“孤独”的人,我们发现他们肯定至少被一个那些“孤独”的人直接或间接的认识。

所以我们得出结论:只要统计“孤独”的人的数量即可。


你照着这么做,就可以获得100 mod 10分的好成绩。

题解 CF702E Analysis of Pathes in Functional Graph

August 21, 2018

一道非常好的练倍增的题目

思路很简单,就是倍增处理出每个点往后2i2^i个点的路径权值和与最小值,同时要注意一下kk​要用longlong存,否则会挂掉

如果不会倍增的右转百度找其他博客去吧……我这里就不赘述了

题解 洛谷P3045 [USACO12FEB]牛券Cow Coupons

August 3, 2018

欧洲退火!

没错你没有看错这么一道Heap的题我拿出了退火来做!

那么模拟退火的基本思路这里不讲了如果要看右转P1337去看。

废话不多说,上思路

题解 洛谷P4267 [USACO18FEB]Taming the Herd

July 31, 2018

竟然没有人写题解2333那本蒟蒻就来H2OH_2O一篇吧

首先,看完题面不难想到DP,之后再看数据范围考虑O(N3)O(N^3)DP,之后瞎搞一通可以想到

f[i][j]f[i][j]表示在前ii个里面经历kk次出逃可以取到最少的修改数

那么接下来我们就发现f[i][j]f[i][j]可以影响的范围为f[u][j+1]f[u][j+1](i<uni < u ≤n),然后我们就可以写出如下的程序:

题解 洛谷P1704 寻找最优美做题曲线

April 9, 2018

暴力赛高!暴力是全世界最最最(以下省略2147483647个人最)NB的算法!

AC记录

这里似乎没有朴素的算法啊(啊当然Pascal不算哈)

我开始做题的时候还专门为了求稳去学习了一下nlognnlogn的最长上升子序列呢

其实我们会发现,暴力的时间复杂度其实根本不是O(n2)O(n^2),就让我们来分析一下暴力的时间复杂度。

题解 洛谷P1396 营救

March 23, 2018

令人智熄的二分操作

AC记录

要看正常的解法请看其他题解

而且还蛮快的。。。

其实,这是非常奇葩的一个想法

总体思路就是:二分答案

你没听错,二分答案

我们从题面中可以看到,其实这道题的拥挤度也就1000010000而已,所以我们就会发现二分似乎可以???

存图存完之后直接二分,二分的Check()Check()里面打一个BFSBFS,来求能否通往终点,就好了

具体的东西就上代码来看吧

题解 洛谷P2814 家谱

March 16, 2018

STL大法好!

(看到楼下的大佬们都没有用我这个方法,我就来脱碳甲醛一下辣~~)


以上都是废话

我所说的这个方法,具体思路是这样的:


QQ

|

Codeforces

|

Luogu

|

Github
本站由 Hexo 驱动,使用 Azurus 作为主题。