- 博客(22)
- 收藏
- 关注
原创 BZOJ 4002~4008 总结
BZOJ 4002 有意义的字符串题目:给定b,d,nb,d,nb,d,n,求⌊(b+d2)n⌋mod  7528443412579576937\lfloor(\frac{b+\sqrt{d}}{2})^n\rfloor\mod 7528443412579576937⌊(2b+d)n⌋mod7528443412579576937。...
2018-12-18 13:01:02
355
原创 关于切比雪夫距离的一些感想
传送门求切比雪夫距离和可以转化为求曼哈顿距离和为什么呢?切比雪夫距离:Dis(A,B)=max(|XA−XB|,|YA−YB|)Dis(A,B)=max(|XA−XB|,|YA−YB|)Dis(A,B)=max(|X_A-X_B|,|Y_A-Y_B|)曼哈顿距离:Dis(A,B)=|XA−XB|+|YA−YB|Dis(A,B)=|XA−XB|+|YA−YB|Di...
2018-04-08 08:49:57
2854
原创 关于FFT的一些感想
FFT卷积形式h(n)=f(n)∗g(n)h(n)=f(n)∗g(n)h(n)=f(n)*g(n) h(n)=∑i=1nf(i)×g(n−i)h(n)=∑i=1nf(i)×g(n−i)h(n)=\sum_{i=1}^{n}f(i)\times g(n-i)用途快速计算卷积具体实现这里不再赘述,这里有详尽的解释,其性质主要利用单位复根的特殊性。 主要的公式为: Wi...
2018-03-28 09:27:44
442
原创 Codeforces 919 D、E、F
无fuck说D. Substring题目:一个有向图,每个节点有一个小写字母,求路径上最多的相同字母数量是多少,以及判环。Emmm,判环+dpE. Congruence Equation题目:给a,b,p,xa,b,p,xa,b,p,x,求有多少n(1≤n≤x)n(1≤n≤x)n(1\leq n\leq x)满足n×an≡b(modp),p≤106+3n×an≡b(modp...
2018-02-13 01:46:13
386
原创 Codeforces 922 div2 d、e、f
简单,但很有意思D. Robot Vacuum Cleaner题目:给一些由“s”和“h”组成的字符串,把这些字符串拼接起来,贡献是所有“h”前面“s”的个数的和。 思考过程:一开始不知道怎么下手,但是可以分析出来一些性质每个串内部的贡献是可以单独计算的(虽然没什么意义)前后两个串是第一个的“s”与第二个的“h”相关(好像也没什么用)“s”和“h”的数量是固定的(看起来好像没用...
2018-02-11 03:48:24
720
原创 多重背包技巧
多重背包转01背包方法一:直接把物品个数全部拆成相同的物品,时间复杂度为O(V∑c[i])" role="presentation" style="position: relative;">O(V∑c[i])O(V∑c[i])O(V\sum{c[i]})方法二:把这些物品按2x" role="presentation" style="position: relative;">
2018-01-28 16:57:06
254
原创 关于DP中相邻不合法感想
DP中有这样一类问题,要求相邻两个要满足一些限制条件。这类问题比较令人头疼。 解决这类问题的思想是:把状态的转移从选择某几个进行转移变成插入某几个的形式 具体方法是:DP状态中多记录一维表示不合法方案数转移过程是将这几个状态插入原来的状态,方案数通过增加(减少)的不合法数来排列组合计算。 这样下来,时间复杂度增加的是:状态的一维,以及转移过程中枚举插入的一维。 注释:
2018-01-18 11:24:22
294
原创 关于扩展欧几里得的一些想法
仅代表个人观点,如有雷同,一定是他抄我的。如有错误,那一定是你rp不好 —— 我 这次的博客是关于用扩展欧几里得求逆元的一些小技巧的感想。推导扩展欧几里得的过程令f=gcd(a,b)令f=gcd(a,b) 则有f=ax+by则有 f=ax+by 由欧几里得推出f=gcd(a,b)=gcd(b,amodb)由欧几里得推出 f=gcd(a,b)=gcd(b,a\mod b
2018-01-10 22:19:51
322
原创 关于tarjan的一些想法
仅代表个人观点,如有雷同,一定是他抄我的。如有错误,那一定是你rp不好 —— 我不知道tarjan的,右转百度百科。本篇blog只讨论tarjan缩环。 如果你不是用链式前向星存边的,那就 Gun 先去学完再来看这篇精美的blog吧~tarjan用法 tarjan是种非常好用的图论基本工具。缩环,找割点都行。tarjan的缺陷 tarjan原版
2018-01-10 11:14:06
271
原创 NOIP 2017 Day2 题解?
NOIP 2017 Day2 题解? 序言: 不得不说,D2T3我真的码了很久,第一次还码炸了,直接弃坑重码。但是经过我不懈的努力【说白了就是菜】,我终于把它改对了!!!!!!!! 至于我的修改历程,我会在这篇题解的下面详细描述!这不失为一种做题经验以及错题积累。 其实,T1、T2真的很水(1AC),我考试的时候第二题被卡在了一个DP顺序性的问题真的伤。
2017-12-18 13:36:30
1263
原创 NOIP 2017 Day2 总结
NOIP 2017 Day2 总结前言:考的很差,T2我花了很多时间想,但是还是没有打出来,只交了个暴力。在用DP递推方程时,要注意的细节太多,我没能想清楚。考后发现,用搜索写的DP会好写很多【其实我也不记得我考试的时候怎么想的了,现在一下就想到怎么做了。。。】。然后我发现,当递推DP难以走通的时候,可以尝试一下搜索式的DP。T1 这题是一眼题,看完题目就能打的那种。就是个spfa从起点跑到终
2017-12-06 17:06:52
511
原创 NOIP 2017 Day1 题解?
NOIP 2017 Day1 我的程序(AC)题目详解T1#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>#include<vector>#include<queue>#include<cmath>#define LL long longusing names
2017-12-06 09:25:35
699
原创 2016.8.7+8.8+8.9+8.10+8.12 炒鸡无敌程序大集合
总结一下,这几天的学习情况大概是这样的。 8.7:后缀数组 8.8:字典树 8.9:最大流 8.10:考试(无内容) 8.12:组合数学+拓扑图+强连通分量后缀数组 后缀数组的主要内容就是两个算法:倍增算法以及基数排序。这是两个很马叉虫的算法。 先阐述一下倍增算法。这是一个对字符串以及其后缀排序大小的排序,速度灰常快,只需要执行logNlogN次。这是一个怎么样的排序呢? 是
2016-08-12 19:42:27
1898
1
原创 2016.8.6 学习总结
扩展KMP扩展KMP嘛。不就是KMP+manachar而已啧。要想了解扩展KMP那就必须先知道KMP。【KMP网址我会放在博客的最下面~现在了解了KMP后,解释扩展KMP就简单了。因为KMP是扩展KMP的基础。简单来说,扩展KMP是KMP+manachar。扩展KMP是用来匹配两个字符串的前缀和后缀的,具体来讲就是求字符串A的所有后缀中和字符串B的最长公共前缀是什么或者说是
2016-08-08 09:15:00
670
原创 2016.8.6 学习总结
manachar 补上那天的manachar。 manachar是一种能够快速找到字符串中的回文串的一种处理字符串的方法。 核心思想就是:通过回文串是左右对称的这样的一个绝对成立的道理。能够通过左边已经求出的对称中心的数据直接赋值给完全相同的右边的对称中心,这就能节省较多的时间,从而使时间复杂度降了一维。在我完全理解了这种算法后,我觉得也不过就是暴力的一种剪枝罢了。 想了想,先不给
2016-08-08 08:16:51
627
4
原创 2016.8.6 学习总结
KMP 首先是KMP。 KMP是一种字符串快速匹配的的方法。 核心思想就是:避免判断一些没必要判断的,省略了这些,就直接跳跃到有可能成功匹配的合法位置。 是不是经过我这番说辞就感觉KMP很高大上。其实这就是一种暴力的剪枝罢了。 光说是没有什么卵用的,那么,我就来继续说说KMP的大概流程(也就是模板)吧。 1.读入 2.定义并初始化一个叫做next
2016-08-07 11:49:35
628
原创 2016.8.6 做题汇报
时间不够,只能发程序了A:/*1.在字符数组前面插个空: scanf("%s".chr+1); 注:这个空不能为0,最好附一个值,因为strlen是根据0的位置确定字符数组长度 2.在不能空一个位置的时候,可以选择把另一个数组的下标全部+1,数值不变。 */#include<iostream>#include<cstdio>#include<algorithm>#include
2016-08-06 22:11:04
403
原创 2016.8.5 学习总结
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-08-06 22:06:52
434
原创 2016.8.4 开营测试解题报告
开营测试解题报告 ——前两题太水了,所以只做了第三题的解题报告题目: 爆裂吧世界(world/1S/64M)【题目描述】 给你一个长度为n的数列A,请你计算里面有多少个四元组(a,b,c,d)满足: a≠b≠c≠d,1≤a<b≤n,1≤c<d≤n,Aa<Ab,Ac>Ada≠b≠c≠d,1≤a<b≤n,1≤c<d≤n,Aa<Ab,Ac>Ad【输入格式】 输入文件第一行有一个整数N,
2016-08-05 08:57:04
732
原创 2016.8.4 夏令营开营测试感想
题目+我的答案+我的考后感想 音阶(ljestvica/1S/64M)【题目描述】Veronica进入了音乐学院。她收到了一张只有音符没有注释的乐谱,需要认出乐谱中用到的音阶。在本题中,我们只用到了两种最常用的(而且也是学校最先教的)音阶:A小调和C大调。这并不是说这两个音阶比其他大调、小调更简单或基础, 所有的小调和大调都是差不多的。现代音乐中一个八度有12个音(A, A
2016-08-04 19:18:22
501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人