10 2019 档案

摘要:吐槽: 当时脑抽了,总是往难得地方想,实际上很简单一道签到题,总结以后要求自己第一题代码不能超过50行,不然就不要写(肯定就是方法错了) 分析: 构造的时候就每次在它前面从大到小的放, 这样保证肯定能消完的 code : c++ include using namespace std; int n, 阅读全文
posted @ 2019-10-31 16:35 wzx_believer 阅读(139) 评论(0) 推荐(0) 编辑
摘要:我们理解并查集这个数据结构的时候不要过于 死板 , 我们要知道 并查集是用来维护关系的,而不是 单纯一味 去归,并,归,并,归,并 以前我就是一味的只知道 归,并,归,并 要深刻理解只有通过做题来打磨 https://www.luogu.org/problem/P2502 吐槽: 这道题把我坑惨了 阅读全文
posted @ 2019-10-30 22:32 wzx_believer 阅读(119) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3966 分析: 比较普通的AC自动机,这个题唯一不同的就是询问有很多个,但询问的又是模式串 所以建完自动机后暴力询问肯定 会Tle 考虑过程跳fail指针的过程 每一个节点保存一下属于多少字符串,为它的权值。 然后一个节点表示的字符串在 阅读全文
posted @ 2019-10-30 18:47 wzx_believer 阅读(126) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3796 分析: 同理,只是维护的东西不一样罢了 在文本串中通过fail指针分别找模式串出现的次数 code: c++ include include include include using namespace std; string 阅读全文
posted @ 2019-10-30 15:52 wzx_believer 阅读(106) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3808 复习一下AC自动机 分析: 对于本题,把n个模式串建成一个自动机 再在文本串上跑fail指针 为了不重复计算,跑过了就把值附为 1 以后就不到该点去 code by wzxbeliever: c++ include define 阅读全文
posted @ 2019-10-30 15:37 wzx_believer 阅读(109) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P4180 不会做...... 严格次小生成树 怎样才能满足 严格次小 ? 考虑 先跑一次最小生成树 在未被选择的边中替换最小生成树中选中的边 如 (u,v,d)这条边 未在最小生成树中 连上这条边后, (u,v) 之间所有的树上的边 都可 阅读全文
posted @ 2019-10-30 14:48 wzx_believer 阅读(119) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1640 好像每次二分图都用dinic不太好写 于是就学着写匈牙利算法 分析: 每件装备只能用一次,如果把攻击序列建成点,就是装备和攻击顺序的匹配。 比如属性值是3和5,那么这件装备要么在3位置要么在5位置被使用。 当然,按攻击顺序开始匹 阅读全文
posted @ 2019-10-29 21:27 wzx_believer 阅读(93) 评论(0) 推荐(0) 编辑
摘要:复习一下网络流二分图 https://www.luogu.org/problem/P3386 分析: 没什么好分析的....... 因为 没学过匈牙利算法,所以就打一个网络流 建一个超级源点和一个超级汇点 此时最大匹配=最大流 code by wzxbeliever: c++ include def 阅读全文
posted @ 2019-10-29 20:05 wzx_believer 阅读(100) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2868 分析: 明显的01分数规划 求最优比率环 用dfs版的spfa找负环 二分就好 code by wzxbeliever: c++ include include include include include define N 阅读全文
posted @ 2019-10-29 08:18 wzx_believer 阅读(119) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/CF696B 又是一种期望模型 分析: 考虑节点u,它的兄弟在它的前面的概率都为0.5 由于期望的线性性 E(在每个兄弟的后面)=E(V1在它前面)+E(V2在它前面)+....+E(Vk在它前面)+1,其中k为除它以外的兄弟数 E(u)= 阅读全文
posted @ 2019-10-28 22:26 wzx_believer 阅读(153) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/CF540D 前言:很简单的一道期望题 分析: 三维dp就行 记住期望反推: dp[i,j,o]表示还有i个第一种没选,还有j个第二种没选,还有o个第三种还没选 很明显 其中i×j+j×o+i×o表示选两种的总种类数 c++ include 阅读全文
posted @ 2019-10-28 21:36 wzx_believer 阅读(136) 评论(0) 推荐(0) 编辑
摘要:https://projecteuler.net/problem=638 题目描述: 求所有(0,0)走到(n,m)路线(k^矩形个数) 分析: 考虑如果只是求方案数的话 很简单一个递推dp[i,j]=dp[i 1,j]+dp[i,j 1]; 也是一个 组合数C(n+m,n) 再考虑把 面积加上进行 阅读全文
posted @ 2019-10-27 22:36 wzx_believer 阅读(116) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5036 题目大意: 开始你没有任何钥匙,而你面前有很多道门,每道门后面可能有打开其他门的钥匙,如果你无法打开这道门,可以选择将它炸开,求打开所有门的 期望炸的次数 分析: 首先根据 期望的线性性 炸开所有门的期望次 阅读全文
posted @ 2019-10-27 20:54 wzx_believer 阅读(131) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2824 submit 做法: 由于将一个普通序列排序很慢,需要nlogn的时间,所以我们试着把它转化为对01序列排序。先来考虑一个简单的问题: 如何将一个01序列排序?(logn的复杂度) 对于这个问题,我们使用线段树来维护。查询一段区 阅读全文
posted @ 2019-10-27 19:21 wzx_believer 阅读(159) 评论(0) 推荐(0) 编辑
摘要:T1 分析: 其中d(重要程度)一定是单调不升的, 所以对于选的顺序一定是按顺序来的,除非有一段相等 然后就乱搞就行了 code by wzxbeliever: c++ include include include include include include include include i 阅读全文
posted @ 2019-10-25 22:24 wzx_believer 阅读(123) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P5021 好早以前做过,但现在再看发现当时根本没理解 分析: 题目大意: 找出互不相交的m条路径,使得这m条路径中最短的尽量最长(原图是一颗树)!!! 最长的最短:二分答案? 长度大于等于mid的有没有m个 树?树?树?树形dp? 当我们 阅读全文
posted @ 2019-10-25 20:43 wzx_believer 阅读(108) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2048 昨天和大佬们一起复习了 堆 见此题不错,于是写一篇题解 题目大意: 求长度在[L,R]的范围的 子串和 前K大和 分析: 考虑暴力一点,把所有满足条件的字串加入 一个堆中 取的前K次就是前k大 发现这样不太好 这样的 瓶颈在于 阅读全文
posted @ 2019-10-25 15:22 wzx_believer 阅读(104) 评论(0) 推荐(0) 编辑
摘要:例题一: http://acm.hdu.edu.cn/showproblem.php?pid=5056 题目大意翻译: 给你一个由小写字母组成的字符串,使得子串中每个小写字母的数目不超过k,你的任务是计算这样的子串的数目 分析: 枚举字符串下标i,每次计算以i为结尾的符合条件的最长串。 那么 以i为 阅读全文
posted @ 2019-10-24 22:22 wzx_believer 阅读(138) 评论(0) 推荐(0) 编辑
摘要:分析: 考虑如何判断一个字符串 S 是不是另一个字符串 T 的子序列。 一个自然的想法是贪心:我们按照从前往后的顺序考虑 S 的每个字母,然后维护 一个 j,表示 S1S2 · · · Si 当前的字符已经匹配到了 T1T2 · · · Tj。然后每次贪心选择下 一个使得 Tj′ = Si+1 的 阅读全文
posted @ 2019-10-24 21:59 wzx_believer 阅读(123) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3022 吐槽: 什么 狗屁标签,动态规划?单调队列? 还有就是我为什么 纯dfs的题总是做不到 分析: 这道题有 special judge 说明乱搞能过 结论: 直接在原图的每一个连通块的一颗树上进行树形dp 考虑 u v这条边 如果 阅读全文
posted @ 2019-10-24 11:40 wzx_believer 阅读(152) 评论(0) 推荐(0) 编辑
摘要:T1 这是一个 很老的题 了 想到 肯定和LCA树剖啊有关 ,但当时我看到 1e6的范围 时果断放弃 结果它m的时 限时2秒 说说我的分析: 最值问题? 不是贪心就是dp 对于 dp ,如果转化为线性的,就是一个单调队列优化dp的模板 但是想了半天一棵树怎么都不能转化为 线性 的 对于 贪心 ,考虑 阅读全文
posted @ 2019-10-23 20:29 wzx_believer 阅读(245) 评论(0) 推荐(0) 编辑
摘要:分析: 陷入Tarjan太深 ,浪费了很多无用的时间 很明显如果是 一棵树 的话,直接都染黑了 然后就想到要将每一个连通块都变为一棵树 设连通块总数为C,总共有m条边,有用的就只有n C条 所以 要染色的就有m n+C 直接并查集维护 总结: 当时真的是 脑残 ,去找环了 分析: 首先答案是很 多个 阅读全文
posted @ 2019-10-23 16:38 wzx_believer 阅读(142) 评论(0) 推荐(0) 编辑
摘要:https://loj.ac/problem/10177 今天的考试题目中有单调队列优化dp的,感觉不太熟练,所以练几手题 其实这题 就是今天的T2!!!! 首先是dp很明确 dp[i,0]表示处理了前i个位置,并且第i个位置不选的最大值 dp[i,1]表示处理了前i个位置,并且第i个位置要选的最大 阅读全文
posted @ 2019-10-21 22:13 wzx_believer 阅读(77) 评论(0) 推荐(0) 编辑
摘要:爆零警告,昨天晚上睡得晚,考试的时候困死我了 分析: 哈密尔顿环:每个点只经过一次的路线,有哈密尔顿环的图叫哈密尔顿图 先考虑只是 一条链 很容易想到隔一个跳一次,这样 无论链有多长 一定是 从A出发,B回来 所以直接 拓展到树上 即可: 如 果当前节点深度是奇数,那么我们在DFS前输出这个点, 否 阅读全文
posted @ 2019-10-21 22:12 wzx_believer 阅读(173) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P4072 是 P2212(动态规划训练之十五) 的提升版 全程抄袭题解 首先 化简方差: 这样直接转移就是N×N×N的复杂度,也就是P2212 考虑优化 code: 阅读全文
posted @ 2019-10-21 16:41 wzx_believer 阅读(101) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2112 相信都看一眼就知道这是一道 很水的dp 但是这代码不是我写的,毕竟我太蒻了 code: c++ include include include include define MAXN 1005 define MAXK 105 u 阅读全文
posted @ 2019-10-20 21:07 wzx_believer 阅读(81) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2215 初看题目,不就是个 最长上升子序列 吗? 但我们知道 nlogn 的最长上升子序列中定义状态 f[i]表示以i结尾 的... 这个题要求 以i开头 的 所以 倒着做最长下降子序列 就好了,f只记录长度( 解题关键,逆向思考 ) 阅读全文
posted @ 2019-10-20 20:36 wzx_believer 阅读(120) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2511 首先分析 本题有两个问,而这两个问的 求法肯定是不一样 的 第一问,求最长的最短,很显然一个 二分就行 那第二问 计数怎么办? f[i,j] 代表前i个数分成j块的方案数, 则 f[i,j]=Σ f[k,j 1] (k =lef 阅读全文
posted @ 2019-10-19 16:24 wzx_believer 阅读(102) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3978 题目描述: 对于一棵随机生成的n个结点的有根二叉树(所有互相不同构的形态等概率出现),它的叶子节点数的期望是多少呢? 不同构的二叉树 数目显然是 卡特兰数 (因为这题目描述的不同构 节点标号也要不同 ) 节点数期望是等于 (各种 阅读全文
posted @ 2019-10-19 09:03 wzx_believer 阅读(79) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2939 分层图最短路板子题 ,好久没写最短路了,算是复习一下吧 根据题意,我们可以发现k的取值范围比较小,所以可以直接用分层图 把一个点强行 拆分为k 个,原图层代表使用0次升级路的机会,其他的图分别表示使用了1次、2次...k次升级路 阅读全文
posted @ 2019-10-19 08:22 wzx_believer 阅读(84) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P4047 好久没做 生成树 的题目了,这个算复习一下吧 我们把每个点看成一个部落,每次取最小距离的两个抱团,同时部落也减少了一个....然后减减减,直到部落数==目标数,此时下一个不同部落的距离就是最短的距离 code c++ inclu 阅读全文
posted @ 2019-10-18 21:44 wzx_believer 阅读(89) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P4550 这里有个很好的 结论 : 概率正向推,期望反向推 对于这个题而言,是要求 期望花费 而这个 期望花费又与期望次数有关 所以先算出 期望次数 ,再去推 期望花费 设 f[i] 表示购买了i种物品, 还要购买物品的期望次数 (反向推 阅读全文
posted @ 2019-10-18 16:19 wzx_believer 阅读(104) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3802 我只想骂这个出题人,题目意思都不说清楚,其实很简单的一道题,害的我一直想不通 注意这个a数组是该属性晶石的个数 而施法的 次数就是Σai 考虑第一个放 a1 ,则有 a1/n 的概率选到 第二个放 a2 ,则有 a2/n 1 的 阅读全文
posted @ 2019-10-18 15:39 wzx_believer 阅读(122) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2290 prufer板子题 但它是一道紫题也是有它的道理的 ,就是注意一下 坑点 code:(代码很丑,不是我写的(看得我想吐了)) 阅读全文
posted @ 2019-10-18 11:45 wzx_believer 阅读(94) 评论(0) 推荐(0) 编辑
摘要:树的prufer编码 prufer是无根树的一种编码方式,一棵无根树和一个prufer编码唯一对应,也就是一棵树有唯一的prufer编码,而一个prufer编码对应一棵唯一的树。 注意这个 唯一性!!!! 第一部分:树编码成prufer序列。 树编码成prufer序列的方式是:prufer序列初始为 阅读全文
posted @ 2019-10-18 11:34 wzx_believer 阅读(809) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2221 分析 ,数据结构跑不掉,看标签,什么狗屁期望,一点关系都没有好吧 其实就是一道 线段树裸题 ,唯独就 是麻烦了一点而已,因为维护的东西很多 code c++ include include define lson now '9' 阅读全文
posted @ 2019-10-18 09:19 wzx_believer 阅读(140) 评论(0) 推荐(0) 编辑
摘要:阶梯NIm 如这就是一个阶梯博弈的初始状态 2 1 3 2 4 ... 只能把后面的点往前面放...如何来分析这个问题呢.. 其实阶梯博弈经过转换可以变为Nim.. 把所有奇数阶梯看成N堆石子..做nim 把石子从奇数堆移动到偶数堆可以理解为拿走石子..就相当于几个奇数堆的石子在做Nim 证明(可能 阅读全文
posted @ 2019-10-17 22:27 wzx_believer 阅读(128) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1800 开始还在纠结到底把 这道题归为二分还是dp 但发现这道题难点在于 dp 根据样例解释会很好想到要用 二分 只是这个 check函数 就比较尴尬了 肯定 贪心扫不出来 ,说明就 只有dp了 啊 而且这个 dp 要和你二分出来的 答 阅读全文
posted @ 2019-10-17 21:37 wzx_believer 阅读(80) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1663 首先这题的数据范围比较水,O(N N)可以过,但就不说了 考虑小一点 问题转化为要找到所有直线相交的最高点 考虑二分答案, 大于这个答案的一定可以过,但不一定最小 小于这个答案的无法满足条件 所以可以二分答案 再就考虑check 阅读全文
posted @ 2019-10-17 20:43 wzx_believer 阅读(66) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2507 分析: 首先看到这道题一定不会是什么高级算法,肯定是贪心啊dp啊 先考虑 ai可以等于bi ,则直接排序即可 但是 ai!=bi的 ,怎么办? 读题!!! 上帝给你关了一道门一定会再给你开一扇窗de a数组和b数组内部元素是不等 阅读全文
posted @ 2019-10-17 08:54 wzx_believer 阅读(120) 评论(0) 推荐(0) 编辑
摘要:### 引言 在生活中五子棋也是一种先手有必赢策略的游戏,有人会说五子棋先手我也会输啊,所以 博弈论问题都有个类似如“参与者足够聪明”,“两人都不犯错"的前提。 在此前提下,讨论几种常见的**博弈情形** ### 一:巴什博弈 **问题描述:n个物品,两个人轮流取[1,m]个,最后取光者胜利,判断先 阅读全文
posted @ 2019-10-16 20:29 wzx_believer 阅读(329) 评论(0) 推荐(0) 编辑
摘要:卡特兰数 卡特兰数又称卡塔兰数,卡特兰数是组合数学中一个常出现在 各种计数问题中的数列 。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名。 中文名卡特兰数 外文名Catalan number 解释 出现在各种 计数问题 中出现的数列 1, 1, 2, 5, 14, 42, 1 阅读全文
posted @ 2019-10-16 16:11 wzx_believer 阅读(321) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1080 分析 很好理解 ,就是高精就直接套板子了 若 a[i].l / a[j].r include include include define FT(A,B,C) for(int A=B;A = 1; i ) { //注意要从最高位 阅读全文
posted @ 2019-10-15 22:15 wzx_believer 阅读(105) 评论(0) 推荐(0) 编辑
摘要:例题一 题意 :给定 n 种物品,每次购买会随机买到一种,询问买到 n 种物品的 期望次数 。 考虑我们已经买到了 k 种物品,再继续买多少次能得到第 k+1 种物品。 分析 设它为 x ,则: x=(1−k/n)⋅(x+1)+k/n 整理得: x=1/(1−k/n)=n/(n k) 那么 答案 就 阅读全文
posted @ 2019-10-15 21:15 wzx_believer 阅读(576) 评论(0) 推荐(0) 编辑
摘要:考试的时候打的 暴力二分结果炸开了 , r=mid 的结果我写成了 r=mid 1 主要当时 想都没想就写上了emmm 分析 首先这道题肯定是 二分的log ,判断是 O(n)的 , 所以瓶颈在于如何 确定x,或者少算一些x 这里 有个性质: 对于每个 x,考虑如果用它来压缩那么可以达到的最优解,设 阅读全文
posted @ 2019-10-15 19:34 wzx_believer 阅读(132) 评论(0) 推荐(0) 编辑
摘要:浅谈期望的线性性(可加性) 感性理解一下 E(X+Y)=E(X)+E(Y) 即两个(或多个)随机变量的 和的期望 等于 期望的和 理论解释 如果不想看或者看不懂把 规律记住 当然如果要理解透彻,那么就要 练题 http://codeforces.com/problemset/problem/280/ 阅读全文
posted @ 2019-10-15 19:11 wzx_believer 阅读(8255) 评论(0) 推荐(3) 编辑
摘要:https://www.luogu.org/problem/P1005 因为做 学军的初赛题 有这道题,就做了 其实以前看到过,但是一看到 高精 ,果断 走你 分析: 发现啊, 每一行怎么取数是 互不干扰 的, 则 ,只用分别处理 每一行 就好 数据范围也在 算法复杂度 以内 很好联想到 区间dp 阅读全文
posted @ 2019-10-14 21:48 wzx_believer 阅读(140) 评论(0) 推荐(0) 编辑
摘要:奇数和偶数 显然是独立的,我们只考虑其中一种即可。 如果 没有要求字典序最小 的话,则显然 相对位置不变 的方案是 最优 的 那么我们可以直接得到一种合法方案以及 最小代价 。 我们用 xi 表示第 i 个数是 往左 , 往右 还是 不变 , 那么按 xi 分段 后显然每一段是 独立 的,否则代价一 阅读全文
posted @ 2019-10-14 21:13 wzx_believer 阅读(121) 评论(0) 推荐(0) 编辑
摘要:solution by jklover%%% 为什么要写 两个转移方程呢? 因为一个是 O(N^2) 的 如果 联立 之后呢? O(N)的 code by std: c++ include using ll = long long; constexpr int MOD = 998244353; in 阅读全文
posted @ 2019-10-14 20:50 wzx_believer 阅读(118) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P5588?contestId=22026 分析: 首先 同一颜色 在树上连边一定是 一条链 , 如果没有这个颜色的结点答案则为 n (n 1)/2 如果该颜色 只有一个节点 ,那么就是统计一个这节点为根的所有子树大小 互乘累加 下 面重点 阅读全文
posted @ 2019-10-14 19:52 wzx_believer 阅读(100) 评论(0) 推荐(0) 编辑
摘要:![](https://cdn.luogu.com.cn/upload/image_hosting/f95ty6sy.png) ![](https://cdn.luogu.com.cn/upload/image_hosting/yh0tpsxl.png) 阅读全文
posted @ 2019-10-14 15:25 wzx_believer 阅读(80) 评论(0) 推荐(0) 编辑
摘要:按时辰分析吉凶 子时:23点——01点前 左眼:意外之喜降临,会有不错好运,你的心脏要强一点,别兴奋过了头。 右眼:有人请你吃饭,可以省下一笔钱,但是这个人的目的不明,你要多多斟酌。 丑时:01点——03点前 左眼:家中近很麻烦,大小事困扰着,不知该怎么办,短期内一筹莫展。 右眼:有人思念你,有可能 阅读全文
posted @ 2019-10-13 19:28 wzx_believer 阅读(235) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2606 不知道为什么这道题在 数位dp 里 分析; 又是一个 与排列有关的计数 题, P(i) P(i/2) 这个条件很重要啊 也有 P(2 i) P(i) , 也有 P(2 i+1) P(i) 像这种 下标二倍的关系 就要和 二叉树 阅读全文
posted @ 2019-10-13 08:36 wzx_believer 阅读(105) 评论(0) 推荐(0) 编辑
摘要:蒟蒻分析: 考试时写个权值线段树就是调不出来 蒟蒻总结: 平时多练手 solution: 其实就用树状数组维护一下就行 多了个撤销操作而已,应该十分钟就写完的,我写了 三个小时 !!! code by jklover include using namespace std; inline int r 阅读全文
posted @ 2019-10-12 14:50 wzx_believer 阅读(95) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P5196 开始那道题会觉得 计数很棘手 ,思考一番 这个背包dp式子很好得出 if(dp[j]) dp[j+len[i]]+=dp[j]; 但是这是 没有最后一个单词的前提下才行 那怎么办? (不会就dp) 很有用的 f[col[i]]+ 阅读全文
posted @ 2019-10-11 19:22 wzx_believer 阅读(81) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3650 真的是惭愧,拿到一个普及减的题,看了半天不会做,还要看题解 首先On n的 首先对之进行排序 因为添加和减小高度都是无标准的,只要差值小于等于17就好 于是我们可以枚举一个这样的 标准 小于它的变成它,大于它且大于差值大于17的 阅读全文
posted @ 2019-10-11 18:52 wzx_believer 阅读(73) 评论(0) 推荐(0) 编辑
摘要:其实当时就觉得很像奶酪这道题,但 思维固执 了,就再也没往下想了 首先很清晰的 二分答案 , 再就考虑 check函数 怎么维护了, 结合奶酪那道题,也 用并查集 维护 将 上界和下界 分别当做一个限制点 如何判断二分的答案 能否走过去 呢 只要上界与下界不在同一个集合就可 code by hs c 阅读全文
posted @ 2019-10-11 16:08 wzx_believer 阅读(107) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P4198 动态维护 斜率单调递增 代码很清楚,就不讲解了 code by wzxbeliever c++ include define ll long long define ri register int define il inlin 阅读全文
posted @ 2019-10-10 21:12 wzx_believer 阅读(82) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3120 首先 ON^4 的dp很容易想到(数据加强过,所以这个过不了) code : c++ include using namespace std; int r,c,k; //行,列,数值限定 int a[751][751]; lon 阅读全文
posted @ 2019-10-10 11:15 wzx_believer 阅读(94) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=3177 题目描述 给一个连通图,问最少加几条边可以得到边双连通图。 分析: 模板题 ,复习一下 tarjan双向边缩点,再找 叶子结点(即出度为1的点) 其实本题可以不用缩点,只用 维护low数组 就行, 只要low数组的值相等,就是属于同一连通 阅读全文
posted @ 2019-10-09 19:17 wzx_believer 阅读(91) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/problemset/problem/571/A 冥思苦想怎么加才能保证能组成三角形,并且要求其方案数 然后就无奈看题解 发现其实可以 容斥一下 , 总方案数 不合法的方案数=答案 普及一下排列组合 P(n,m)表示n个中选出m个排列 P(n,m)=n(n 阅读全文
posted @ 2019-10-09 15:48 wzx_believer 阅读(122) 评论(0) 推荐(0) 编辑
摘要:首先能够想到是 状压dp模板 取 dp[state,i,j] 表示state状态下倒数第二个岛为i,最后一个岛为j时的最优解, num[state,i,j] 为相应的路径数目,其中 state 的二进制表示的i位为1表示岛i被访问过,反之为0。 则显然当有 边(i,j) 存在时,有如下初值可赋: d 阅读全文
posted @ 2019-10-09 11:47 wzx_believer 阅读(81) 评论(0) 推荐(0) 编辑
摘要:哎,题型真的变化无穷啊 先考虑如果 每个点只能走一次 ,那么这就是 个典型的状压dp的裸题 , 但这时候每个点可以 最多走两次 ,怎么办? 当每个点只能走两次的时候, 我们用二进制的的0表示该点没有被选到,1表示该点被选到 这时候我们就可以用 三进制 的2表示该点被经过了两次 code(写的很清晰, 阅读全文
posted @ 2019-10-09 10:20 wzx_believer 阅读(92) 评论(0) 推荐(0) 编辑
摘要:状压模板题,不多述,复习一下而已 code: 阅读全文
posted @ 2019-10-09 09:44 wzx_believer 阅读(86) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1858 模板题,套路东西,思路代码里,很清晰,很明了 code : c++ include define IL inline define RI register int using namespace std; IL void in( 阅读全文
posted @ 2019-10-09 09:03 wzx_believer 阅读(89) 评论(0) 推荐(0) 编辑
摘要:https://nanti.jisuanke.com/t/A1108 本题又叫缺点最短路,数据卡的很好, 一N×N×N×N 恰好过不了 二 N×N×N×logN才行 如果一的话就可以再在floyed的基础上多枚举一维 这一维表示不经过该点 floyed的本质是一个 增量算法 ,最外一维枚举的是k,但 阅读全文
posted @ 2019-10-09 08:29 wzx_believer 阅读(100) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2467 这是一道好题 题目描述 求1 n排列组成的波动数列的个数 分析首先肯定是个dp没错了,考虑设计方案, dp[i,j] ,表示用 1 i 的排列最后一个为 j 的方案数 dp[i,j] 相当于 dp[i 1,k] 中原排列大于等于 阅读全文
posted @ 2019-10-08 21:51 wzx_believer 阅读(117) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2473 看数据范围,不是搜索就是状压 于是就开心状压,先不要管他什么期望 DP模型很容易想到, 用 f[i,S] 表示到了第i轮,宝物是否取过的状态为S的最大期望得分。 但这个模型存在问题: 可能在第i轮无法到达状态S 为什么呢? 比如 阅读全文
posted @ 2019-10-08 19:51 wzx_believer 阅读(97) 评论(0) 推荐(0) 编辑
摘要:solution 答案等于 压栈次数 ×2+n×2+n ,于是 只需最小化压栈次数 . 观察栈的形态,可以发现两条性质. 1. 栈中相邻的两个元素不可能相等 . 2. 如果当前字符与栈顶下面一个字符相等,弹栈一定不会劣于压栈,于是栈中隔一个也不会相等. 第一个性质很好理解,第二个呢? 举个例子就好 阅读全文
posted @ 2019-10-08 18:46 wzx_believer 阅读(121) 评论(0) 推荐(0) 编辑
摘要:咕咕咕(gugugu) 【题目描述】 有一个长度为N的数轴,数轴的范围从 1 到 N 还有 M 个区间,其中第i个区间是 [Li,Ri] 并且有一个权值 Vi 。定义一个选择区间的方案是合法的,当且仅当数轴上每一个整点都被至少一个区间覆盖了,同时该方案的权值是所有选择区间的权值乘积。 ​ 请你求出所 阅读全文
posted @ 2019-10-08 11:34 wzx_believer 阅读(287) 评论(0) 推荐(1) 编辑
摘要:https://www.luogu.org/problem/P2320 读完题觉得这个题不好入手啊 光想不好想,举个例子。 比如我们要算的是10,怎么办呢。 其实下面这一步分解不是很好想 10可以分成1~5和6~10,6~10可以由1~5加5组成,所以要选5,接下来只要组成1~5就可以了。 就把5除 阅读全文
posted @ 2019-10-08 08:40 wzx_believer 阅读(84) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1314 这题目很明显地告诉我们是 二分 如果你看不出 来的话:二分的判断。 可以看到:在W取0时,所有的区间内的矿石都可以选上, 而在W大于最大的质量时,所有的矿石都选不上。 然后简单算一下就发现: W越大,矿石选的越少,W越小,矿石选 阅读全文
posted @ 2019-10-08 08:12 wzx_believer 阅读(76) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1134 基本思路: 纯模拟,算0前的最后1位。 末尾0就是多个10相乘得来的 , 我们只需要在相乘算个位数时将末尾0的个数的2,5提前约去即可 计算末尾0的个数,只需要计算1~n中有多少个因数5, 因为因数2的个数肯定比5多 ,每一组2 阅读全文
posted @ 2019-10-07 18:27 wzx_believer 阅读(73) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1306 这个题不知道结论是做不出来的 结论 gcd(f[n],f[m])=f[gcd(n,m)]; 知道这个后就直接出来了 证明我不会,结论记住就行 这道题可以用矩阵加速,也可以不用 code(有 矩阵加速 ): c++ // luog 阅读全文
posted @ 2019-10-07 16:08 wzx_believer 阅读(88) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1313 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n y^m项的系数。 如果你不知道 二项式定理 ,可以手推一下,发现这系数是杨辉三角(noip2017D1T1) 因为数据比较小,所以直接用f[i,j]=f[i, 阅读全文
posted @ 2019-10-07 15:47 wzx_believer 阅读(135) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3435 这题目中文翻译的有毒 首先翻译一下题目: 如果存在串 B ( B 可以为空) ,使得 A=PB ,那么称 P 是 A 的前缀。 如果 A!= P 并且 P 是 A 的前缀,那么称 P 是 A 的 proper 前缀。 如果 Q 阅读全文
posted @ 2019-10-06 20:58 wzx_believer 阅读(96) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2515 读完题相信已经思路明确了 有依赖关系的连边, 但可能这整个图不连通,并且还有可能出现环 如果出现环的话,要选其中一个就必须吧整个环都选上(应该很好理解吧) 那么显然这要求我们进行tarjan缩点 缩点后是一个有向无环的森林,考虑 阅读全文
posted @ 2019-10-06 19:38 wzx_believer 阅读(89) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2501 这道题真的很好,写题解的人写的也真好 第一问 如果要保留 a[i],a [ i ] 和 a[j],a [ j ] , 前提是: 他们中间的数本身就合法,或者他们中间的数可以被改成合法。 比如,17,50,50,50,19这个序列 阅读全文
posted @ 2019-10-06 16:12 wzx_believer 阅读(88) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P3275 说说差分约束的套路吧 关于建图的基本规律 1.如x=y,则add(x,y,0), add(y,x,0) 2.如x y,则add(y,x,1) 3.如x≤y,则add(x,y,0) 4.如x0,即0为超级源点 c++ includ 阅读全文
posted @ 2019-10-06 15:14 wzx_believer 阅读(124) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2294 本题有多种解法; 贪心 先按左端点为第一排序关键字,再排右端点。 之后就开始两两比较,如果左端点相等,就比较右端点, 如果相等,就比较值,如果值不同,就直接输出false,否则输出true, 如果右端点不等,就把相同的部分抵消掉 阅读全文
posted @ 2019-10-06 11:00 wzx_believer 阅读(137) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1993 差分约束 没的说(不会的看我之前写的博客) 1.农场a比农场b至少多种植了c个单位的作物, 2.农场a比农场b至多多种植了c个单位的作物, 3.农场a与农场b种植的作物数一样多。 对于1,可以列出A B =c,A =B+c,建边 阅读全文
posted @ 2019-10-06 09:07 wzx_believer 阅读(105) 评论(0) 推荐(0) 编辑
摘要:差分约束 截取到的一个博客 (只截取了我觉得好的部分): 1、数形结合 如若一个系统由n个变量和m个不等式组成,并且这m个不等式对应的系数矩阵中每一行有且仅有一个1和 1,其它的都为0,这样的系统称为差分约束( difference constraints )系统。引例中的不等式组可以表示成如图三 阅读全文
posted @ 2019-10-06 08:36 wzx_believer 阅读(260) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2680 题意:n个点,n 1条边,边有边权,无向图,m条航线,0时刻同时启程,你可以将一个边权变为0,求使得最后一个航线到达最少花费时间。 这道题很早就做过了,但现在又忘了, 而且觉得这是一道好题,所以写一篇博客 分析; 首先最大值最小 阅读全文
posted @ 2019-10-05 21:55 wzx_believer 阅读(182) 评论(0) 推荐(0) 编辑
摘要:http://www.codevs.cn/problem/3223/ L,R的范围太大了, 不可能直接筛素数 但考虑到R L的范围在能承受的范围内, 这时候就要用到 区间筛: 主体思想与其他筛法一致, 但一般题目中数据范围比较大(L include using namespace std; long 阅读全文
posted @ 2019-10-05 16:50 wzx_believer 阅读(108) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2264 看一眼就是水题 方法应该很多,都可以乱搞出来 我就找了两个比较好的做法 一个是trie,还有一个是set trie c++ include include include include include include incl 阅读全文
posted @ 2019-10-05 15:46 wzx_believer 阅读(121) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P2149 算是找到了一道好题吧 看样例直接提醒我们两点间的最短路可能不止一条 看 套路 : 如何判断一条边是否在这两点(S,T)最短路径上 solution:S跑一遍単源最短路,T跑一遍単源最短路,再枚举边,判断 !!!!! 至于为什么要 阅读全文
posted @ 2019-10-05 15:22 wzx_believer 阅读(139) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P1439 看到标题你肯定会想什么狗屁 奇技淫巧 ,不就是个模板题吗 然后乍一看数据范围,是不是觉得很方? 本题的关键在于它还给出了一个条件, 那就是这两个序列都是 排列 就是说不会有元素重复!!!(突破口应该放在这里) 而且两序列的元素排 阅读全文
posted @ 2019-10-05 11:35 wzx_believer 阅读(100) 评论(0) 推荐(0) 编辑
摘要:奇技淫巧训练之一 打表专题 https://www.luogu.org/problem/P1984 读完题你也就会知道这肯定不是什么高级算法 手动模拟一下: 第一杯需要100 第二和第一进行热传递后变为50,所以需要100 50=50 第三和第一进行热传递后变为25,和第二杯进行热传递后变为62.5 阅读全文
posted @ 2019-10-05 10:07 wzx_believer 阅读(148) 评论(0) 推荐(0) 编辑
摘要:图论训练之二 https://www.luogu.org/problem/P1613 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千 阅读全文
posted @ 2019-10-04 22:31 wzx_believer 阅读(112) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/P4147 其实和 最大子矩阵 的思路特别像 可以用 悬线法 ,也可以用 单调栈 , 因为前文我写过 悬线法 ,所有,这里就用 单调栈 写 因为单调栈是 模板, ,手动模拟一下就可以写出来的 所以不提供讲解只提供代码 code: c++ i 阅读全文
posted @ 2019-10-04 19:50 wzx_believer 阅读(84) 评论(0) 推荐(0) 编辑
摘要:杂练题 之一 1528: [POI2005]sam Toy Cars Description Jasio 是一个三岁的小男孩,他最喜欢玩玩具了,他有n 个不同的玩具,它们都被放在了很高的架子上所以Jasio 拿不到它们. 为了让他的房间有足够的空间,在任何时刻地板上都不会有超过k 个玩具. Jasi 阅读全文
posted @ 2019-10-04 19:06 wzx_believer 阅读(247) 评论(0) 推荐(0) 编辑
摘要:动态规划专题 动态规划专题二: 悬线法 何为悬线法 悬线的定义是这样的: 从每一个点向上走,知道遇到障碍点或顶边界。 那么我们可以轻松地得到悬线的一些性质: 1. 每一个点对应一根悬线 2. 每一根悬线都对应了一个高度等于悬线高度,宽度大于0的矩形 所以悬线法的步骤就是: 找出每一个点对应的悬线的高 阅读全文
posted @ 2019-10-04 17:15 wzx_believer 阅读(111) 评论(0) 推荐(0) 编辑
摘要:动态规划专题一 https://www.luogu.org/problem/P2577 分析: 首先本题不是 贪心排序 就是 dp 再数据范围 using namespace std; struct lsg{int x,y;}a[1000]; int n,f[400001],sum,ans,b[10 阅读全文
posted @ 2019-10-04 16:32 wzx_believer 阅读(129) 评论(0) 推荐(0) 编辑
摘要:noip水题系列 https://www.luogu.org/problem/P1027 题目明显就是一个多组数据(也就 include include include using namespace std; struct data { int x,y; int city; }; const in 阅读全文
posted @ 2019-10-04 11:16 wzx_believer 阅读(120) 评论(0) 推荐(0) 编辑
摘要:字符串训练三 https://www.luogu.org/problem/P4551 题目描述: 给定一棵n个点的带权树,结点下标从1开始到N。寻找树中找两个结点,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或 分析: 嗯?这不是个图论题吗?什么狗屁字符串? 首先看到 异 阅读全文
posted @ 2019-10-04 08:14 wzx_believer 阅读(130) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示