dilute.xyz | powered by Hexo themed "Azurus"


QQ

|

Codeforces

|

Luogu

|

Github

题解 CF1096G Lucky Tickets

December 29, 2018

其实我很想吐槽这题

我比赛的时候疯狂WA on test 16\text{WA on test 16}​

然后死活找不出来哪儿错了

我觉得我数组开小了

于是我开到MLEMLE都没有过掉

最后一看

被一个n = 2的点卡掉了……

才出4题,罚时爆炸,上黄失败,掉分哭唧唧

题解 CF1095D Circular Dance

December 28, 2018

我们令fa[i]fa[i]ii直接连向的点

那么显然,fa[i]{ai,1,ai,2}fa[i] \in \{a_{i, 1}, a_{i, 2}\}​

假设ai,1a_{i, 1}fa[i]fa[i],那么a2,i{afa[i],1,afa[i],2}a_{2, i} \in \{ a_{fa[i], 1}, a_{fa[i], 2} \}

否则肯定有a2,i∉{afa[i],1,afa[i],2}a_{2, i} \not\in \{ a_{fa[i], 1}, a_{fa[i], 2} \}

所以,如果有a2,i{afa[i],1,afa[i],2}a_{2, i} \in \{ a_{fa[i], 1}, a_{fa[i], 2} \},那么fa[i]=ai,1fa[i] = a_{i, 1},否则fa[i]=ai,2fa[i] = a_{i, 2}

题解 洛谷P5003 跳舞的线-乱拐弯

November 21, 2018

一道有点套路化的网格图上DPDPQwQ

我们用fmin[i][j][0]f_{min}[i][j][0]表示线头在(i,j)(i, j)这个点的时候,线的方向朝__下__,我们能取到的最小的拐弯次数、用fmin[i][j][1]f_{min}[i][j][1]表示线头在(i,j)(i, j)这个点的时候,显得方向朝__右__,能够取到的最小的拐弯次数

同理,我们用fmax[i][j][0]f_{max}[i][j][0]fmax[i][j][1]f_{max}[i][j][1]表示线头在(i,j)(i, j)位置是线朝下和朝右能够取到的最大的拐弯次数。

接下来,对于有障碍的点,我们直接不处理

显然,答案分别为max(fmax[n][m][0],fmax[n][m][1])\max(f_{max}[n][m][0], f_{max}[n][m][1])min(fmin[n][m][0],fmin[n][m][1])\min(f_{min}[n][m][0], f_{min}[n][m][1])

题解 CF1070H BerOS File Suggestion

November 19, 2018

对于这题,看到字符串匹配,第一反应想到字符串hash,同时看到$len \leq 8 $ ,考虑对于先给出的nn个字符串,O(len2)O(len^2)枚举它的子串,将其加入mapmap中,但是要注意如果一个然后对于每个字符串,我们都统计一下它最后一次出现在哪里(于是就可以顺便判一下重)

然后我们在询问的时候,就可以直接输出这个字符串对应的出现次数以及最后一处出现的位置啦QwQ

题解 洛谷P3022 [USACO11OPEN]奇数度Odd degrees

November 18, 2018

我感觉思路隔壁题解给的不够清楚啊……

感觉我无法直接理解隔壁dalao的“正经的图上神搜”啊……

那本蒟蒻就补充一下吧QwQ

我来了,我出锅了,我走了——NOIp2018游记

November 18, 2018

Day (不想算)

将RP耗尽在了初赛QwQ

Day 0

教练说这天Openday,随便打游戏,于是上午随手把最大流、费用流、树剖三个听说可能会考的板子给敲了一遍于是就去跟同学颓了一天的LOL

题解 CF1077C Good Array

November 17, 2018

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

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

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

上代码QwQ

题解 CF1068B LCM

November 17, 2018

第一篇题解

我们都知道lcm(a,b)=abgcd(a,b)lcm(a, b) = \frac{a * b}{\gcd(a, b)}

lcm(a,b)a=abgcd(a,b)a=bgcd(a,b)\frac{lcm(a, b)}{a} = \frac{\frac{a * b}{\gcd(a, b)}}{a} = \frac{b}{\gcd(a, b)}

题目的意思就被我们转化成了求bgcd(a,b)\frac{b}{\gcd(a, b)}的种类数

又∵b是一个确定的数

bgcd(a,b)\frac{b}{\gcd(a, b)}的种类数就等于gcd(a,b)\gcd(a, b)的种类数

由于aa的范围在[1,1018][1, 10^{18}]范围内,所以gcd(a,b)\gcd(a, b)的种类数就等于b的因数个数。

因数个数就可以O(n)O(\sqrt n)求辣QwQ

题解 洛谷P2547 [AHOI2004]DNA变异

October 24, 2018

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

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

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

显然会T飞QwQ

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

算法学习笔记-最小费用最大流

October 1, 2018

前言

某天我看到了memset0巨佬怒切17道网络流神仙题的时候,我顿时准备去做做看网络流24题以满足我内心的抖M之魂

于是,我这个蒟蒻看到某道费用流神题的时候,一脸懵逼地看着“费用流”的标签,决心去学一学这玩意


QQ

|

Codeforces

|

Luogu

|

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