自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++泛型编程 快速排序的函数模板实现

说在前面的废话话说快一年没写过博客了。。。 在建站之前就先用csdn写吧这次要说的东西也没有啥,主要是想写一次快排(学了这么就快排都没写过你敢信用法类似于stl里面的sort,有两个版本。不知道为什么写了很长时间。。。这么短的代码 还是感觉数组版的好写一点学过快排的同学可以不用看下面这段了快排的基本思想1.选取一个基准 2.将比它”小”的放在它前面,比他“大”的放在后面(广义的小和大) 3.

2016-12-18 18:24:08 1438

原创 NOI2015 我的退役之旅

Noi2015已经结束,结果不太令人满意,未能展现出自己的水平,有点遗憾,想来我一直也就这个样子,小学的数竞几乎没拿过1=,小学毕业考试也考得一般,中考考的分数也不上不下,noip2014也没能拿到期望的分数,省选因为别人比我挂的更厉害所以卡进省队。始终都不是所谓最优秀的那一批人吧……感觉那些身影我可能要用一辈子去追赶吧。意外的是抽中了学长的抱枕(好像有黑幕?),感觉noi的rp都用到这里了。 下

2015-07-21 23:08:12 2606

原创 BZOJ4154——IPSC2015 Generating Synergy

题意:AC通道 题解: 这题有个十分巧妙的解法。 因为有子树修改,而又不是整棵子树的修改,直接上dfs序是不行的。 考虑它每次修改的只有子节点,而且有距离限制,我们想到这是与点的深度有关的问题。 于是我们把树上的点抽象到二维平面上,横坐标为其dfs序,纵坐标为其深度,这样每次的修改就对应一个区域的染色操作,这东西用kdtree可以随便搞,弄个lazytag就可以了。一堆调试用的代码,所以看

2015-07-14 11:44:55 1345

原创 BZOJ4031——HEOI小z的房间

题意:求某网格图生成树个数,对1e9取模 题解:题目是裸的Matrix-Tree定理,这不是我要说的重点,重点是对于这个取模的处理。 因为这不是个质数,所以不能直接乘逆元来当除法用,直接高斯消元肯定是不行的,需要一定实现的小技巧。 我们可以考虑gcd的实现过程,辗转相除直到一个为0。多么好的思路,对于这个问题我们也可以这样处理,每次减掉相应的倍数即可 下面是代码#include <bits/

2015-07-13 11:49:36 1004

原创 2015湖南省队集训DAY8——梦工厂

梦工厂 (yume.cpp/c/pas)Time Limit: 1 s Memory Limit: 128 M 问题描述「有时候用烂了的名字也会别有深意」 ——摘自EN 语录 “这里是制造快乐,编织幸福的梦工厂!才不是你们想的什么奇怪的工厂呢!哼!” 这是你来到这个奇妙的地方所听到的第一句话,竟然还是一头身长三米的狗熊发出来的。 一开始看到梦工厂这块牌匾时,你心里想的是什么

2015-07-11 20:37:25 877

原创 2015湖南省队集训DAY6——B题(BZOJ4179)

题面挺扯的,我就直接说人话算了。 题目大意:给你若干个病毒串,问你能不能构造出长度大于n的字符串使其中不出现任何一个字符串。 多组数据,总文件大小小于1M 题解: 联动:BZOJ2938 基本是原题,稍作了改动。 考虑ac自动机。 所求即为ac自动机中是否存在长度大于等于l的路径 先将所有的串插进去,然后构造失配指针。 显然的,插入后的末端节点肯定是不能经过的。 但仅这样显然是不

2015-07-08 20:50:59 1105

原创 快速数论变换(NTT)

题面很简单,就懒得贴了,那不是我要说的重点。 重点是NTT,也称快速数论变换。 在很多问题中,我们可能会遇到在模意义下的多项式乘法问题,这时传统的快速傅里叶变换可能就无法满足要求,这时候快速数论变换就派上了用场。 考虑快速傅里叶变换的实现,利用单位复根的特殊性质来减少运算,而利用的,就是dft变换的循环卷积特性。于是考虑在模意义下同样具有循环卷积特性的东西。 考虑在模p意义下(pp为特定的质

2015-07-08 20:29:49 4245

原创 2015湖南省选集训DAY5——work(BZOJ4177)

DescriptionMike有一个农场,这个农场n个牲畜围栏,现在他想在每个牲畜围栏中养一只动物,每只动物可以是牛或羊,并且每个牲畜围栏中的饲养条件都不同,其中第i个牲畜围栏中的动物长大后,每只牛可以卖a[i]元,每只羊可以卖b[i]元,为了防止牛羊之间相互影响,Mike找到了m条规律,每条规律给出一个三元组(i, j, k)表示如果第i个围栏和第j个围栏养的是不同的动物,那么Mike就需要花费k

2015-07-08 15:54:57 1100

原创 2015湖南省队集训DAY4——hoodle

弹珠 (hoodle)【问题描述】D.Ash 是一个喜欢玩弹珠的小男孩,他有一盒五颜六色的弹珠,在阳光的照射下非 美丽。 同样,他喜欢聆听弹珠相碰时的清脆声音。 经过他的观察,每个弹珠有三个参数 , , ,均为正整数, 分别为弹珠的碰撞损耗,发射损耗和发射能量, 用弹珠 x 撞击弹珠 y ,发出的声音响度为 B_{x,y}=max{- * + ,0}。 Ash 会把弹珠从弹珠盒中拿出

2015-07-07 21:09:51 942

原创 2015湖南省队集训DAY3——Light

Light【问题描述】“若是万一琪露诺(俗称 rhl)进行攻击,什么都好,冷静地回答她的问题来吸引 对方表现出兴趣的话,那就慢慢地反问。在她考虑答案的时候,趁机逃吧。就算是很简 问题,她一定也答不上来。” ——《上古之魔书》 天空中出现了许多的北极光,这些北极光组成了一个长度为n的正整数数列 a[i],远 魔书上记载到:2 个位置的 graze 值为两者位置差与

2015-07-07 20:57:48 810

原创 算法与数据结构八日谈之六——数据结构专题(uncompleted)

这是个大工程 我要慢慢写 朱军稍候1.最·基础数据结构数组别问我为什么把这放进来,我就是闲着没事做栈可以在栈空间不够用时用手写栈来进行dfs。队列bfs所需的基础数据结构,在spfa时也会用到链表在插入操作较多时可以使用链表来维护 hash时可将重复元素以链表的形式挂在一张表上2.基础数据结构上面那些东西(除了链表)是毫无实现难度的,学过计算机语言的就会使用,下面这些则需要一点点的算法知识树状

2015-07-05 22:53:00 972

原创 算法与数据结构八日谈之五——数学相关

1.模算术欧几里得算法求最大公约数int gcd(int a,int b){return b==0 ? a: gcd(b,a%b);}扩展欧几里得算法求乘法逆元也可利用费马小定理和快速幂直接求出乘法逆元快速乘法在模数大于int范围时直接乘可能会溢出,可以用基于二分的加法来代替乘法快速幂模线性方程组中国剩余定理,实现方法与拉格朗日插值法类似离散对数BSGS算法Lucas定理2.矩阵及其运算矩阵乘法的应

2015-07-05 17:45:08 847

原创 算法与数据结构八日谈之四——树论

1.树的定义父节点、子节点、子树、祖先、后代、兄弟、根节点、叶节点、路径等2.生成树生成树的计数Matrix-Tree定理最小(大)生成树-Prim算法 -Kruskal算法 部分维护动态图的题目可通过离线处理转化为维护最小生成树3.树的重心定义(性质)1:到树上所有点的距离和最小的点定义(性质)2:割掉该点后最大的子树大小最小的点-可通过递归处理树的重心来完成动态树分治 加权重心与平权重心求

2015-07-04 17:50:52 1360

原创 算法与数据结构八日谈之三——字符串

1.字符串hash利用字符串hash可以方便而高效的解决一些匹配问题 很难写错,容易调试 在空间/时间常数允许的情况下尽量使用双关键字哈希(难卡)2.KMP算法在线性时间内解决字符串匹配问题,代码短,但容易写错 利用fail数组保存已经匹配获得的信息从而优化匹配的时间复杂度3.manacher算法在线性时间内求出以每个位置为中心的最长回文长度 原理是在每两个字符间加入不属于原字符集的字符,统

2015-07-02 11:28:09 544

原创 算法与数据结构八日谈之二——动态规划

1.背包问题01背包问题转移方程为f[i,j]=\max(f[i-1,j-w_i]+v_i,f[i-1,j])f[i,j]=max(f[i−1,j−wi]+vi,f[i−1,j])f[i,j]=\max(f[i-1,j-w_i]+v_i,f[i-1,j]) 转移条件为j\geq w_jj≥wjj\geq w_j 这是最裸的动态规划问题之一,从这个问题可以扩展出很多新问题来 可以用滚动数组将空间

2015-07-02 07:48:26 662

原创 算法与数据结构八日谈之一——图论算法

1.图的遍历图的bfs-需要用到队列来保存节点信息图的dfs-递归版dfs可能爆栈,尽量使用手写栈或手动扩大栈容量2.图的联通性并查集维护不存在删边操作的动态图连通性-在部分存在删边操作的情况下可以离线处理变成倒序加边Tarjan算法求出无向图的割点和有向图的强连通分量-利用时间戳的和dfs树的特性在O(n)O(n)时间求出3.最短路问题队列优化的Bellman-Ford算法-代码简洁,可以处理负权

2015-07-01 14:30:01 800

原创 BZOJ3932 任务查询系统

题意:懒得说了自己看吧:AC通道 题解:哎随便扯两句吧,一看就知道是主席树。先离散化,然后对于每个任务,在其左端点插入,右端点删除,每个询问只需稍微处理一下就可以了#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef double db;const int inf=0x3f3f3f3f;int getin

2015-06-29 20:37:18 488

原创 BZOJ3884 上帝与集合的正确用法

题目简述: 求这坨东西的值:2222...modp2^{2^{2^{2^{...}}}}\mod p 题解: Orz PoPoQQQ,大爷的题果然厉害 原版题解在这里 我们先把pp中的2提出来,像这样p=2k∗tp=2^k*t 于是原来那一坨东西就可以变成:2k(2(222...−k)modp)2^k\big(2^{(2^{2^{2^{...}}}-k)}\mod p \big) 再根

2015-06-25 14:57:13 543

原创 BZOJ3527 力

题目简述: 我们令Fj=∑i<jqiqj(i−j)2−∑i>jqiqj(i−j)2F_j=\sum_{i<j}{\frac{q_iq_j}{(i-j)^2}}-\sum_{i>j}{\frac{q_iq_j}{(i-j)^2}}Ei=FiqiE_i=\frac{F_i}{qi} 然后求EiE_i 题解: 题目的名字还真是生动形象。。 看到i<ji<j就想到了熟悉的卷积形式 于是把两边分开

2015-06-24 10:27:08 493

原创 BZOJ4002 有意义的字符串

题目简述: 求下面这一坨东西的值: ⌊(b+d√2)n⌋mod7528443412579576937 \bigg \lfloor\Big( \frac{b+\sqrt{d}}{2} \Big)^n\bigg\rfloor \mod 7528443412579576937 题解: 我们先把里面玩意拿出来单独看 我们令x1=b+d√2x_1=\frac{b+\sqrt{d}}{2}x2=b−d

2015-06-24 07:31:39 634

原创 BZOJ3209 花神的嘲讽计划I

题目简述: 给你一个模式串PP,qq个询问,对每个询问回答从PlP_l到PrP_r是否存在与给定串相同的子串,同时有所有的给定串长度均为k(k≤20)k(k\leq20) 数据范围:n,m≤200000n,m\leq200000题目挺裸,想法也很裸,但需要一些注意的地方 首先匹配这种事情肯定是直接hashhash之,因为出现的串数量较大,所以用自然溢出的unsigned long long(其

2015-06-23 20:48:36 499

原创 BZOJ3029 花神的数论题

题目简述: 设sum(x)sum(x)为xx的二进制表示中11的个数,然后求下面这玩意的值 ∏i=1nsum(i) \prod_{i=1}^{n}sum(i) 题解: 看上去就是数位dp。。 先把nn拆成二进制,然后枚举二进制数中11的个数。对于每种情况,从高位向低位枚举,如果该位有11,则将此位置的11固定下来,然后答案加上(i−1k)\binom{i-1}{k}其中ii是当前位的位置,

2015-06-23 15:01:48 497

原创 试一下LaTeX

试一下LaTeX ∑i=1ni2=n(n+1)(2n+1)6 \sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6} ∫+∞−∞12π−−√σe−(x−μ)22σ2dx=1\int_{-\infty}^{+\infty} \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}dx=1 (∑i=1na2

2015-06-22 13:29:24 475

空空如也

空空如也

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

TA关注的人

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