![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习笔记
AnKh_Ezra
所谓英雄,在想要成为他的瞬间就已经失去了资格
展开
-
程序设计思维week15 选做题
ZJM与生日礼物ZJM 收到了 Q老师 送来的生日礼物,但是被 Q老师 加密了。只有 ZJM 能够回答对 Q老师 的问题,Q老师 才会把密码告诉 ZJM。Q老师 给了 ZJM 一些仅有 01 组成的二进制编码串, 他问 ZJM:是否存在一个串是另一个串的前缀.Input多组数据。每组数据中包含多个仅有01组成的字符串,以一个9作为该组数据结束的标志。Output对于第 k 组数据(从1开始标号),如果不存在一个字符串使另一个的前缀,输出"Set k is immediately decodabl原创 2020-06-11 19:07:44 · 206 阅读 · 0 评论 -
程序设计思维week14 选做题
矩阵快速幂专场!然而还要结合dp关于矩阵快速幂,以前学的时候写过一篇博客还是和普通快速幂一样的原理,通过二进制拆分指数来让幂的复杂度降到log级别,但是和普通快速幂的应用环境不同,矩阵快速幂常用来优化递推式的计算,比较经典的问题就是求斐波那契数列的第1e7+项,这个问题在以前的博客里也写过了。这周遇到的问题都是对dp的优化Q老师染砖衣食无忧的 Q老师 有一天突发奇想,想要去感受一下劳动人民的艰苦生活。具体工作是这样的,有 N 块砖排成一排染色,每一块砖需要涂上红、蓝、绿、黄这 4 种颜色中的其原创 2020-06-11 18:47:49 · 215 阅读 · 0 评论 -
程序设计思维week13 选做题
TT的苹果树(没有上司的舞会)在大家的三连助攻下,TT 一举获得了超级多的猫咪,因此决定开一间猫咖,将快乐与大家一同分享。并且在开业的那一天,为了纪念这个日子,TT 在猫咖门口种了一棵苹果树。一年后,苹果熟了,到了该摘苹果的日子了。已知树上共有 N 个节点,每个节点对应一个快乐值为 w[i] 的苹果,为了可持续发展,TT 要求摘了某个苹果后,不能摘它父节点处的苹果。TT 想要令快乐值总和尽可能地大,你们能帮帮他吗?Input结点按 1~N 编号。第一行为 N (1 ≤ N ≤ 6000) ,代原创 2020-06-11 11:02:28 · 186 阅读 · 0 评论 -
程序设计思维week12 选做题
1-POJ2955问题描述We give the following inductive definition of a “regular brackets” sequence:the empty sequence is a regular brackets sequence,if s is a regular brackets sequence, then (s) and [s] are regular brackets sequences, andif a and b are regular bra原创 2020-06-11 09:38:32 · 193 阅读 · 0 评论 -
程序设计思维week11 选做
E-东东与ATM一家银行计划安装一台用于提取现金的机器。机器能够按要求的现金量发送适当的账单。机器使用正好N种不同的面额钞票,例如D_k,k = 1,2,…,N,并且对于每种面额D_k,机器都有n_k张钞票。例如,N = 3,n_1 = 10,D_1 = 100,n_2 = 4,D_2 = 50,n_3 = 5,D_3 = 10表示机器有10张面额为100的钞票、4张面额为50的钞票、5张面额为10的钞票。东东在写一个 ATM 的程序,可根据具体金额请求机器交付现金。注意,这个程序计算原创 2020-06-11 08:33:47 · 165 阅读 · 0 评论 -
【网络流自学Ⅱ】最小费用最大流
最小费用最大流也是网络流中的经典问题,其实就是在最大流问题的基础之上加了一些限制:对于某条管道i,传输单位流量需要ci的费用,在这样一个网络中求费用最少的最大流。可以把每条管道上的费用ci看作边长,这样求最小费用等价于求最短路,考虑在EK算法中有一个求增广路的bfs,只要把bfs换成spfa,求最短(其实是总费用最小)增广路,累加增逛的流量flow就能求出最大流,而统计费用时只需累加flow与这...原创 2019-08-17 17:35:13 · 223 阅读 · 0 评论 -
【网络流自学】最大流模板 EK 与 Dinic
过两天要讲优化最大流算法,今天抓紧先看看两个最基本的最大流算法。网络流可以形象地理解为“水流”,所谓最大流问题,就是水要从源点出发流经一个有向图到达汇点,问能流到汇点的最大水流量,当然有向图的每条边有边权(容量),如果水要从某条路到达汇点,显然水流量不能超过这条路上的最小边权(木桶效应)。图上能够使总流量变大的路称为增广路。通过求取最短增广路不断更新最大流的算法就是EK算法,而对图分层并用d...原创 2019-08-13 16:48:03 · 211 阅读 · 0 评论 -
字典树(Trie树)和几道题目
补了补昨天原创 2019-07-27 18:44:07 · 373 阅读 · 1 评论 -
快速幂简单回顾&矩阵快速幂初学与应用
(貌似在合鸟树链剖分博客的路上越走越远了233)回顾一下快速幂求a ^ b mod p的值,三个数大小可达2^31。解法类似于二进制拆分指数b,上代码:ll a,b,p,mod;ll fastpow(ll x,ll y,ll m){ ll z=x,ans=1; for(;y>0;y/=2,z=(z*z)%m) { if(y%2==1) ...原创 2019-07-31 21:59:21 · 360 阅读 · 0 评论 -
KMP简单理解与代码板子
KMP,快速字符串匹配,其实也是一种对暴力算法的优化(但是这优化竟如此强大且著名一直沿用至今tql Orz %%%)这是板子题这是代码#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#incl...原创 2019-07-26 16:58:37 · 522 阅读 · 0 评论 -
树上点分治学习笔记
树上点分治,用来处理这样一些问题,即给定一棵树,求出和树上所有点对之间距离相关的某个答案,如求树上两点之间距离等于k的点对个数(CF161D,板子题)。如果了解lca,可能会想到利用lca求出所有点对间的距离,然后枚举点对统计答案,复杂度大概是O(n2logn)。不过看一眼题,n最大为5e5,即使时间给了三秒,也应该会TLE。点分治的思想大概 是对于给定的树,通过选取其中的特殊点(后面讲),将...原创 2019-07-25 19:41:59 · 301 阅读 · 0 评论 -
【填坑】树链剖分个人理解(2019.8.8)
这两天的学习有些难受,连续值班爆肝加上学长讲的dp每次都听得不是很懂,题也没做多少,感觉自己对这两天自学的一些“添头儿”倒是领会得挺快(树剖,矩阵加速,概率问题,几何问题等),这些写成博客也没多少内容,所以今天只是填个坑,希望以后的学习内容友好一点,好歹能让我写出来点东西吧!总的来说,树链剖分是把树结构分成不同的链,将树上路径、子树等问题转化为链上问题进行解决,比如dfs序就是一种将子树转化成链...原创 2019-08-02 18:51:13 · 150 阅读 · 0 评论 -
树上差分初(luan)学(xie)
树上差分初(luan)学(xie)前两天cy学长讲了简单树论,主要是lca,dfs序,树上差分。其实还讲了其他内容不过他没讲明白 我现在真正会用的也就这些=.=。树上差分需要一些预备知识,即求树上两个节点的最近公共祖先(LCA),另外还有要对一个序列的差分(或者还有前缀和)有一定的了解。有这样一类问题,在一棵树上多次对某两点之间的路或者路上的所有节点进行操作,最后要求对整棵树求某个答案。一...原创 2019-07-24 16:25:19 · 342 阅读 · 2 评论